资源描述
S长沙学院课程设计说明书
———————————————————————————————— 作者:
———————————————————————————————— 日期:
15
个人收集整理 勿做商业用途
长 沙 学 院
课程设计说明书
提示:
(1) 本文档问学生完成课程设计后,必须撰写的课程设计说明书,且学生完成本文档的撰写后必须提交给课程设计指导老师,否则视该学生该次课程设计无效。
(2) 本文档各个部分都有相应的填写说明,学生只需要按照填写蓝色字体的填写说明填写相应的部分即可.注意的是:最后提交给指导老师的文档不应当有蓝色的填写说明文字。
题目
系(部)
专业(班级)
姓名
学号
指导教师
起止日期
课程设计任务书
课程名称:数据库系统原理课程设计
设计题目:工厂数据库管理系统、销售订单数据库管理系统、汽车租赁管理系统、火车票预订管理系统(任选一题)。
已知技术参数和设计要求:
题目一:工厂数据库管理系统
1、某工厂需建立一个管理数据库存储以下信息:
工厂包括厂名和厂长名。
一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话.
一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种.
一个车间生产多种产品,产品有产品号、产品名称和价格.
一个车间生产多种零件,一个零件也可能为多个车间制造.零件有零件号、重量和价格.
一个产品由多种零件组成,一种零件也可装配出多种产品。
产品与零件均存入仓库中。
厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话.
2、系统功能的基本要求:
按照一定条件查询、统计工人和产品等基本信息,能模拟工厂生产过程中对原材料(零件)、产品检测、库存环节的管理。
题目二:销售订单数据库管理系统
1、某销售商的订单系统需要如下信息:
每个供应商包含供应商编号、名称、地址、联系电话等信息。
每种产品包含产品号、产品名称、产品类别等信息。
每个供应商可供应多种产品,每种产品可由多个供应商供应。
客户包含编号、姓名、通信地址、电话等信息.
雇员包括编号、姓名、联系电话等信息。
订单包括订单号等信息。
一个客户可下多个订单,每个订单只能由一个客户下.
一个雇员可管理多个订单,每个订单只能由一个雇员管理。
一个订单订购多种产品,每种产品可在不同的订单中订购
2、系统功能基本要求:
按照一定条件查询、统计订单信息,例如订单量最多的客户或者产品.能够模拟完成一个订单交易全过程。
题目三:汽车租赁管理系统
1、 某汽车租赁公司汽车租赁管理系统需要如下信息:
工作人员信息包括:工号、姓名、性别、联系电话等。
客户信息包括:身份证号、姓名、性别、所在单位、联系电话等。
车辆信息包括:车牌号、品牌、颜色、座位数、日租价格、日租超公里价格、月租价格、租赁状态、购入日期等。
车辆类别信息包括:分类号,库存数。
其业务规则描述如下:
一个工作人员可以对很多辆车辆进行管理,一辆车也可以被多个工作人员管理;一辆车只能属于一种车辆类别,而一种车辆类别可以包含多辆车;一个客户可以租多辆不同的车。
2、系统功能的基本要求:
可以实现对车辆、租赁客户的查询,可以查询汽车、客户租赁历史记录.可以按类别统计汽车的租赁金额和剩余的库存数,可以统计某一年龄客户群体对某类汽车的租赁喜好,能模拟客户对汽车的租借、归还业务。
题目四:火车票预订管理系统
1、某铁路局火车票预订管理系统需要如下信息:
车次信息:车次编号、出发地、目的地、出发时间、到站时间、火车类型、里程数,座位数等。
车票信息:座位号、价格、当前预售状态、座位类型等.
客户:姓名、联系电话、身份证号码等。
业务员:姓名、工号。
其业务规则描述如下:
一个客户可以预订(退订)多张火车票,但一张火车票只能被一个客户预订(退订);一个业务员能销售多张车票,但一张车票只被一个业务员销售.一辆列车包含多张车票,但一张车票只属于一辆列车。
2、系统功能的基本要求:
按照一定条件查询、统计符合条件的火车、车票、客户信息等.例如火车车次查询、时刻表查询、剩余座位数、同一路线可选火车信息、客户购买历史等,能够在车票售出时更新可用火车票数,模拟完成火车票订票、退订业务。
各阶段具体要求:
1、需求分析阶段
l 定义数据项的含义和取值
l 定义目标系统的数据流
2、概念结构设计阶段
l 画出实体模型E—R图
3、逻辑结构设计阶段
l 将实体模型转化为关系模型
l 给出每个关系的主关键字和函数依赖集
l 分析你所设计的关系数据库模式是否属于3NF
4、物理设计阶段
l 确定所有字段的名称、类型、宽度、小数位数及完整性约束
l 确定数据库及表的名称及其组成
l 确定索引文件和索引关键字
5、数据库安全及维护设计阶段
l 设计一个适合的数据库安全策略(用户身份认证、访问权限、视图)
l 为了实现复杂的数据完整性约束,设计适当的触发器
l 设计一个适合的数据库备份策略
6、实施阶段
l 要求所有操作必须在查询分析器中用SQL语句或系统存储过程完成。
设计工作量:
(1)软件设计:完成问题陈述中所提到的所有需求功能。
(2)论文:要求撰写不少于3000个文字的文档,详细说明各阶段具体要求。
工作计划:
安排两周时间进行课程设计,软件开发步骤如下,第一周完成1~4,第二周完成5~8,论文同步进行;
1) 选定题目
2) 需求分析
3) 概念结构设计
4) 逻辑结构设计
5) 物理设计
6) 数据库安全及维护设计
7) 数据库上机实现
8) 答辩
计划时间
指导老师
班级
13~14周
张肖霞
11软件1班
13~14周
潘怡
11软件2班
13~14周
毛伟
11软件3班
13~14周
汪祥
11软件4班
13~14周
曾俊勇
11软件5班
13~14周
胡树根
11软件6班
13~14周
何海江
11软件7班
13~14周
徐长梅
11软件8班
13~14周
孟志刚
11软件9班
13~14周
付细楚
11软件10班
注意事项
n 提交文档
Ø 长沙学院课程设计任务书 (每学生1份)
Ø 长沙学院课程设计论文 (每学生1份)
Ø 长沙学院课程设计鉴定表 (每学生1份)
指导教师签名: 日期:
教研室主任签名: 日期:
系主任签名: 日期:
长沙学院课程设计鉴定表
姓名
学号
专业
班级
设计题目
指导教师
指导教师意见:
评定等级: 教师签名: 日期:
答辩小组意见:
评定等级: 答辩小组长签名: 日期:
教研室意见:
教研室主任签名: 日期:
系(部)意见:
系主任签名: 日期:
说明
课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类;
目 录
一、引言 5
1。1 编写目的 5
1.2 参考资料 5
二、 需求规约 5
2。1 业务描述 5
2。2 需求分析 6
三、 数据库环境说明 6
四、 数据库的命名规则 6
3。1 数据库对象命名规则 6
3。2 数据项编码规则 6
五、 逻辑设计 7
六、 物理设计 7
5。1 表汇总 7
5。2 表[X]:[XXX表] 7
5。3 视图的设计 8
5。4 存储过程、函数及触发器的设计 9
七、 安全性设计 9
6.1 防止用户直接操作数据库的方法 9
6。2 用户帐号密码的加密方法 9
6。3 角色与权限 9
八、 数据库管理与维护说明 10
一、引言
1.1 编写目的
例如:本文档是xx系统设计文档的组成部分,编写数据库设计文档的目的是:明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发,本文档遵循《xx数据库设计和开发规范》.本文档的读者对象是需求人员、系统设计人员、开发人员、测试人员。
1.2 参考资料
列出有关资料的名称、作者、文件编号或版本等.参考资料包括:
a.需求说明书、架构设计说明书等;
b.本项目的其他已发表的文件;
c.引用文件、资料、软件开发标准等.
资料名称
作者
文件编号、版本
《数据库系统概论》
王珊、萨师煊
2006年5月第4版
二、 需求规约
提示:本部分完成此数据库系统业务描述和需求分析
2.1 业务描述
提示:本部分完成此数据库系统的业务描述,例如:
(1)数据库系统创建的背景
(2)数据库系统要完成的业务流程及工作内容
(4)揭示该数据库的资源需求和设计约束
2。2 需求分析
提示:本部分完成此数据库系统的需求分析,例如:
(1) 分析该业务流程的内在联系
(2) 将业务流程节点抽象成数据库对象,并描述各个节点的依赖关系在数据上的反映。
三、 数据库环境说明
提示:
(1)说明所采用的数据库系统,设计工具,编程工具等
(2)详细配置
例如:
数据库实例
数据库系统
数据库部署环境
数据库设计工具
数据库存放位置
说明
实例名,文件名
名称:如MySql,版本:4。0
软硬件、网络环境
例如:pb,visio,rose
存放位置,绝对路径/相对路径
实例用途说明
四、 数据库的命名规则
3。1 数据库对象命名规则
提示:
说明本数据库的命名规则,即描述数据库对象的命名规则。作者需要填写以下表格:
数据库对象
命名规则
备注
表
Tbl_功能描述字符串
例如:tbl_studen学生表
视图
View_功能描述字符串
例如:view_student学生视图
3。2 数据项编码规则
提示:说明本数据库数据项的编码规则,作者需要填写以下表格:
数据项
命名规则
数据类型
长度范围
备注
学生学号
班号+班内序号(两位整数00—99)
定长字符串
10位
五、 逻辑设计
提示:数据库设计人员根据需求文档,进行数据库系统的逻辑设计,注意的是系统设计人员可以选择不同逻辑设计工具进行设计,作者可以根据所选用工具的不同适当的自主组织本章节内容,只需要保证能体现出设计人员的设计思想和设计结果即可.
通常此部分内容会包括以下内容:
(1) 创建与数据库相关的那部分实体关系图(ERD)。
(2) 创建数据库系统的关系模型。
六、 物理设计
提示:
(1)主要是设计表结构。一般地,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对应的.
(2)对表结构进行规范化处理(第三范式)。
5.1 表汇总
表名
功能说明
表A
表B
表C
5.2 表[X]:[XXX表]
表的索引: 索引是否建立要根据具体的业务需求来确定。
允许为空:不填的表示为“是”.
唯一:不填的表示为“是”。
表字段的区别度:主要是考虑到将来在此字段上建立索引类型选择时作为参考,当字段值唯一时可以不考虑,当字段值不唯一时,估算一个区别度,近似即可。例如:如果一个表的NAME字段有共2000个值,其中有1999个不同值,1999/2000=0。99 越接近1区别度越高,反之区别度越低.
表名
数据库用户
主键
其他排序字段
索引字段
序号
字段名称
数据类型(精度范围)
允许为空Y/N
唯一Y/N
区别度
默认值
约束条件/说明
此表格的序号,与数据库的序号无关
[字段名称]
[数据类型]
[Y/N]
[Y/N]
[高/中/低]
主键、外键,字段含义,相关说明等
sql脚本
CREATE TABLE [XXX表名]
(
[字段名称] [数据类型] [NOT NULL /NULL]
, [字段名称] [数据类型] [NOT NULL /NULL]
, [字段名称] [数据类型] [NOT NULL /NULL]
, [字段名称] [数据类型] [NOT NULL /NULL]
, CONSTRAINT PK_[XXX表名]_[XXX表字段] PRIMARY KEY ([字段名称])
) type = INNODB;
ALTER TABLE [XXX表名] ADD CONSTRAINT FK_[XXX表名]_[YYY表名]_[XXX表字段]
FOREIGN KEY ([字段名称]) REFERENCES [YYY表名] ([字段名称])
CREATE INDEX [索引名] ON [XXX表名] ([字段名称])
备注
[备注信息]
5.3 视图的设计
[根据XXX产品的概要设计文档来确定。
视图的命名按照《xx数据库设计规范》中关于视图的命名规范命名.
视图的设计应注意以下几点:
1 尽量减少列中使用的公式。
2 去掉所有不必要的列。
3 不要使同一个文档属于多个分类。
4 避免使用表单公式。]
5.4 存储过程、函数及触发器的设计
[存储过程及触发器的命名按照《xx数据库设计规范》中关于存储过程及触发器的命名规范命名。
存储过程:根据具体得业务逻辑确定输入参数个数,类型,确定对哪几个表进行何种作。
在定义存储过程时,要使用其完成单一、相对集中的任务,不要定义已由其他提供功能的过程.例如:不要定义强制数据完整性的过程(使用完整性约束)。
函数 :函数与存储过程非常相似,它也是存储在数据库中的对象。但是可以在SQL命令中使用函数。就好像建立自己的substr函数一样
触发器 :触发器是存储在数据库中的程序,它在某一特定事件发生时执行。这些程序可以用PL/SQL和java语言编写,也可以用作c语言的调用,数据库允许用户定义这些程序,然后在相关的表,视图或者数据库动作执行insert,update或delete语句时执行.]
七、 安全性设计
提示:提高软件系统的安全性应当从“管理”和“设计”两方面着手。这里仅考虑数据库的安全性设计.
例如:应用级的用户帐号密码不能与数据库相同,防止用户直接操作数据库。用户只能用帐号登陆到应用软件,通过应用软件访问数据库,而没有其它途径操作数据库。
6.1 防止用户直接操作数据库的方法
提示:用户只能用帐号登陆到应用软件,通过应用软件访问数据库,而没有其他途径操作数据库.
6.2 用户帐号密码的加密方法
提示:对用户帐号的密码进行加密处理,确保在任何地方都不会出现密码的明文。
此部分内容作者可以选择保留和去除。
例如:用户帐号采用MD5进行数据加密后再录入数据库,以防止任何地方密码的安全性要求。
6.3 角色与权限
提示:确定每个角色对数据库表的操作权限,如创建、检索、更新、删除等。每个角色拥有刚好能够完成任务的权限,不多也不少。在应用时再为用户分配角色,则每个用户的权限等于他所兼角色的权限之和。
此部分内容作者可以选择保留和去除.
角色
可以访问的表与列
操作权限
例如:管理员
可访问所有表
完全控制权限
角色B
八、 数据库管理与维护说明
提示:在设计数据库的时候,及时给出管理与维护本数据库的方法,有助于将来撰写出正确完备的用户手册。
展开阅读全文