1、长 沙 学 院课 程 设 计 说 明 书题目 工厂数据库管理系统系(部) 数学与计算机科学专业(班级) 软件 2 班姓名 肖瑶学号 2013022236指导教师 潘怡起止日期 20156.152015626课程设计任务书课程名称:数据库系统原理课程设计设计题目:工厂数据库管理系统、销售订单数据库管理系统、汽车租赁管理系统、火车票预订管理系统(任选一题) 。已知技术参数和设计要求:题目:工厂数据库管理系统1、某工厂需建立一个管理数据库存储以下信息:工厂包括厂名和厂长名。一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话。一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种。一
2、个车间生产多种产品,产品有产品号、产品名称和价格。一个车间生产多种零件,一个零件也可能为多个车间制造。零件有零件号、重量和价格。一个产品由多种零件组成,一种零件也可装配出多种产品。产品与零件均存入仓库中。厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。2、系统功能的基本要求:按照一定条件查询、统计工人和产品等基本信息,能模拟工厂生产过程中对原材料(零件) 、产品检测、库存环节的管理。各阶段具体要求:1、需求分析阶段 定义数据项的含义和取值 定义目标系统的数据流2、概念结构设计阶段 画出实体模型 E-R 图3、逻辑结构设计阶段 将实体模型转化为关系模型 给出每个关系的主关键字和函数依赖集 分析
3、你所设计的关系数据库模式是否属于 3NF4、物理设计阶段 确定所有字段的名称、类型、宽度、小数位数及完整性约束 确定数据库及表的名称及其组成 确定索引文件和索引关键字5、数据库安全及维护设计阶段 设计一个适合的数据库安全策略(用户身份认证、访问权限、视图) 为了实现复杂的数据完整性约束,设计适当的触发器 设计一个适合的数据库备份策略6、实施阶段 要求所有操作必须在查询分析器中用 SQL 语句或系统存储过程完成。设计工作量:(1)软件设计:完成问题陈述中所提到的所有需求功能。(2)论文:要求撰写不少于 3000 个文字的文档,详细说明各阶段具体要求。工作计划:安排两周时间进行课程设计,软件开发步
4、骤如下,第一周完成 14,第二周完成 58,论文同步进行;1) 选定题目2) 需求分析3) 概念结构设计4) 逻辑结构设计5) 物理设计6) 数据库安全及维护设计7) 数据库上机实现8) 答辩计划时间 指导老师 班级1516 周 杨刚 13 软件 1 班1516 周 潘怡 13 软件 2 班1516 周 何可可 13 软件 3 班1516 周 刘刚钦 13 软件 4 班注意事项 提交文档 长沙学院课程设计任务书 (每学生 1 份) 长沙学院课程设计论文 (每学生 1 份) 长沙学院课程设计鉴定表 (每学生 1 份)指导教师签名: 日期: 教研室主任签名: 日期: 系主任签名: 日期: 长沙学院
5、课程设计鉴定表姓名 肖瑶 学号 2013022236 专业 软件工程 班级 2 班设计题目 工厂数据库管理系统 指导教师 潘怡指导教师意见:评定等级: 教师签名: 日期: 答辩小组意见:评定等级: 答辩小组长签名: 日期: 教研室意见:教研室主任签名: 日期: 系(部)意见:系主任签名: 日期: 说明 课程设计成绩分“优秀” 、 “良好” 、 “及格” 、 “不及格”四类;目 录1、需求分析阶段 .22、概念结构设计阶段 .23、逻辑结构设计阶段 .24、物理设计阶段 .25、数据库安全及维护设计阶段 .26、实施阶段 .3一、引言 .71.1 编写目的 .71.2 参考资料 .7二、需求规约
6、 .72.1 业务描述 .72.2 需求分析 .7三、数据库环境说明 .8四、数据库的命名规则 .94.1 数据库对象命名规则 .94.2 数据项编码规则 .9五、逻辑设计 .105.1 实体关系 E-R 图 .105.2 创建数据库系统的关系模型 .10六、物理设计 .136.1 表汇总 .136.2 表 .146.3 存储过程、函数及触发器的设计 .19七、总结 .26八、附件 .27一、引言1.1 编写目的根据工人数据库管理系统建立一个数据库存储信息,建立实体并分析实体间的关系通过 SQL 语言来实现此管理系统的运用,模拟工厂生产过程中对零件、产品检测、库存环节的管理。从而便于用户详细了
7、解整个工厂数据库管理系统。 1.2 参考资料 资料名称 作者 文件编号、版本数据库系统概论 王珊、萨师煊 2006 年 5 月第 4 版二、需求规约2.1 业务描述根据工人管理系统模拟生产过程,实现对零件生产、产品检测、库存的管理。2.2 需求分析2.2.1 数据结构及数据关系1.数据结构:工厂 (厂名、厂长)仓库 (仓库号、仓库主任姓名、电话)车间 (车间号、车间主任姓名、地址、电话)工人 (工号、姓名、年龄、性别、工种)产品 (产品号、产品名称、价格、数量)零件 (零件号、重量、价格、数量)2.数据关系:车间、工人与产品、零件有生产关系,工厂与车间、工厂与仓库、车间与工人有包含关系;产品与
8、零件有组成关系,产品、零件与仓库有库存关系。工厂与车间为一对多关系, 车间与工人为一对多关系, 车间与产品为一对多关系,仓库与产品为一对多关系 ,仓库与零件为一对多关系, 车间与零件为多对多关系, 产品和零件为多对多关系, 工厂与仓库为一对多关系。2.2.2 功能分析1.要求能够插入,管理并更新此系统的车间数据、仓库数据、工人信息、产品信息及零件数据。生产产品用例规约如表 2.1 所示。用例名称: 添加产品信息角色: 工厂管理人员用例说明: 工厂生产新的产品前置条件: 进入软件功能选择页面基本事件流: 1. 点击添加产品2. 输入产品信息(产品号、产品名称、价格、数量)3. 输入组成该产品的零
9、件信息(零件号、重量、价格、数量)其他事件流: 该工厂不能生产其中一种零件,生产产品失败。后置条件: 产品信息添加成功,工厂开始生产该产品表 2.1 产品生产用例规约2.要求具有完整的查询功能。例如通过仓库号能查询到仓库主任姓名、联系电话等信息;通过车间号能查询到车间主任姓名、地址、联系电话通过产品号能查询到产品名称,产品价格等等;职工信息查询用例规约如表 2.2 所示。用例名称: 查询职工信息角色: 工厂管理人员用例说明: 主管调查人员劳动价值前置条件: 进入软件功能选择页面基本事件流: 1.选择要查询职工的职工号2.点击查询其他事件流: 如果没有该职工号,则用况终止后置条件: 显示该职工的
10、所有信息(姓名,年龄,性别,工种)表 2.2 职工信息查询用例规约三、数据库环境说明数据库实例 数据库系统 数据库部署环境数据库设计工具数据库存放位置说明工人数据库管理系统SQL server2008硬件:2GB内存:512M 以上网络环境:windows xpMicrosoft Office Visio 2003 与 SQL server 2008D 盘根目录 查询、统计工人和产品基本信息,模拟工厂生产过程四、数据库的命名规则4.1 数据库对象命名规则数据库对象 命名规则 备注表 功能描述字符串 例如: factory 工厂表索引 index_功能描述字符串 例如:index_factory
11、 工厂索引触发器 trigger_功能描述字符串 例如: trigger_factory 工厂触发器存储过程 procedure_功能描述字符串 例如: procedure_factory 工厂存储过程4.2 数据项编码规则数据项 数据类型 长度范围 备注厂名 char 20 Fname厂长名 char 20 FMname产品名 char 20 Proname车间号 char 10 Wno仓库号 char 10 Sno职工号 char 10 Workno产品号 char 10 Prono零件号 char 10 Pno电话 char 11 Phone工种 char 20 Worktype零件重量
12、 Int Pweight零件价格 Int Pmoney零件数量 Int Pquantity五、逻辑设计5.1 实体关系 E-R 图产品零件仓库工人工厂车间电话价格重量零件号价格名称产品号工号 工种性别姓名 年龄厂名厂长名电话主任编号仓库号车间号 主任编号地址存放包含组成生产包含生产存放包含111111nnnmnnmnnn5.2 创建数据库系统的关系模型1.工厂表数据信息Factory数据项名 含义 数据类型 约束 是否为空Fname 厂名 Char(20) Primary Key Not NULLFMname 厂长名 Char(20) 2.工人表数据信息Worker数据项名 含义 数据类型 约
13、束 是否为空Wono 职工号 char(10) Primary key NOT NULLWoname 姓名 char(20) Woage 年龄 smallint Wosex 性别 char(10) Wotype 工种 char(20) Wno 车间号 char(10) Foreign key 3.车间表数据信息Workhome数据项名 含义 数据类型 约束 是否为空Wno 车间号 char(10) Primary key NOT NULLWMno 车间主任编号 char(20) Wadd 地址 char(20) Wphone 电话 char(11) Fname 厂名 char(20) Foreign key 4.产品表数据信息Product 数据项名 含义 数据类型 约束 是否为空Prno 产品号 char(10) Primary key NOT NULLPrname 产品名称 char(20) Prmoney 产品价格 int Prquantity 产品数量 int Sno 仓库号 char(10) Foreign key Wno 车间号 char(10) Foreign key