信电学院CDIO试点班的项目实践的报告煤气管理系统数据库.doc
文本预览下载声明
信息与电气工程学院
CDIO项目报告
(2016/2017学年第一学期)
课程名称 : 数据库原理及应用
项目名称 : 煤气公司送气管理系统
专业班级 :
学生姓名 :
学 号:
项目成绩 :
2016年12月14日
目 录
1 项目背景及需求分析 2
2
1.2需求分析 2
2 概念结构设计 2
2.1抽象出系统实体 2
2.2局部E-R图 2
2.3全局ER图 4
3 逻辑结构设计 4
3.1初始关系模式设计 4
3.2关系模式的规范化 5
4 创建数据库及相关操作 5
4.1 创建数据库 5
4.2建立视图 6
4.3建立存储过程 8
4.4建立触发器 8
4.5查询问题及查询结果 9
5备份和恢复的维护、安全的设置 12
6 项目设计心得总结 12
参考文献 13
评分表 14
1 项目背景及需求分析
某煤气公司为收集和管理数据简便,将工作数据导入数据库。使其实现工作人员、客户人员的管理;实现煤气类别和供应商的管理;实现煤气入库管理和出库管理;实现费用管理。
1.2需求分析
创建触发器,实现入库、出库时相应类型煤气的数量的增加或减少。
创建存储过程统计每个送气员工指定月份送气的数量。
创建存储过程查询指定月份用气量最大的前10个用户,并按用气量递减排列。
建立数据库相关表之间的参照完整性约束;建立表间关系。
2 概念结构设计
2.1抽象出系统实体
E-R图
图2.2.2 局部E-R图之gas
图2.2.3 局部E-R图之worker
图2.2.4 局部E-R图之customer
图2.2.5 局部E-R图之supply
2.3全局ER图
3.1初始关系模式设计
Company、Worker、Customer、Gas、Supply、Goin、Goout、Servers符合第一范式,即这些关系模式的所有属性都是不可再分的基本数据项。
Company、Worker、Customer、Gas、Supply、Goin、Goout、Servers符合第二范式,即这些关系模式的每个非主属性完全函数依赖于这些关系模式中的某个候选码。
Company、Worker、Customer、Gas、Supply、Goin、Goout、Servers符合第三范式,即每个非主属性都不传递函数依赖于任何候选码。
4 创建数据库及相关操作
4.1 创建数据库
Company表的建立:
代码:
CREATE TABLE `company` (
`cno` tinyint NULL ,
`cname` tinyint NULL ,
PRIMARY KEY (`cno`)
)
结果展示:如图4.1.1
图4.1.1 company表
customer表的建立:
代码:
CREATE TABLE `customer` (
`客户编号` tinyint NULL ,
`客户姓名` varchar(255) NULL ,
`客户性别` enum(女,男) NULL ,
PRIMARY KEY (`客户编号`)
)
;
结果展示:如图4.1.2
图4.1.2 customer表
gas表的建立:
代码:
CREATE TABLE `gas` (
`煤气编号` tinyint NULL ,
`煤气名称` varchar(255) NULL ,
`存储量` float NULL ,
`所属公司` tinyint NULL ,
PRIMARY KEY (`煤气编号`)
)
结果展示:如图4.1.3
图4.1.3 gas表
goin表的建立:
代码:
CREATE TABLE `goin` (
`入库序号` tinyint NULL ,
`入库日期` date NULL ,
`入库量` float NULL ,
`煤气编号` tinyint NULL ,
`供应商编号` tinyint NULL ,
PRIMARY KEY (`煤气编号`, `入库序号`, `供应商编号`),
FOREIGN KEY (`供应商编号`) REFERENCES `supply` (`供应商编号`),
FOREIGN KEY (`煤气编号`) REFERENCES `gas` (`煤气编号`)
)
;
结果展示:如图4.1.4
图4.1.4 goin表
goout表的建立:
代码:
CREATE TABLE `goout` (
`出库序号` tinyint NULL ,
`出库日期` date NULL ,
`出库量` float NULL ,
`煤气编号` tinyint NULL ,
`客户
显示全部