




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、五、逻辑设计5.1 ER图订单编订单编订单下发雇员编管理客户编雇员编联系电话5.2 关系模型供应商(供应商编号,名称,地址,联系电话)产品(产品编号,产品名称,产品类别,售价,出厂价,存货量)供应(供应商编号产品缰号_)订购(产品编号,订单编号,数量)客户(客户编号,姓名、通信地址,电话)订单(订单编号,日期,客户编号,雇员编号)雇员(雇员编号,姓名,联系电话,工资)注:有下划线的表示该属性为主码。六、物理设计6.1表汇总表名功能说明表Suppliers供应商表,存储供应商的编号等信息表Product产品表,存储产品的编号、数量等信息表SP|供应商产品供应表,存储供应商所供应的产品对应信息表O
2、rders订单表,存储订单的编号、日期等信息表PO产品订购表,存储产品订购的对应信息表Employee雇员表,存储雇员的编号等信息表Customer客户表,存储客户的编号等指息6.2表1:Suppliers表(供应商表)表名Suppliers(供应商表)数据库用户Sa主键Snumber其他排序字段无索引字段无序号字段名称数据类型(精度范围)允许为空Y/N好Y/N区别度默认值约束条件/说明1Snumberchar(12)NY高无f主键/供应商号2Snamechar(30)NN中无供应商名称3Saddresschar(30)YN中无供应商地址4StelnumintYN高无供应商电话sql脚本-建立
3、供应商表createtableSuppliers-供应商去(Snumberchar(12)primarykey,-供应商编号,主码Snamechar(30)notnull,-姓名Saddresschar(30),-地址Stelnumint-电话6.3表2:Product表(产品表)表名Product(广品表)数据库用户sa主键Pnumber其他排序字段无索引字段无序号字段名称数据类型(精度范围)允许为空Y/N好Y/N区别度默认值约束条件/说明1Pnumberchar(12)NY高无主键/产品编号2Pnamechar(30)NY高无产品名称3Pcategorychar(15)YN低无|产品类别4
4、PpriceintYN中无产品售价5Pex_pricerealYN中无产品出厂价6PinventoryrealYN中无产品库存量sql脚本-建立产品表createtableProduct-广品表(Pnumberchar(12)primarykey,-广品编勺,主码Pnamechar(30)notnull,-产品名称Pcategorychar(15),-产品类别-Ppriceint,-售价-Pex_pricereal,-出厂价-Pinventoryreal-存货至-);6.4 表3:SP表(供应商产品供应表)sp(供应商产品供应表)检据库用户sa主键Snumber,Pnumber其他排序字段|无
5、索引字段无序号字段名称数据类型(精度范围)允许为空Y/N好Y/N区别度默认值约束条件/说明1Snumberchar(12)NY高无丰健/供Z/.君,号12.Pnumberchar(12)一N.Y一高.无丰健/产品编号sql脚本-建立供应商产品供应表createtableSP-供应商供应产品表-(Snumberchar(12),-供外码Pnumberchar(12),-广品编勺、外码primarykey(Snumber,Pnumber),-联合主码foreignkey(Pnumber)referencesProduct(Pnumber)ondeletecascadeonupdatecascade
6、,foreignkey(Snumber)referencesSuppliers(Snumber)ondeletecascadeonupdatecascade);6.5 表4:Orders表(订单表)表名Orders(订单表)数据库用户saOnumber其他排序字段无索引字段无序号字段名称数据类型(精度范围)允许为空Y/N好Y/N区别度默认值约束条件/说明1Onumberchar(12)NY高无主键/订单号一2一OdatedateNN,低无订单日期3Enumberchar(12)YN,中1无雇吊号4Cnumberchar(12)NN高无客户号sql脚本-建立订单表createtableOrder
7、s-订单表(Onumberchar(12)primarykey,-编勺,主码Odatedate,-日期Enumberchar(12),-设置雇员号,外码Cnumberchar(12),-设置客户号,外码foreignkey(Cnumber)referencesCustomer(Cnumber)ondeletecascadeonupdatecascade,foreignkey(Enumber)referencesEmployee(Enumber)ondeletecascadeonupdatecascade6.6 表5:PO表(产品订购表)表名PO(产品订购表)数据库用户sa主键Pnumber,O
8、number其他排序字段无索引字段无序号字段名称数据类型(精度范围)允许为空Y/N好Y/N区别度默认值约束条件/说明1Pnumberchar(12)NY5_-Wj无主键/产品号2Onumberchar(12)NY高无主键/订单号3QuantityintNN低无订购产品数量sql脚本-建立产品订购表createtablePO-产品订购表(Pnumberchar(12),-广品Onumberchar(12),-订单编勺Quantityint,-产品数量primarykey(Pnumber,Onumber),-联合主码foreignkey(Pnumber)referencesProduct(Pnum
9、ber)-外码-ondeletecascadeonupdatecascade,foreignkey(Onumber)referencesOrders(Onumber)-外码ondeletecascadeonupdatecascade);6.7 表6:Employee表(雇员表)W8Employee(雇员表)数据库用户sa主键Enumber其他排序字段无索引字段:无.序号字段名称数据类型(精度范围)允许为空Y/N好Y/N区别度默认值约束条件/说明1Enumberchar(12)NY高无主键/雇员号2Enamechar(10)NN中雇吊名称3EtelnumintNY高无雇员电话4Ewagesrea
10、lNN低无雇员薪资sql脚本-建立雇员表createtableEmployee-雇员表(Enumberchar(12)primarykey,-编勺Etelnumint,-电话Ewagesreal-工资);6.8 表7:Customer表(客户表)Customer(客户表)数据库用户sa主键Cnumber其他排序字段无索引字段无序号字段名称数据类型(精度范围)允许为空Y/NY/N区别度默认值约束条件/说明1Cnumberchar(12)NY高无主键/客户表2Cnamechar(10)NN中无客户名称3Caddresschar(30)YN中无客户地址4CtelnumintYY高无客户电话sql脚本
11、-建立客户表createtableCustomer-客户表(Cnumberchar(12)primarykey,-编勺Cnamechar(10),-姓名Caddresschar(30),-地址Ctelnumint-电话);6.9 视图的设计1、建立一张雇员信息的视图目的:屏蔽雇员的工资信息。功能:能够向管理员提供简明,直接的雇员信息展示。意义:有利于数据库安全的维护,防止任意修改数据库中的雇员信息。createviewview_Employee-建立Employee视图,屏蔽工资属性asselectEnumber,Ename,EtelnumfromEmployeewithcheckoption
12、;2、建立一张产品信息的视图目的:屏蔽产品的出厂价信息。功能:能够向管理员提供简明,直接的产品信息展示。意义:有利于数据库安全的维护,防止任意修改数据库中的产品信息。createviewview_Producte-建立Product视图,屏蔽出厂价属性asselectPnumber,Pname,Pcategory,Pprice,Pinventoryfromview_Productewithcheckoption;6.10存储过程的设计1、查询订单数量功能:查询订单的数量目的:存储查询订单数量的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤createprocedureproc
13、edure_SearchOrdersNum-查询订单的存储过程AsselectCOUNT(*)订单总数-查询订单数量fromOrders;2、查询客户的订单信息功能:查询客户的订单信息目的:存储查询客户的订单信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤createprocedureprocedure_CustomerOrders-查询某个客户订单信息Cnamechar(10)asselectOnumber,Odate,EnumberfromOrders,CustomerwhereCnamelikeCnameandCustomer.CnumberlikeOrders.C
14、number;3、查询订单最多的客户信息功能:查询订单最多的客户信息目的:存储查询订单最多的客户信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤createprocedureprocedure_SearchMaxOrders-查询订单最多的客户信息asselectCnumber,Cname,Caddress,CtelnumfromOrders,CustomerwhereOrders.Cnunmer=Customer.CnunmergroupbyCnumberhavingMAX(Cnumber);4、查询客户信息功能:查询客户信息目的:存储查询客户信息的操作意义:下次重复同
15、样的动作时,可直接执行存储过程,简化操作步骤createprocedureprocedure_SearchCustomer-查询某客户信息Cnamechar(10)asselect*fromCustomerwhereCname=Cname;5、查询雇员信息功能:查询雇员信息目的:存储查询雇员信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤createprocedureprocedure_SearchEmployee-查询某雇员信息Enamechar(10)asselect*fromEmployeewhereEname=Ename;6、查询某订单对应的产品信息功能:查询某订
16、单对应的产品信息目的:存储查询某订单对应的产品信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤createprocedureprocedure_SearchPO-查询某订单的产品信息Onumberchar(12)asselectOnumber,Product.Pnumber,Pname,Pcategory,Pprice,Pex_price,PinventoryfromProduct,POwhereOnumber=OnumberandPO.Pnumber=Product.Pnumber;7、查询产品信息功能:查询产品信息目的:存储查询产品信息的操作意义:下次重复同样的动作时
17、,可直接执行存储过程,简化操作步骤createprocedureprocedure_SearchProduct-查询某产品信息Pnumberchar(12)asselectPnumber,Pname,Pcategory,Pprice,Pex_price,Pinventory,SnumberfromProduct,SPwherePnumber=PnumberandSP.Pnumber=Pnumber;8、插入供应商信息功能:插入供应商信息目的:存储插入供应商信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤createprocedureprocedure_InsertSupp
18、liers-插入供应商信息Snumberchar(12),Snamechar(30),Saddresschar(30),StelnumintasIFEXISTS(SELECT*FROMSuppliersWHERESnumber=Snumber)print该供应商记录已经存在ELSEinsertintoSuppliers(Snumber,Sname,Saddress,Stelnum)values(Snumber,Sname,Saddress,Stelnum);9、插入订单信息功能:插入订单信息目的:存储插入订单信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤createpr
19、ocedureprocedure_InsertOrders-插入订单表Onumberchar(12),Odatedate,Enumberchar(12),Cnumberchar(12)asIFEXISTS(SELECT*FROMOrdersWHEREOnumber=Onumber)print该订单记录已经存在ELSEinsertintoOrders(Onumber,Odate,Enumber,Cnumber)values(Onumber,Odate,Enumber,Cnumber);10、插入产品订购信息功能:插入产品订购信息目的:存储插入产品订购信息的操作意义:下次重复同样的动作时,可直接执
20、行存储过程,简化操作步骤createprocedureprocedure_InsertPO-插入产品订购表Pnumberchar(12),Onumberchar(12),QuantityintasIFEXISTS(SELECT*FROMPOWHEREPnumber=PnumberandOnumber=Onumber)-当该订单已经订购改产品时不予重复订购print该产品订购订单记录已经存在IFEXISTS(SELECT*FROMProductWHEREPinventoryQuantity)-当库存量不足时不予订购print该产品库存不足,无法订购ELSEinsertintoPO(Onumber
21、,Pnumber,Quantity)values(Onumber,Pnumber,Quantity);11、插入产品信息功能:插入产品信息目的:存储产品的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤createprocedureprocedure_InsertProduct-插入产品信息Pnumberchar(12),Pnamechar(30),Pcategorychar(15),Ppriceint,Pex_pricereal,PinventoryrealasIFEXISTS(SELECT*FROMProductWHEREPnumber=Pnumber)-若有相同产品,只更
22、新库存量updateProductsetPinventory=Pinventory+PinventoryELSEinsertintoProduct(Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventory)values(Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventory);12、完整的订单销售流程功能:插入订单信息和订购信息以及修改产品库存等信息目的:存储从客户下单到订单订购产品的流程的操作意义:直观展示订单销售流程,使用户能够更简明的执行完整的订单销售流程createprocedureprocedure_Order-完整的订单销售流程Onumberchar(12),Odatedate,Enumberchar(12),Cnumberchar(12)Pnumberchar(12),Onumberchar(12),Quan
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度桥梁工程监理服务合同
- 二零二五年度汽车行业简易劳动合同范本
- 二零二五年度农村房屋及附属设施整体转让合同
- 二零二五年度电力施工进度管理及协调协议
- 二零二五年度宾馆布草洗涤、熨烫及配送一体化服务合同
- 2025年杭州道路货物运输驾驶员考试
- 发言稿不考虑格式
- 2024标准电子合同
- 2025年黑龙江资格证模拟考试
- 高中家长会 疫情下亲子冲突的处理方法课件-高中家长会
- 《CRISPR-Cas9及基因技术》课件
- 《急性冠状动脉综合征》课件
- 【博观研究院】2025年跨境进口保健品市场分析报告
- 游戏直播平台推广合作协议
- 《高科技服装与面料》课件
- 《马克思生平故事》课件
- 2024-2025学年四川省成都市高一上学期期末教学质量监测英语试题(解析版)
- HRBP工作总结与计划
- 八大危险作业安全培训考试试题及答案
- 2025中国船舶集团限公司招聘高频重点模拟试卷提升(共500题附带答案详解)
- 土壤侵蚀与碳汇-深度研究
评论
0/150
提交评论