销售订单数据库管理系统课程设计说明书doc 19页Word下载.docx
《销售订单数据库管理系统课程设计说明书doc 19页Word下载.docx》由会员分享,可在线阅读,更多相关《销售订单数据库管理系统课程设计说明书doc 19页Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
工厂数据库管理系统
1、某工厂需建立一个管理数据库存储以下信息:
工厂包括厂名和厂长名。
一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话。
一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种。
一个车间生产多种产品,产品有产品号、产品名称和价格。
一个车间生产多种零件,一个零件也可能为多个车间制造。
零件有零件号、重量和价格。
一个产品由多种零件组成,一种零件也可装配出多种产品。
产品与零件均存入仓库中。
厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。
按照一定条件查询、统计工人和产品等基本信息,能模拟工厂生产过程中对原材料(零件)、产品检测、库存环节的管理。
题目四:
超市会员管理系统
1、某超市会员管理系统中需要如下信息:
会员:
姓名、性别、年龄、联系方式、初次成为会员的时间等
会员购物信息:
购买商品编号、商品名称、商品所属种类,数量,价格、购物时间等
会员返利信息:
包括会员积分的情况,享受优惠的等级等
按照一定条件查询、统计会员购买信息,例如会员某段时间的消费金额、积分情况、享受优惠的情况,按不同类别查询不同年龄段会员消费偏好,并设置参数定义畅销商品,并可以查询某段时间畅销商品的销售情况,能够模拟完成会员购物过程。
题目五:
销售订单数据库管理系统
1、某销售商的订单系统需要如下信息:
每个供应商包含供应商编号、名称、地址、联系电话等信息。
每种产品包含产品号、产品名称、产品类别等信息。
每个供应商可供应多种产品,每种产品可由多个供应商供应。
客户包含编号、姓名、通信地址、电话等信息。
雇员包括编号、姓名、联系电话等信息。
订单包括订单号等信息。
一个客户可下多个订单,每个订单只能由一个客户下。
一个雇员可管理多个订单,每个订单只能由一个雇员管理。
一个订单订购多种产品,每种产品可在不同的订单中订购
2、系统功能基本要求:
按照一定条件查询、统计订单信息,例如订单量最多的客户或者产品。
能够模拟完成一个订单交易全过程。
各阶段具体要求:
1、需求分析阶段
●定义数据项的含义和取值
●定义目标系统的数据流
2、概念结构设计阶段
●画出实体模型E-R图
3、逻辑结构设计阶段
●将实体模型转化为关系模型
●给出每个关系的主关键字和函数依赖集
●分析你所设计的关系数据库模式是否属于3NF
4、物理设计阶段
●确定所有字段的名称、类型、宽度、小数位数及完整性约束
●确定数据库及表的名称及其组成
●确定索引文件和索引关键字
5、数据库安全及维护设计阶段
●设计一个适合的数据库安全策略(用户身份认证、访问权限、视图)
●为了实现复杂的数据完整性约束,设计适当的触发器
●设计一个适合的数据库备份策略
6、实施阶段
●要求所有操作必须在查询分析器中用SQL语句或系统存储过程完成。
设计工作量:
(1)软件设计:
完成问题陈述中所提到的所有需求功能。
(2)论文:
要求撰写不少于3000个文字的文档,详细说明各阶段具体要求。
工作计划:
安排两周时间进行课程设计,软件开发步骤如下,第一周完成1~4,第二周完成5~8,论文同步进行;
1)选定题目
2)需求分析
3)概念结构设计
4)逻辑结构设计
5)物理设计
6)数据库安全及维护设计
7)数据库上机实现
8)答辩
指导教师签名:
日期:
教研室主任签名:
日期:
系主任签名:
日期:
一、引言
1.1编写目的
本文档是销售订单数据库管理系统设计文档的组成部分,编写数据库设计文档的目的是:
明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发,本文档遵循《销售订单数据库管理系统数据库设计和开发规范》。
本文档的读者对象是需求人员、系统设计人员、开发人员、测试人员。
1.2参考资料
资料名称
作者
文件编号、版本
《数据库系统概论》
王珊、萨师煊
2006年5月第4版
二、需求规约
2.1业务描述
销售订单数据库管理系统:
2.2需求分析
数据项名
含义
类型
宽度
小数位数
Sno
Sname
Sadd
Stel
Pno
Pname
Ptype
Cno
Cname
Cadd
Ctel
Eno
Ename
Etel
Ono
P_S_num
P_O_num
供应商编号
供应商商名
供应商地址
供应商电话
产品号
产品名称
产品类别
客户编号
客户姓名
客户地址
客户电话
雇员编号
雇员姓名
雇员电话
订单号
供应数量
订购数量
char
varchar
int
8
10
20
15
数据结构
组成
供应商S
产品P
客户C
雇员E
订单O
供应P_S
订购P_O
供应商情况表
产品情况表
客户情况表
雇员情况表
订单情况表
供应情况表
订购情况表
Sno+Sname+Sadd+Stel
Pno+Pname+Ptype
Cno+Cname+Cadd+Ctel
Eno+Ename+Etel
One+Cno+Eno
P_S_num+Rno+Pno
P_O_num+Pno+Ono
数据流名
S_case
P_case
C_case
E_case
O_case
P_S_case
P_O_case
三、数据库环境说明
3.1
数据库实例
数据库系统
数据库部署环境
数据库设计工具
数据库存放位置
说明
Sqlserver2008
Windowsxp系统,
E:
\2010022B29
利用此系统能执行订单交易的全过程
四、数据库的命名规则
4.1数据库对象命名规则
数据库对象
命名规则
备注
表
英文拼写的首字母
例如:
S(supplier)供应商表
视图
View_表名
view_S供应商视图
4.2数据项编码规则
数据项
数据类型
长度范围
库存数量
英文拼写的首字母加功能简写
定长的字符串
可变长度字符串
整数
Pnum
五、逻辑设计
5.1画出E-R图
5.2创建关系模型
供应商(供应商编号,供应商名称,供应商地址,联系电话)
产品(产品编号,产品名称,产品类别,库存数量)
客户(客户编号,客户姓名,通信地址,联系电话)
雇员(雇员编号,姓名,联系电话)
订单(订单号,客户编号,雇员编号)
供应情况(供应商编号,产品编号,供应数量)
订购情况(产品编号,订单号,订购数量)
5.3规范化分析
供应商表:
供应商编号→供应商名称,供应商编号→供应商地址,供应商编号→供应商联系电话
供应商表中不存在部分依赖和传递依赖,所以这个表是3NF的
产品表:
产品编号→产品名称,产品编号→产品类别,产品编号→库存数量
产品表中不存在部分依赖和传递依赖,所以这个表是3NF的
客户表
客户编号→客户姓名,客户编号→通信地址,客户编号→联系电话
客户表中不存在部分依赖和传递依赖,所以这个表是3NF的
雇员表:
雇员编号→护院姓名,雇员编号→联系电话
雇员表中不存在部分依赖和传递依赖,所以这个表是3NF的
订单号→客户编号,订单号→雇员编号
订单表中不存在部分依赖和传递依赖,所以这个表是3NF的
分析知道,这个数据库中所有表都是3NF,所以这个数据库是3NF的。
六、物理设计
6.1表汇总
表名
功能说明
S
供应商表,是用来存储其编号,名字,地址和联系电话的
P
产品表,用来存储产品编号、名称类别和库存量
C
客户表,用来存储客户的编号、姓名、地址和联系电话
E
雇员表,用来存储雇员的编号姓名和联系电话
O
订单表,用来存储订单号,客户编号和管理它的雇员的编号
P_S
供应数量表,用来存储供应商编号,产品编号和其供应数量
P_O
订购数量表。
用来存储产品编号订单号和其订购的数量
6.2表:
数据库用户
DBA
主键
其他排序字段
索引字段
序号
字段名称
数据类型(精度范围)
允许为空Y/N
唯一Y/N
区别度
默认值
约束条件/说明
1.
2.
3.
4.
Char(8)
Varchar(10)
Varchar(20)
Int(15)
N
Y
高
低
非空
sql脚本
CREATETABLES
(
Snochar(8)primarykey,
Snamevarchar(10)notnull,
Saddvarchar(20),
Stelint
);
存储供应商信息
Char(10)
CREATETABLEP
Pnochar(8)primarykey,
Pnamevarchar(10)notnull,
Ptypechar(10)notnull,
Pnumint
存储产品信息
CREATETABLEC
Cnochar(8)primarykey,
Cnamevarchar(10)notnull,
Caddvarchar(20),
Ctelint
存储客户信息
char(15)
CREATETABLEE
Enochar(8)primanykey,
Enamevarcharnotnull,
Etelchar(15)
存储雇员信息
char(8)
无
C表中的Cno
E表中的Eno
CREATETABLEO
Onochar(8)notnullprimarykey,
Cnochar(8)notnull,
Enochar(8)notnull,
FOREIGNKEY(Cno)REFERENCESC(Cno),
FOREIGNKEY(Eno)REFERENCESE(Eno)
存储订单信息
Sno,Pno
varChar(10)
S表中的Sno
P表中的Pno
CREATETABLEP_S
P_S_numint,
Snochar(8),
Pnochar(8),
Primarykey(Cno,Pno),
FOREIGNKEY(Pno)REFERENCESP(Pno)
存储供应关系信息
Pno,Ono
P表中的Cno
O表中的Eno
CREATETABLEP_O
P_O_numint,
Onochar(8),
Primarykey(Pno,Ono),
FOREIGNKEY(Pno)REFERENCESP(Pno),
FOREIGNKEY(Ono)REFERENCESO(Ono)
存储订单关系信息
6.3视图的设计
createviewP_S_E_P_number
as
selectPno,sum(P_S_num)提供的总数
fromP_S
groupbyPno
createviewP_O_P_E_number
selectPno,sum(P_O_num)订购的总数
fromP_O
6.4存储过程、函数及触发器的设计
存储过程
createProcedureselect_C_imformation
(@Cnochar(12))
select*
fromC
whereCno=@Cno
createProcedureselect_E_imformation
(@Enochar(12))
fromE
whereEno=@Eno
createProcedureselect_O_imformation
(@Onochar(12))
fromO
whereOno=@Ono
createProcedureselect_ord_sit_imformation
(@Onochar(12),@Pnochar(12))
whereOno=@OnoandPno=@Pno
createProcedureselect_P_imformation
(@Pnochar(12))
fromP
wherePno=@Pno
createProcedureselect_P_S_imformation
(@Pnochar(12),@Snochar(12))
wherePno=@PnoandSno=@Sno
createProcedureselect_P_O_imformation
wherePno=@PnoandOno=@Ono
触发器
createtriggerPO_trigger
onP_O
afterupdate
begin
updateP
setPnum=Pnum+(
selectP_O_numfromdelected)
wherePno=(selectPnofrominserted)
setPnum=Pnum-(
selectP_O_numfrominserted)
end
createtriggerPS_trigger
onP_S
selectP_S_numfromdelected)
selectP_S_numfrominserted)
七、安全性设计
7.1防止用户直接操作数据库的方法
USE销售订单管理
EXECSP_GRANTDBACCESS'
GY'
'
;
GRANTSELECT,UPDATE,DELETEONOTOGY
CPGLY'
GRANTSELECT,U