《《销售订单数据库管理系统设计课程论文》》由会员分享,可在线阅读,更多相关《《销售订单数据库管理系统设计课程论文》(24页珍藏版)》请在金锄头文库上搜索。
1、课程设计说明书题目销售订单数据库管理系统系(部)计算机系专业(班级)软件 5 班姓名学号指导教师起止日期课程设计任务书课程名称:课程名称:数据库系统原理课程设计设计题目:设计题目:销售订单数据库管理系统题目:销售订单数据库管理系统1、某销售商的订单系统需要如下信息:每个供应商包含供应商编号、名称、地址、联系 等信息。每种产品包含产品号、产品名称、产品类别等信息。每个供应商可供应多种产品,每种产品可由多个供应商供应。客户包含编号、姓名、通信地址、 等信息。雇员包括编号、姓名、联系 等信息。订单包括订单号等信息。一个客户可下多个订单,每个订单只能由一个客户下。一个雇员可管理多个订单,每个订单只能由
2、一个雇员管理。一个订单订购多种产品,每种产品可在不同的订单中订购2、系统功能基本要求:按照一定条件查询、统计订单信息,例如订单量最多的客户或者产品。能够模拟完成一个订单交易全过程。各阶段具体要求:各阶段具体要求:1、需求分析阶段定义数据项的含义和取值定义目标系统的数据流2、概念结构设计阶段画出实体模型 E-R 图3、逻辑结构设计阶段将实体模型转化为关系模型给出每个关系的主关键字和函数依赖集分析你所设计的关系数据库模式是否属于 3NF4、物理设计阶段确定所有字段的名称、类型、宽度、小数位数及完整性约束 确定数据库及表的名称及其组成 确定索引文件和索引关键字5、数据库安全及维护设计阶段设计一个适合
3、的数据库安全策略(用户身份认证、访问权限、视图)为了实现复杂的数据完整性约束,设计适当的触发器设计一个适合的数据库备份策略6、实施阶段要求所有操作必须在查询分析器中用 SQL 语句或系统存储过程完成。设计工作量:设计工作量:(1)软件设计:完成问题陈述中所提到的所有需求功能。(2)论文:要求撰写不少于 3000 个文字的文档,详细说明各阶段具体要求。工作计划:工作计划:安排两周时间进行课程设计,软件开发步骤如下,第一周完成 14,第二周完成 58,论文同步进行;1)选定题目2)需求分析3)概念结构设计4)逻辑结构设计5)物理设计6)数据库安全及维护设计7)数据库上机实现8)答辩班级日期节次地点
4、内容指导老师15 周周四9-12 节致远楼 1201布置任务、上机调试15 周周五9-12 节致远楼 1201上机调试15 周周六9-12 节致远楼 1201上机调试16 周周一9-12 节致远楼 1401上机调试16 周周二9-12 节致远楼 1401上机调试16 周周三9-12 节致远楼 1401上机调试16 周周四9-12 节致远楼 1201上机调试16 周周五9-12 节致远楼 1201上机调试16 周周六5-8 节致远楼 1404上机调试11 软件 5 班16 周周六9-12 节致远楼 1201答辩曾俊勇注意事项注意事项提交文档提交文档长沙学院课程设计任务书(每学生 1 份)长沙学院
5、课程设计论文(每学生 1 份)长沙学院课程设计鉴定表(每学生 1 份)指导教师签名: 日期: 教研室主任签名: 日期:系主任签名: 日期:长沙学院课程设计鉴定表姓名学号专业软件工程班级设计题目销售订单数据库管理系统指导教师指导教师意见:评定等级: 教师签名: 日期: 答辩小组意见:评定等级:答辩小组长签名:日期:教研室意见:教研室主任签名: 日期: 系(部)意见:系主任签名:日期:说明课程设计成绩分“优秀” 、 “良好” 、 “及格” 、 “不及格”四类;目 录一、引言一、引言 .6编写目的.6参考资料.6二二 需求规约需求规约 .72.1 业务描述.72.2 需求分析.7三、三、数据库环境说
6、明数据库环境说明.8四、四、数据库的命名规则数据库的命名规则.94.1 数据库对象命名规则.94.2 数据项编码规则.9五、五、逻辑设计逻辑设计.105.1 ER 图.105.2 关系模型.11六、六、物理设计物理设计.12表汇总.126.2 表1: ORDER_TABLE表( 订单表).126.3 表2: ACCOMMDATE _RELATION表( 供应关系表).136.4 表3: SEND_FOR表( 订购表) .136.5 表4: SUPPLIER表( 供应商表) .146.6 表5: PRODUCT表( 产品表).146.7 表6: EMPLOYEE表( 雇员表) .156.8 表7
7、: CLIENT表( 客户表).15视图的设计.16存储过程、查询及触发器的设计.16七、安全性设计七、安全性设计 .20防止用户直接操作数据库的方法.207.2 用户帐号密码的加密方法.207.3 角色与权限.20八、数据库管理与维护说明八、数据库管理与维护说明 .20九、测试九、测试 .219.1 查询订单数最多的客户的姓名.219.2 插入产品订购信息.219.3 触发器测试.22十、小结十、小结 .24一、引言1.1 编写目的编写目的此次课程设计是销售订单数据库管理系统。主要是用数据库语言完成按照一定条件查询、统计订单信息,例如订单量最多的客户或者产品。能够模拟完成一个订单交易全过程。
8、还有模仿现实中的销售订单管理和产品存储的一系列过程。销售订单数据库管理系统设计编写数据库设计文档的目的是:明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发。本文档的读者对象是需求人员、系统设计人员、开发人员、测试人员。设计该数据库的目的是为了能够模拟完成一次订单销售流程。为了在未来学生能够更好的适应社会的软件应用和在学校时学习数据库语言的更好巩固,也是想要了解学生在校学习数据库的程度。为了更好的对学生学习和在未来的发展。1.2 参考资料参考资料资料名称作者文件编号、版本数据库系统概论王珊、萨师煊2006 年 5 月第 4版数据库设计入门经典鲍威尔2007 年 3 月第 1版数
9、据库原理克罗恩科2005 年 6 月第 1版二 需求规约2.12.1 业务描述业务描述销售订单数据库管理系统设计需求要满足客户在下订单完成交易全过程,有客户下订单、退订单、插入新的客户、增加新产品和供应商等,还有对产品客户雇员等变动的保存,还有一些对产品、供应商和雇员的某些查询如:查询姓名为“张斌”客户的订单的产品名称。按照一定条件查询、统计订单信息,例如订单量最多的客户或者产品。能够模拟完成一个订单交易全过程。客户在下订单后,能够判断产品库存是否足够,足够则订单成功,库存减少否则显示订单不成功,供应商提供产品。2.22.2 需求分析需求分析销售订单数据库管理系统:(1)能够完成插入产品,供应
10、记录,订购记录等等这些信息;(2)能够模拟完成一次订单销售的过程,此外,在一个完整的订单销售流程中,本数据库系统还提供查询某供应商供应的产品信息,询某产品信息,查询某客户信息,查询某订单订购的产品的信息;(3)对于客户而言,还提供了查询订单最多的客户的功能。总的来说,本数据库系统能够达到模拟完成一次订单销售流程的要求。在本销售订单数据库管理系统中,有一些限制性条件,比如一个客户可以下多个订单,但一个订单只能由一个客户下,一个订单可以订购多种产品,每种产品可被不同订单订购等等,这些限制条件的加入能够使本数据库管理系统的功能更加完善,能够满足更高的要求。三、三、数据库环境说明数据库环境说明完成销售
11、订单数据库管理系统的课程设计需要的数据库环境有以下说明:表 3.1 数据库实例数据库系统数据库部署环境数据库设计工具数据库存放位置说明销售订单数据库管理系统Sql Server 2008Windows XPSql Server存放位置,绝对路径/相对路径 D:Program完整的销售流程数据库实例数据库系统数据库部署环境数据库设计工具数据库存放位置说明销售订单数据库管理系统Sql Server 2008Windows XPSql Server存放位置,绝对路径/相对路径 D:Program查询订单最多的客户、查询价格最高的产品四、四、数据库的命名规则数据库的命名规则4.1 数据库对象命名规则数
12、据库对象命名规则数据库对象命名规则备注表S 功能描述字符串例如:Order_table 订单表视图view_功能描述字符串例如:view_Product 产品视图触发器insert_功能描述字符串例如:insert_PO 更改库存触发器存储过程Procedure_功能描述字符串例如:pro_insertSuppliers 存储过程 4.24.2 数据项编码规则数据项编码规则数据项命名规则数据类型长度范围备注供应商编号自动增长定长整型6 位无产品号自动增长定长整型6 位无订单号自动增长定长整型6 位无雇员号自动增长定长整型6 位无客户号自动增长定长整型6 位无五、五、逻辑设计逻辑设计5.15.1
13、 ERER 图图雇 员供应商产 品客 户户订 单订购下订单管理供应雇员编号商编号姓名联系 号地址姓名通信地址号客户编号号联系 号产品名称产品类别号售价产品编号号库存雇员编号订单编号号客户编号号日期订单编号号数量工资产品编号号产品编号号出厂价号联系 供应商编号号名称供应商编号号地址总量图 5.1 销售订单系统的 ER 图5.25.2 关系模型关系模型供应商(供应商编号,名称,地址,联系 )产品(产品编号,产品名称,产品类别,售价,库存)供应关系(供应商编号,产品编号,总量,出厂价)订购(产品编号,订单编号,数量)客户(客户编号,姓名,通信地址, ,性别)订单(订单编号,客户编号,雇员编号,下单日
14、期)雇员(雇员编号,姓名,联系 ,工资,性别)注:有下划线 的表示该属性为主键,下划波浪线 的为外键六、六、物理设计物理设计本次销售订单系统的物理设计主要是系统的表的设计,本次设计所用到的表有 7 个,有产品表、供应商表、雇员表、客户表、订单表、订购表和供应关系表。下面有对 7 个表的详细列举。表汇总表汇总表名功能说明表 Supplier供应商表,存储供应商的编号等信息表 Product产品表,存储产品的编号、数量等信息表accommdate_relation供应关系表,存储供应商所供应的产品对应信息表 Order_table订单表,存储订单的编号、日期等信息表 send_for订购表,存储产
15、品订购的对应信息表 Employee雇员表,存储雇员的编号等信息表 Client客户表,存储客户的编号等信息6.2 表1: Order_table 表( 订单表)表名 订单表(Order_table)数据库用户Sa主键O_no其他排序字段无索引字段无字段名字段类型类型说明约束检查是否为空字段含义O_noInt整型主键Not null订单编号C_no Int整型外键Not null客户编号E_noInt整型外键Not null雇员编号DateDate日期型下单日期sql脚本-订单表create table Order_table ( O_no int identity(1,1) primary
16、key, C_noint not null, E_no int not null, Data date foreign key (C_no) references Client(C_no), foreign key (E_no) references Employee(E_no), ); 6.3 表2: accommdate _relation 表( 供应关系表)表名 供应关系表(accommdate _relation)数据库用户Sa主键无其他排序字段无索引字段无字段名字段类型类型说明约束检查是否为空字段含义S_noChar(10)字符型外键Not null供应商编号P_noChar(10)字符型外键Not null产品编号P_totalInt整型总量P_ priceFloat(3)浮点型出厂价sql 脚本-供应关系表create table accommdate_relation ( P_noint not null, S_no int not null, P_total Int, P_price Float(3), ); 6.4 表3: send_for 表( 订购表)表名订购表