订单销售数据库设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
五、逻辑设计
5.1 ER图
5.2 关系模型
供应商(供应商编号,名称,地址,联系电话)
产品(产品编号,产品名称,产品类别,售价,出厂价,存货量) 供应(供应商编号,产品编号)
订购(产品编号,订单编号,数量)
客户(客户编号,,通信地址,)
订单(订单编号,日期,客户编号,雇员编号)
雇员(雇员编号,,联系电话,工资)
注:有下划线的表示该属性为主码。
六、物理设计
6.1 表汇总
6.2 表[1]:[ Suppliers表](供应商表)
6.3 表[2]:[ Product表](产品表)
6.4 表[3]:[ SP表](供应商产品供应表)
6.5 表[4]:[ Orders表](订单表)
6.6 表[5]:[ PO表](产品订购表)
6.7 表[6]:[ Employee表](雇员表)
6.8 表[7]:[ Customer表](客户表)
6.9 视图的设计
1、建立一张雇员信息的视图
目的:屏蔽雇员的工资信息。
功能:能够向管理员提供简明,直接的雇员信息展示。
意义:有利于数据库安全的维护,防止任意修改数据库中的雇员信息。create view view_Employee--建立Employee视图,屏蔽工资属性
as
select Enumber,Ename,Etelnum
from Employee
with check option;
2、建立一张产品信息的视图
目的:屏蔽产品的出厂价信息。
功能:能够向管理员提供简明,直接的产品信息展示。
意义:有利于数据库安全的维护,防止任意修改数据库中的产品信息。
create view view_Producte--建立Product视图,屏蔽出厂价属性
as
select Pnumber,Pname,Pcategory,Pprice,Pinventory
from view_Producte
with check option;
6.10 存储过程的设计
1、查询订单数量
功能:查询订单的数量目的:存储查询订单数量的操作
意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤
create procedure procedure_SearchOrdersNum --查询订单的存储过程
Asselect COUNT(*) '订单总数'--查询订单数量from Orders;
2、查询客户的订单信息
功能:查询客户的订单信息目的:存储查询客户的订单信息的操作
意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤
create procedure procedure_CustomerOrders--查询某个客户订单信息
Cname char(10) asselect Onumber,Odate,Enumber
from Orders,Customer
where Cname like Cname and umber like umber;
3、查询订单最多的客户信息
功能:查询订单最多的客户信息目的:存储查询订单最多的客户信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤
create procedure procedure_SearchMaxOrders--查询订单最多的客户信息
as
select Cnumber,Cname,Caddress,Ctelnum
from Orders,Customer
where unmer=unmer
group by Cnumber having MAX(Cnumber);
4、查询客户信息
功能:查询客户信息目的:存储查询客户信息的操作
意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤
create procedure procedure_SearchCustomer--查询某客户信息
Cname char(10)
as
select *
from Customer
where Cname=Cname;
5、查询雇员信息
功能:查询雇员信息目的:存储查询雇员信息的操作
意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤
create procedure procedure_SearchEmployee--查询某雇员信息
Ename char(10)
as
select *
from Employee
where Ename=Ename;
6、查询某订单对应的产品信息
功能:查询某订单对应的产品信息目的:存储查询某订单对应的产品信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤
create procedure procedure_SearchPO--查询某订单的产品信息
Onumber char(12)
as
select Onumber,Product.Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventory
from Product,PO
where Onumber=Onumber and PO.Pnumber=Product.Pnumber;
7、查询产品信息
功能:查询产品信息目的:存储查询产品信息的操作
意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤
create procedure procedure_SearchProduct--查询某产品信息
Pnumber char(12)
as
select Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventory,Snumber
from Product,SP
where Pnumber=Pnumber and SP.Pnumber=Pnumber;
8、插入供应商信息
功能:插入供应商信息目的:存储插入供应商信息的操作
意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤
create procedure procedure_InsertSuppliers--插入供应商信息
Snumber char(12),Sname char(30),Saddress char(30),Stelnum int
as
IF EXISTS(SELECT * FROM Suppliers WHERE Snumber=Snumber)
print'该供应商记录已经存在'
ELSE
insert into Suppliers(Snumber,Sname,Saddress,Stelnum)
values(Snumber,Sname,Saddress,Stelnum);