1、数据库基本原理课程设计报告安徽科技学院网络工程专业数据库基本原理课程设计实验报告学 院: 理学院 班 级: 网络工程103班 组 长: 陈强强 学 号: 1887100303 成 员: 陈强强 王冬(组长:1887100322)开课学期: 2012年9月10日实验日期: 2012年12月26日指导教师: 刘斌实验名称:学生选课管理系统实验场所:力行楼6楼实验室学生选课管理系统一、 功能需求分析1. 管理员功能2. 教师功能3. 学生功能数据流图:二、 概念设计ER图一、 数据字典设计学生1. 数据项1) 学号 数据项名数据项含义数据类型数据长度取值范围取值含义学号唯一标识每一个学生字符型500
2、00099999前2位为年级号,后3位为顺序编号与其他数据项的逻辑关系2) 姓名数据项名数据项含义数据类型数据长度取值范围取值含义姓名标识每一个学生字符串可变32位可变字符串表示学生姓名3) 所在院系数据项名数据项含义数据类型数据长度取值范围取值含义所在院系学生所在的院系字符串可变32位可变字符串表示学生所在的院系4) 性别数据项名数据项含义数据类型数据长度取值范围取值含义性别学生的性别整型10或10:男 1:女5) 专业数据项名数据项含义数据类型数据长度取值范围取值含义专业学生的专业Varchar3232位可变字符串学生的专业2. 数据结构1) 数据结构名:学生2) 含义说明:是学生选课系统
3、的主体数据结构,定义了一个学生的有关信息3) 组成:学号,姓名,所在系,性别3. 数据存储1) 数据存储名:学生信息2) 说明:记录学生所有的基本信息3) 编号:学号4) 组成:学号,姓名,专业,所在系,性别课程1. 数据项1) 课程号数据项名数据项含义数据类型数据长度取值范围取值含义课程号唯一标识每一个课程字符型410009999表示课程的代号2) 课程名数据项名数据项含义数据类型数据长度取值范围取值含义课程名表示课程的名称字符串型3232位可变字符串表示课程的名称3) 学分数据项名数据项含义数据类型数据长度取值范围取值含义学分表示课程的学分浮点型114表示课程的学分2. 数据结构1) 数据
4、结构名:课程2) 含义说明:是学生选课管理系统的主体数据结构,定义了一个课程的有关信息3) 组成:课程号,课程名,学分3. 数据存储1) 数据存储名:课程信息2) 说明:记录学生所的基本信息3) 编号:课程号4) 组成:课程号,课程名,学分选课1. 数据项1) 学号数据项名数据项含义数据类型数据长度取值范围取值含义学号唯一标识每一个学生字符型50000099999前2位为入学年号,后3位为顺序编号与其他数据项的逻辑关系2) 课程号数据项名数据项含义数据类型数据长度取值范围取值含义课程号唯一标识每一个课程字符型410009999表示课程的代号3) 成绩数据项名数据项含义数据类型数据长度取值范围取
5、值含义成绩表示课程的成绩整型10100表示课程的成绩2. 数据结构1) 数据结构名:选课2) 含义说明:是学生选课管理系统的主体数据结构,定义了一个选课记录有关信息3) 组成:学号,课程号,成绩3. 数据流1) 数据流名:选课信息2) 说明:学生所选课程信息3) 数据流来源:“选课”处理4) 数据流去向:“选课”存储5) 组成:学号,课程号教师1. 数据项1) 教师编号数据项名数据项含义数据类型数据长度取值范围取值含义教师编号唯一标识每一个老师字符串型10长度为10可变字符串教师编号2) 姓名数据项名数据项含义数据类型数据长度取值范围取值含义姓名标识每一个老师字符串型1032位可变字符串表示老
6、师姓名3) 性别数据项名数据项含义数据类型数据长度取值范围取值含义性别老师的性别整型10或10:男 1:女4) 职称数据项名数据项含义数据类型数据长度取值范围取值含义职称老师的职称字符串型1010位可变字符串老师的职称2. 数据结构1) 数据结构名:教师2) 含义说明:是学生选课管理系统的主体数据结构,定义了一个教师有关信息3) 组成:教师编号,姓名,职称3. 数据存储1) 数据存储名:教师信息2) 说明:记录教师基本信息3) 编号:教师编号4) 组成:教师编号,姓名,职称教室1. 数据项1) 教室号数据项名数据项含义数据类型数据长度取值范围取值含义教室号唯一标识每一个教室字符串型10长度为1
7、0可变字符串教师编号2) 容纳人数数据项名数据项含义数据类型数据长度取值范围取值含义容纳人数教师的最大容量整型11-30教室的最大人数2. 数据结构1) 数据结构名:教室2) 含义说明:是学生选课管理系统的主体数据结构,定义了一个教室有关信息3) 组成:教室号,容纳人数3. 数据存储1) 数据存储名:教室信息2) 说明:记录教室基本信息3) 编号:教室编号4) 组成:教室编号,容纳人数授课1. 数据项1) 课程号数据项名数据项含义数据类型数据长度取值范围取值含义课程号唯一标识每一个课程字符型410009999表示课程的代号2) 授课时间数据项名数据项含义数据类型数据长度取值范围取值含义授课时间
8、上课时间字符型32字符串长表示课程的上课时间3) 授课地点数据项名数据项含义数据类型数据长度取值范围取值含义授课地点上课地点字符型32字符串长表示课程的上课地点2. 数据结构1) 数据结构名:授课2) 含义说明:是学生选课管理系统的主体数据结构,定义了一个授课有关信息3) 组成:课程号,授课时间,授课地点3. 数据存储1) 数据存储名:授课信息2) 说明:记录授课基本信息3) 编号:无4) 组成:课程号,教师号,授课地点二、 ER图设计以及关系模式转化 学生实体ER图 教师实体ER图 教室实体ER图 课程实体ER图 合并后的整体ER图三、 逻辑设计-ER图到关系模式的转换(规范化)学生(学号,
9、姓名,专业,所在院系,性别);学号完全函数决定姓名,专业,所在院系,性别,并且非主属性对码不存在部分函数依赖和传递依赖所以,学生(学号,姓名,专业,所在院系,性别)是3NF教室(教室号,可容纳人数);教室号完全函数决定可容纳人数,并且非主属性对码不存在部分函数依赖和传递依赖所以,教室(教室号,可容纳人数)是3NF教师(教师编号,性别,姓名,职称);教师编号完全函数决定可性别,姓名,职称,并且非主属性对码不存在部分函数依赖和传递依赖所以,教师(教师编号,性别,姓名,职称)是3NF课程(课程号,课程名称,学分);课程号完全函数决定课程号,课程名称,学分,并且非主属性对码不存在部分函数依赖和传递依赖
10、所以,课程(课程号,课程名称,学分)是3NF选课(学号,课程号,成绩);学号和课程号完全函数决定成绩,并且非主属性对码不存在部分函数依赖和传递依赖所以,选课(学号,课程号,成绩)是3NF授课(课程号,教师编号,教室号,授课时间);课程号,教师编号,教室号,完全函数决定授课时间,所以,授课(课程号,教师编号,教室号,授课时间)是3NF三、 数据表设计学生选课系统数据表结构设计:序号表名1学生表2教师表3教室表4课程表5选课表6授课表学生表名称数据类型主键非空约束条件学号Char(10)YesYes姓名VarcharNoYes所在院系VarcharNoYes性别TinyintNoYes0-男,1-
11、女专业Varchar(32)NoYes课程表名称数据类型主键非空约束条件课程号Char(4)YesYes课程名称VarcharNoYes学分Char(1)NoNo选课表名称数据类型主键非空约束条件学号Char(10)NoNo课程号Char(4)NoNo成绩TinyintNoNo0-100之间用户管理表名称数据类型主键非空用户名Varchar(32)YesYes密码Varchar(32)NoYes教室名称数据类型主键非空约束条件教室号char(10)yesyes容纳人数TinyintNoyes1-30教师名称数据类型主键非空约束条件教师编号char(10)Yesyes姓名Varcha(10)rN
12、oyes性别TinyintNo yes0是男1是女职称Varchar(10)No Yes授课表名称数据类型主键非空约束条件课程号char(4)Noyes授课时间Varchar(32)Noyes授课教室TinyintNoYes四、 实现(数据库建表)四、 数据库的建立五、 数据库表的建立六、 数据库关系图的建立选课关系图:授课关系图:七、 数据库运行结果五、 总结 总结:历经一个星期左右的课程设计,我们从中学到了很多基本的数据库设计原理,以及一些基本的数据库的操作过程,如:需求分析,数据字典的建立,以及ER图的设计与关系模式转化到表的建立,最后sql查询。 不足:数据库还存在一定的冗余现象,有与时间比较仓促,功能尚未完善,日后有待改进等等
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2