订单销售数据库设计_第1页
订单销售数据库设计_第2页
订单销售数据库设计_第3页
订单销售数据库设计_第4页
订单销售数据库设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 五、逻辑设计 5.1 ER 图 产品类型产品产品编号产品名称 地址 供应商编号 订单编号 订单编号 员编号 通信地址 雇员 存货量 联系电话 客户编号 日期 姓名 管理 客户编号 电话 订购 数量 产品编号 订单客户下发 雇 雇员编号 联系电话 工资姓名 5.2 关系模型 供应商 ( 供应商编号,名称,地址,联系电话 ) 产品 (产品编号,产品名称,产品类别,售价,出厂价,存货量 ) ) ( 供应商编号,产品编号供应 )订购 (产品编号,订单编号,数量 客户编号,姓名,通信地址,电话客户 () 订单编号,日期,客户编号,雇员编号(订单 ) 雇员编号,姓名,联系电话,工资 (雇员 ) 注:有下

2、划线的表示该属性为主码。 六、物理设计 6.1表汇总 表名功能说明 表Suppliers供应商表,存储供应商的编号等信息Product 表产品表,存储产品的编号、数量等信息SP表供应商产品供 应表,存储供应商所供应的产品对应信息Orders表订单表,存 储订单的编号、日期等信息 PO 表产品订购表,存储产品订 购的对应信息 Employee 表雇员表,存储雇员的编号等信息 Customer 表客户表,存储客户的编号等信息 6.2 表 1: Suppliers 表 ( 供应商表 ) Suppliers (供应商表)表名 Sa数据库用户 Snu mber 主键 无其他排序字段 无索引字段 约束条件

3、 / 说明默认值区别度序号数据类型(精字段名称允许为唯 Y/N 空度范围) Y/N 主键 / 供应商号无高 YNSnumberchar(12)1 供应商名称中无 Nchar(30)NSname2 供应商地址无中 Nchar(30)YSaddress3 供应商电话无高 NYintStelnum 4 建立供应商表 - 脚本 sql 供应商表 create table Suppliers - 供应商编号,主码 (Snumber char(12) primary key,- 姓名 Sname char(30) not null,- 地址 Saddress char(30),- 电话 Stelnum i

4、nt - ); 6.3 表 2: Product 表 ( 产品表 ) 表名 (产品表)Product sa数据库用户 Pnu mber 主键 无其他排序字段 无索引字段 约束条件/说明默认值唯一区别度字段名称序号数据类型(精度允许 为空范围)Y/N Y/N 主键 / 产品编号无高 YNPnumberchar(12)1 产品名称无高 YNPnamechar(30)2 产品类别低无 NYchar(15)Pcategory3 产品售价中无 NintPpriceY 4 产品出厂价中无 NPex_priceYreal 5 产品库存量无中 NYPinventoryreal 6 建立产品表 - 脚本 sql

5、 产品表 create table Product- 产品编号,主码(Pnu mber char(12) primary key,- 产品名称 Pname char(30) not null, - -产品类别 Pcategory char(15), - 售价 -Pprice int, - 出厂价 -Pex_price real, - 存货量 -Pinventory real - ); 6.4 表 3: SP 表( 供应商产品供应 表名SP (供应商产品供应表) sa数据库用户 Snu mber,P nu mber 主键 无其他排序字段 无索引字段 约束条件 / 说明默认值允许字段名称数据类型(

6、精度序号唯一区别度 为空范围) Y/N Y/N 主键 / 供应商号无高 YNcha r(12)S n u m be r 1 主键 / 产品编号无高 YNchar(12)Pnumber2 -建立供应商产品供应表脚本sql 供应商供应产品表-create table SP- 供应商编号,外码(Snumber char(12),- 产品编号,外码 Pn umber char(12),- primary key(S nu mber,P nu mber),-联合主码 foreig n key (Pnu mber) refere nces Product(P nu mber) on delete casc

7、ade on update cascade, foreign key (Snumber) references Suppliers(Snumber) on delete cascade on update cascade ); 6.5 表 4: Orders 表 ( 订单表 ) 表名 (订单表) Orders sa数据库用户 主键 Onumber 无其他排序字段 无索引字段 约束条件 / 说明默认值唯一数据类型(精度区别度序号字段名称允许 为空范围) Y/N Y/N 主键 / 订单号无高 Ychar(12)OnumberN1 订单日期无低 NNOdatedate2 雇员号无中 Nchar(12

8、)YEnumber 3 客户号高无 Nchar(12)CnumberN4 建立订单表 - 脚本 sql 订单表 create table Orders- 编号,主码 (Onumber char(12)primary key, - 日期 Odate date,- 设置雇员号 , 外码 Enumber char(12),- 设置客户号 , 外码 Cnumber char(12),- foreign key (Cnumber) references Customer(Cnumber) on delete cascadeon update cascade, foreign key (Enumber)

9、references Employee(Enumber) on delete cascade on update cascade ); 6.6 表 5: PO 表 ( 产品订购表 ) 表名 PO (产品订购表) sa数据库用户 Pnu mber,0 nu mber 主键 无其他排序字段 无索引字段 约束条件/说明默认值区别度数据类型(精度允许字段名称序号唯 为空范围)Y/N Y/N 主键 / 产品号无高 YNPnumberchar(12) 1 主键 / 订单号无高 YNchar(12)Onumber 2 订购产品数量无低 NQuantityNint 3 建立产品订购表 - 脚 本 sql 产品

10、订购表 create table PO-产品编号 (Pnumber char(12),-订单编号 Onumber char(12),-Quantity int, - 产 品数量primary key(Pnumber,Onumber),- 联合主码 foreig n key (Pnu mber) refere nces Product(P nu mber夕卜码 - on delete cascade on update cascade, foreign key (Onumber) references Orders(Onumber)- 外码 on delete cascadeon update

11、cascade ); 6.7 表 6: Employee 表 (雇员表 ) 表名Employee (雇员表) sa数据库用户 Enumber 主键 无其他排序字段 无索引字段 约束条件/说明默认值唯一区别度允许序号数据类型(精度字段名称 为空范围)Y/N Y /N 主键/雇员号无高YNchar(12)Enumber 1 雇员名称中无 Nchar(10)EnameN2 雇员电话高无YEteInumintN 3 雇员薪资低无NEwagesrealN4 -建立雇员表脚本sql 雇员表 create table Employee- 编号 (Enumber char(12) primary key,-

12、Etelnum int, -电话 Ewages real-工资 ); 6.8 表 7: Customer 表 ( 客户表 ) 表名 Customer (客户表) sa数据库用户 Cnumber 主键 无其他排序字段 无索引字段 约束条件 / 说明默认值允许数据类型(精度唯一区别度序号字段名称 为空范围) Y/N Y/N 主键 / 客户表无高 YNCnumberchar(12)1 客户名称中无 NNCnamechar(10)2 客户地址中无 NYchar(30)Caddress3 客户电话无高 YYCtelnumint 4 建立客户表 - 脚本 sql 客户表 create table Cust

13、ome- 编号(Cnu mber char(12) primary key,- 姓名 Cname char(10),- 地址 Caddress char(30)- 电话 CteInum int- ); 6.9视图的设计 1、建立一张雇员信息的视图 目的:屏蔽雇员的工资信息。 功能:能够向管理员提供简明,直接的雇员信息展示。 意义:有利于数据库安全的维护,防止任意修改数据库中的雇 员信息。create view view_Employee-建立 Employee视图,屏蔽 工资属性 as select Enu mber,E name,Etel num from Employee with che

14、ck option; 2、建立一张产品信息的视图 目的:屏蔽产品的出厂价信息。 功能:能够向管理员提供简明, 直接的产品信息展示。 意义: 有利于数据库安全的维护, 防止任意修改数据库中的产品 信息。 create view view_Producte- 建立 Product 视图,屏蔽出厂 价属性 as select Pnumber,Pname,Pcategory,Pprice,Pinventory from view_Producte with check option; 6.10 存储过程的设计 1、查询订单数量 功能: 查询订单的数量目的: 存储查询订单数 量的操作 意义:下次重复同样

15、的动作时,可直接执行存储过程,简化操作 步骤 create procedure procedure_SearchOrdersNum- 查询订单的 存储过程As select COUNT(*) from Orders; -查询订单数量订 单总数 2、查询客户的订单信息功能:查询客户的订单信息目的:存储查 询客户的订单信息的操作 意义:下次重复同样的动作时,可直接执行存储过程,简化操作 步骤 create procedure procedure_CustomerOrder-s- 查询某个客户 订单信息 Cname char(10) as select Onumber,Odate,Enumberfr

16、om Orders,Customer where Cname like Cname and Customer.Cnumber like Orders.Cnumber; 、查询订单最多的客户信息 3 目的:存储查询订单最多的客户信 息的操作功能:查询订单最多的客户信息 意义:下次重复同样的动作时,可直接执行存储过程,简化操作 步骤 create procedure procedure_SearchMaxOrder 4、查询客户信息 功能:查询客户信息目的:存储查询客户信息 的操作 意义:下次重复同样的动作时,可直接执行存储过程,简化操 作步骤 create procedure procedure

17、_SearchCustomer查询某客户 信息 Cn ame char(10) as select * from Customer where Cn ame=C name; 5、查询雇员信息 功能:查询雇员信息目的:存储查询雇员信息 的操作 步骤 create procedure procedure_SearchEmployee查询某雇员信 息 Ename char(10) as select * from Employee where Ename=Ename; 6、查询某订单对应的产品信息 功能:查询某订单对应的产品信息目的: 存储查询某订单对应的产品 信息的操作 意义:下次重复同样的动作时

18、,可直接执行存储过程,简化操 作步骤 create procedure procedure_SearchPO-查询某订单的产品 信息 Onumber char(12) as select Onumber,Product.Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinve ntory from Product,PO where Onumber=Onumber and PO.Pnumber=Product.Pnumber; 、查询产品信息 7 目的:存储查询产品信息的操作功能:查询 产品信息 意义:下次重复同样的动作时,可直接执行存储过程,简化操作 步骤

19、create procedure procedure_SearchProduc-t- 查询某产品信息 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_Inser

20、tSuppliers- 插入供应商信息 Snumber char(12),Sname char(30),Saddress char(30),Stelnum int as IF EXISTS(SELECT * FROM Suppliers WHERE Snumber=Snumber) 该供应商记录已经存在 print ELSE in sert into Suppliers(S nu mber,S name,Saddress,Stel num) values(S nu mber,S name,Saddress,Stel nu m); 9、插入订单信息 功能:插入订单信息目的:存储插入订单信息的操作

21、 意义:下次重复同样的动作时,可直接执行存储过程,简化操 作步骤 create procedure procedurensertOrders-插入订单表 0n umber char(12),Odate date,E number char(12),C number char(12) as IF EXISTS(SELECT * FROM Orders WHERE Onu mber=Onu mber) print该订单记录已经存在 ELSE in sert into Orders (Onu mber,Odate,E nu mber,C nu mber) values( Onu mber,Odate

22、,E nu mber,C nu mber); 10、 插入产品订购信息功能:插入产品订购信息目的:存储插 入产品订购信息的操作 意义:下次重复同样的动作时,可直接执行存储过程,简化操作 步骤 create procedure procedure_InsertPO-插入产品订购表 Pnumber char(12),Onumber char(12),Quantity int as 当该订单已经订购 IF EXISTS(SELECT * FROM PO WHERE Pnumber=Pnumber and Onumber=Onumbe-r-) 改产品时不予 重复订购 该产品订购订单记录已经存在 pri

23、nt IF EXISTS(SELECT * FROM Product WHERE PinventoryQuantity)-当库存量不足时不予订购 print 该产品库存不足,无法订购 ELSE insert into PO(Onumber,Pnumber,Quantity) values(Onumber,Pnumber,Quantity); 11、插入产品信息 功能:插入产品信息目的:存储产品的操作 意义:下次重复同样的动作时,可直接执行存储过程,简化操 作步骤 create procedure procedure_InsertProduct- 插入产品信息 char(15),Ppricein

24、t,Pex_pricePnumberchar(12),Pnamechar( 30),Pcategory real,Pinventory real as IF EXISTS(SELECT * FROM Product WHERE Pn umber=P nu mbe若有相同产品,只更新库存量 update Product set Pinventory=Pinventory+Pinventory ELSE in sert into Product(P nu mber,P name,Pcategory,Pprice,Pex_price,Pi nven tory) values(P nu mber,P name,Pcategory,Pprice,Pex_price,Pi nven tory); 12、完整的订单销售流程 功能:插入订单信息和订购信息以及 修改产品库存等信息 目的:存储从客户下单到订单订购产品的 流程的操作 意义:直观展示订单销售流程,使用户能够更简明的执行完整的 订单销售流程 create procedure procedure_Order-完整的订单销 售流程 0n umber char(12),Odate date,E number char(12),C number char(12) Pn umber char(12), On umber char(12),

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论