当前位置:文档之家› 数据库系统毕业设计—订单销售数据库管理系统

数据库系统毕业设计—订单销售数据库管理系统

长沙学院课程设计说明书题目销售订单数据库管理系统系(部) __________________ 起止日期 _______________________课程设计任务书设计题目:销售订单数据库管理系统1、某销售商的订单系统需要如下信息:每个供应商包含供应商编号、名称、地址、联系电话等信息。

每种产品包含产品号、产品名称、产品类别等信息。

每个供应商可供应多种产品,每种产品可由多个供应商供应。

订单包括订单号等信息。

一个客户可下多个订单,每个订单只能由一个客户下。

一个雇员可管理多个订单,每个订单只能由一个雇员管理。

一个订单订购多种产品,每种产品可在不同的订单中订购2、系统功能基本要求:按照一定条件查询、统计订单信息,例如订单量最多的客户或者产品。

能够模拟完成一个订单交易全过程。

设计工作量:40课时工作计划:长沙学院课程设计鉴定表目录一、引言 (5)1.1编写目的 (5)1.2参考资料 (5)二、需求规约 (6)2.1业务描述 (6)2.2需求分析 (6)三、数据库环境说明 (7)四、数据库的命名规则 (7)4.1数据库对象命名规则 (7)4.2数据项编码规则 (7)五、逻辑设计 (8)5.1ER图 (8)5.2关系模型 (8)六、物理设计 (9)6.1表汇总 (9)6.2表[1]:[S UPPLIERS表](供应商表) (9)6.3表[2]:[P RODUCT表](产品表) (10)6.4表[3]:[SP表](供应商产品供应表) (10)6.5表[4]:[O RDERS表](订单表) (11)6.6表[5]:[PO表](产品订购表) (12)6.7表[6]:[E MPLOYEE表](雇员表) (12)6.8表[7]:[C USTOMER表](客户表) (13)6.9视图的设计 (13)6.10存储过程的设计 (14)6.11触发器的设计 (18)6.12函数的设计 (18)七、安全性设计 (19)7.1防止用户直接操作数据库的方法 (19)7.1.1用户标识和鉴定 (19)7.1.2存取控制 (19)7.1.3数据加密 (19)7.2用户帐号密码的加密方法 (19)7.3角色与权限 (19)八、数据库管理与维护说明 (20)九、总结 (21)一、引言1.1 编写目的本文档是销售订单数据库管理系统设计文档的组成部分,编写数据库设计文档的目的是:明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发,本文档遵循《SQL SERVER 2008数据库设计和开发规范》。

本文档的读者对象是需求人员、系统设计人员、开发人员、测试人员。

设计该数据库的目的是为了能够模拟完成一次订单销售流程。

1.2 参考资料二、需求规约2.1 业务描述销售订单数据库管理系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的销售订单数据库管理系统,实现订单销售的自动化的计算机系统,为商品供应商提供准确、精细、迅速的订单销售信息。

具体功能为供应商供应产品、请假的申请,出差的记录输入到系统中,系统将为员工记录这些信息。

2.2 需求分析本销售订单数据库管理系统,能够完成插入产品,供应记录,订购记录等等这些信息,以能够模拟完成一次订单销售的过程,此外,在一个完整的订单销售流程中,本数据库系统还提供查询某供应商供应的产品信息,询某产品信息,查询某客户信息,查询某订单订购的产品的信息。

对于客户而言,还提供了查询订单最多的客户的功能。

总的来说,本数据库系统能够达到模拟完成一次订单销售流程的要求。

在本销售订单数据库管理系统中,有一些限制性条件,比如一个客户可以下多个订单,但一个订单只能由一个客户下,一个订单可以订购多种产品,每种产品可被不同订单订购等等,这些限制条件的加入能够使本数据库管理系统的功能更加完善,能够满足更高的要求。

三、数据库环境说明四、数据库的命名规则4.1 数据库对象命名规则4.2 数据项编码规则五、逻辑设计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视图,屏蔽工资属性asfrom Employeewith check option;2、建立一张产品信息的视图目的:屏蔽产品的出厂价信息。

功能:能够向管理员提供简明,直接的产品信息展示。

意义:有利于数据库安全的维护,防止任意修改数据库中的产品信息。

create view view_Producte--建立Product视图,屏蔽出厂价属性asselect Pnumber,Pname,Pcategory,Pprice,Pinventoryfrom view_Productewith check option;6.10 存储过程的设计1、查询订单数量功能:查询订单的数量目的:存储查询订单数量的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_SearchOrdersNum --查询订单的存储过程asselect COUNT(*) '订单总数'--查询订单数量from Orders;2、查询客户的订单信息功能:查询客户的订单信息目的:存储查询客户的订单信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_CustomerOrders--查询某个客户订单信息asselect Onumber,Odate,Enumberfrom Orders,Customer3、查询订单最多的客户信息功能:查询订单最多的客户信息目的:存储查询订单最多的客户信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_SearchMaxOrders--查询订单最多的客户信息asfrom Orders,Customergroup by Cnumber having MAX(Cnumber);4、查询客户信息功能:查询客户信息目的:存储查询客户信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_SearchCustomer--查询某客户信息asselect *from Customer5、查询雇员信息功能:查询雇员信息目的:存储查询雇员信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_SearchEmployee--查询某雇员信息asselect *from Employee6、查询某订单对应的产品信息功能:查询某订单对应的产品信息目的:存储查询某订单对应的产品信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_SearchPO--查询某订单的产品信息asselect Onumber,Product.Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventory from Product,PO7、查询产品信息功能:查询产品信息目的:存储查询产品信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_SearchProduct--查询某产品信息asselect Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventory,Snumberfrom Product,SP8、插入供应商信息功能:插入供应商信息目的:存储插入供应商信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_InsertSuppliers--插入供应商信息asprint'该供应商记录已经存在'ELSE9、插入订单信息功能:插入订单信息目的:存储插入订单信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_InsertOrders--插入订单表asprint'该订单记录已经存在'ELSEinsert into Orders(Onumber,Odate,Enumber,Cnumber)10、插入产品订购信息功能:插入产品订购信息目的:存储插入产品订购信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_InsertPO--插入产品订购表asprint'该产品订购订单记录已经存在'print'该产品库存不足,无法订购'ELSEinsert into PO(Onumber,Pnumber,Quantity)11、插入产品信息功能:插入产品信息目的:存储产品的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_InsertProduct --插入产品信息asupdate ProductELSEinsert into Product(Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventory)12、完整的订单销售流程功能:插入订单信息和订购信息以及修改产品库存等信息目的:存储从客户下单到订单订购产品的流程的操作意义:直观展示订单销售流程,使用户能够更简明的执行完整的订单销售流程create procedure procedure_Order --完整的订单销售流程asprint'该订单记录已存在,不能重复下订单'ELSEinsert into Orders(Onumber,Odate,Enumber,Cnumber)print'该产品订购记录已存在,不能重复订购'ELSEprint'产品库存量不足,不能订购'ELSEinsert into PO(Onumber,Pnumber,Quantity)6.11 触发器的设计1、建立触发器insert_PO:当插入了一条新的产品订购信息后,则激活该触发器,新的产品库存量等于旧库存量减去产品订购的数量。

相关主题