《数据库基本原理》课程设计报告.docx
《《数据库基本原理》课程设计报告.docx》由会员分享,可在线阅读,更多相关《《数据库基本原理》课程设计报告.docx(20页珍藏版)》请在冰豆网上搜索。
《数据库基本原理》课程设计报告
安徽科技学院
网络工程专业
《数据库基本原理》课程设计
实验报告
学院:
理学院班级:
网络工程103班
组长:
陈强强学号:
1887100303
成员:
陈强强王冬(组长:
1887100322)
开课学期:
2012年9月10日
实验日期:
2012年12月26日
指导教师:
刘斌
实验名称:
学生选课管理系统
实验场所:
力行楼6楼实验室
学生选课管理系统
一、功能需求分析
1.管理员功能
2.教师功能
3.学生功能
数据流图:
二、概念设计ER图
一、数据字典设计
学生
1.数据项
1)学号
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
学号
唯一标识每一个学生
字符型
5
00000~99999
前2位为年级号,后3位为顺序编号
与其他数据项的逻辑关系
2)姓名
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
姓名
标识每一个学生
字符串
可变
32位可变字符串
表示学生姓名
3)所在院系
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
所在院系
学生所在的院系
字符串
可变
32位可变字符串
表示学生所在的院系
4)性别
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
性别
学生的性别
整型
1
0或1
0:
男1:
女
5)专业
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
专业
学生的专业
Varchar
32
32位可变字符串
学生的专业
2.数据结构
1)数据结构名:
学生
2)含义说明:
是学生选课系统的主体数据结构,定义了一个学生的有关信息
3)组成:
学号,姓名,所在系,性别
3.数据存储
1)数据存储名:
学生信息
2)说明:
记录学生所有的基本信息
3)编号:
学号
4)组成:
学号,姓名,专业,所在系,性别
课程
1.数据项
1)课程号
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
课程号
唯一标识每一个课程
字符型
4
1000~9999
表示课程的代号
2)课程名
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
课程名
表示课程的名称
字符串型
32
32位可变字符串
表示课程的名称
3)学分
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
学分
表示课程的学分
浮点型
1
1~4
表示课程的学分
2.数据结构
1)数据结构名:
课程
2)含义说明:
是学生选课管理系统的主体数据结构,定义了一个课程的有关信息
3)组成:
课程号,课程名,学分
3.数据存储
1)数据存储名:
课程信息
2)说明:
记录学生所的基本信息
3)编号:
课程号
4)组成:
课程号,课程名,学分
选课
1.数据项
1)学号
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
学号
唯一标识每一个学生
字符型
5
00000~99999
前2位为入学年号,后3位为顺序编号
与其他数据项的逻辑关系
2)课程号
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
课程号
唯一标识每一个课程
字符型
4
1000~9999
表示课程的代号
3)成绩
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
成绩
表示课程的成绩
整型
1
0~100
表示课程的成绩
2.数据结构
1)数据结构名:
选课
2)含义说明:
是学生选课管理系统的主体数据结构,定义了一个选课记录有关信息
3)组成:
学号,课程号,成绩
3.数据流
1)数据流名:
选课信息
2)说明:
学生所选课程信息
3)数据流来源:
“选课”处理
4)数据流去向:
“选课”存储
5)组成:
学号,课程号
教师
1.数据项
1)教师编号
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
教师编号
唯一标识每一个老师
字符串型
10
长度为10可变字符串
教师编号
2)姓名
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
姓名
标识每一个老师
字符串型
10
32位可变字符串
表示老师姓名
3)性别
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
性别
老师的性别
整型
1
0或1
0:
男1:
女
4)职称
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
职称
老师的职称
字符串型
10
10位可变字符串
老师的职称
2.数据结构
1)数据结构名:
教师
2)含义说明:
是学生选课管理系统的主体数据结构,定义了一个教师有关信息
3)组成:
教师编号,姓名,职称
3.数据存储
1)数据存储名:
教师信息
2)说明:
记录教师基本信息
3)编号:
教师编号
4)组成:
教师编号,姓名,职称
教室
1.数据项
1)教室号
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
教室号
唯一标识每一个教室
字符串型
10
长度为10可变字符串
教师编号
2)容纳人数
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
容纳人数
教师的最大容量
整型
1
1-30
教室的最大人数
2.数据结构
1)数据结构名:
教室
2)含义说明:
是学生选课管理系统的主体数据结构,定义了一个教室有关信息
3)组成:
教室号,容纳人数
3.数据存储
1)数据存储名:
教室信息
2)说明:
记录教室基本信息
3)编号:
教室编号
4)组成:
教室编号,容纳人数
授课
1.数据项
1)课程号
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
课程号
唯一标识每一个课程
字符型
4
1000~9999
表示课程的代号
2)授课时间
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
授课时间
上课时间
字符型
32
字符串长
表示课程的上课时间
3)授课地点
数据项名
数据项含义
数据类型
数据长度
取值范围
取值含义
授课地点
上课地点
字符型
32
字符串长
表示课程的上课地点
2.数据结构
1)数据结构名:
授课
2)含义说明:
是学生选课管理系统的主体数据结构,定义了一个授课有关信息
3)组成:
课程号,授课时间,授课地点
3.数据存储
1)数据存储名:
授课信息
2)说明:
记录授课基本信息
3)编号:
无
4)组成:
课程号,教师号,授课地点
二、ER图设计以及关系模式转化
Ø学生实体ER图
Ø教师实体ER图
Ø教室实体ER图
Ø课程实体ER图
Ø合并后的整体ER图
三、逻辑设计---ER图到关系模式的转换(规范化)
学生(学号,姓名,专业,所在院系,性别);
学号完全函数决定姓名,专业,所在院系,性别,并且非主属性对码不存在部分函数依赖和传递依赖
所以,学生(学号,姓名,专业,所在院系,性别)是3NF
教室(教室号,可容纳人数);
教室号完全函数决定可容纳人数,并且非主属性对码不存在部分函数依赖和传递依赖
所以,教室(教室号,可容纳人数)是3NF
教师(教师编号,性别,姓名,职称);
教师编号完全函数决定可性别,姓名,职称,并且非主属性对码不存在部分函数依赖和传递依赖
所以,教师(教师编号,性别,姓名,职称)是3NF
课程(课程号,课程名称,学分);
课程号完全函数决定课程号,课程名称,学分,并且非主属性对码不存在部分函数依赖和传递依赖
所以,课程(课程号,课程名称,学分)是3NF
选课(学号,课程号,成绩);
学号和课程号完全函数决定成绩,并且非主属性对码不存在部分函数依赖和传递依赖
所以,选课(学号,课程号,成绩)是3NF
授课(课程号,教师编号,教室号,授课时间);
课程号,教师编号,教室号,完全函数决定授课时间,所以,授课(课程号,教师编号,教室号,授课时间)是3NF
三、数据表设计
学生选课系统数据表结构设计:
序号
表名
1
学生表
2
教师表
3
教室表
4
课程表
5
选课表
6
授课表
学生表
名称
数据类型
主键
非空
约束条件
学号
Char(10)
Yes
Yes
姓名
Varchar
No
Yes
所在院系
Varchar
No
Yes
性别
Tinyint
No
Yes
0-男,1-女
专业
Varchar(32)
No
Yes
课程表
名称
数据类型
主键
非空
约束条件
课程号
Char(4)
Yes
Yes
课程名称
Varchar
No
Yes
学分
Char
(1)
No
No
选课表
名称
数据类型
主键
非空
约束条件
学号
Char(10)
No
No
课程号
Char(4)
No
No
成绩
Tinyint
No
No
0-100之间
用户管理表
名称
数据类型
主键
非空
用户名
Varchar(32)
Yes
Yes
密码
Varchar(32)
No
Yes
教室
名称
数据类型
主键
非空
约束条件
教室号
char(10)
yes
yes
容纳人数
Tinyint
No
yes
1-30
教师
名称
数据类型
主键
非空
约束条件
教师编号
char(10)
Yes
yes
姓名
Varcha(10)r
No
yes
性别
Tinyint
No
yes
0是男1是女
职称
Varchar(10)
No
Yes
授课表
名称
数据类型
主键
非空
约束条件
课程号
char(4)
No
yes
授课时间
Varchar(32)
No
yes
授课教室
Tinyint
No
Yes
四、实现(数据库建表)
四、数据库的建立
五、数据库表的建立
六、数据库关系图的建立
选课关系图:
授课关系图:
七、数据库运行结果
五、总结
◆总结:
历经一个星期左右的课程设计,我们从中学到了很多基本的数据库设计原理,以及一些基本的数据库的操作过程,如:
需求分析,数据字典的建立,以及ER图的设计与关系模式转化到表的建立,最后sql查询。
◆不足:
数据库还存在一定的冗余现象,有与时间比较仓促,功能尚未完善,日后有待改进等等