重庆科技学院《数据库系统概论》课程设计报告摘要随着高等教育的不断深入,大学实行选课制度是非常有必要的,这样可以根据学生的兴趣,自行选择自己喜欢的课程。本系统就是为了适应新形势下的高校教育而开发的大学生选课。通过集成从学生选课、学校开选修课、教师考勤、授课、上成绩等一系列功能,每个环节明确分工,并通过后台数据库支持,有效减小了人为因素造成的差错,从而高效、便捷、准确的为学生和老师服务,使学生选课和老师授课都变的方便快捷。本系统由三类用户组成,学生,教师和管理员。学生的功能包括选课,查寻实验信息等,教师的功能包括考勤,学生实验成绩录入,查寻实验信息等。管理员的功能包括新建教师,学生账户,设定实验课程信息(设定实验时间,地点,任课教师)。管理员可对教师,学生及实验课程信息进行修改;教师可对任课的考勤,成绩进行修改;学生可以对自己选修的课程重选,退选。管理员可删除教师,学生及实验课程信息。教师可查询所任课程的学生名单,实验时间,考勤及实验成绩,并可按成绩分数段进行统计;学生可查寻所学课程的实验时间,教师名单;管理员具有全系统的查寻功能。通过SQL数据库作为后台,完成这一系列的操作。关键字:选课系统数据库重庆科技学院《数据库系统概论》课程设计报告III目录1需求分析................................................................11.1系统功能要求与分析...................................................11.1.1系统功能要求分析.............................................11.1.2设计环境.....................................................11.2数据字典.............................................................11.2.1数据结构.....................................................11.2.2数据流.......................................................31.2.3数据项.......................................................32概念结构设计............................................................42.1E-R图...............................................................42.2概念结构图..........................................................53逻辑结构设计............................................................63.1E-R图向关系模型转换.................................................63.2关系模式............................................................74物理结构设计............................................................95数据库的实施...........................................................105.1导入数据库.........................................................105.3建立表.............................................................135.3建立视图...........................................................145.4触发器设计.........................................................145.5存储过程............................................................146总结...................................................................17致谢.....................................................................18参考文献.................................................................19重庆科技学院《数据库系统概论》课程设计报告11需求分析1.1系统功能要求与分析1.1.1系统功能要求分析实验选课系统分为教师,学生及系统管理员三类用户,学生的功能包括选课,查寻实验信息等,教师的功能包括考勤,学生实验成绩录入,查寻实验信息等。管理员的功能包括新建教师,学生账户,设定实验课程信息(设定实验时间,地点,任课教师)。管理员可对教师,学生及实验课程信息进行修改;教师可对任课的考勤,成绩进行修改;学生可以对自己选修的课程重选,退选。管理员可删除教师,学生及实验课程信息。教师可查询所任课程的学生名单,实验时间,考勤及实验成绩,并可按成绩分数段进行统计;学生可查寻所学课程的实验时间,教师名单;管理员具有全系统的查寻功能。数据库要求:在数据库中至少应该包含下列数据表:教师,学生信息表:名字,密码等;课程信息表,课程名,学时等;实验室信息表;课程选修信息表,谁选了什么课程,谁任课,什么时间,地点;1.1.2设计环境基于WINDOWS操作系统,使用SQL2000和2005为数据库管理工具。1.2数据字典1.2.1数据结构根据课程设计任务书的要求,经需求分析,需用到六个表,分别为学生表,教师表,管理员表,学生可选总课表,授课地点表,试验信息表。详细属性及其主码如表1.1所示,其中加下划线的问该表的主码。表1.1表的属性和编号编号数据结构名属性1学生学号,学生姓名,性别,年龄,专业,年级,学生密码2教师教师号,授课教师,性别,所属系,教师密码3管理员管理员号,管理员名,性别,管理员密码4学生可选总课课程号,课程名,学分重庆科技学院《数据库系统概论》课程设计报告2表5授课地点课程名,授课时间,授课教师,授课地点6实验室信息实验室号,实验室容量下面是本系统所需要的六个基本表。表1.2学生表字段中文数据类型描述允许空Sno学号Char(10)用户信息表的唯一标识NoSname学生姓名Varchar(10)NoSsex性别Char(2)NoSage年龄Char(2)NoSdept专业Char(10)NoSgrade年级Char(10)Spassword学生密码Varchar(20)登陆实验选课系统的密码No表1.3教师表字段中文数据类型描述允许空Tno教师号Char(10)用户信息表的唯一标示NoTname授课教师Char(10)NoTsex性别Char(2)NoTdept所在院系Varchar(40)NoTpassword教师密码Varchar(20)登录试验选课系统的密码No表1.4管理员表字段中文数据类型描述允许空Ano管理员号Char(10)NoAname管理员名Varchar(10)NoAsex性别char(2)NoPassword管理员密码Varchar(20)登录实验选课系统的密码No表1.5学生可选总课程表字段中文数据类型描述允许空Cno课程号Int主码NoCname课程名Varchar(40)No重庆科技学院《数据库系统概论》课程设计报告3Ccredit学分Float(10)No表1.6授课地点表字段中文数据类型描述允许空Cno课程名Varchar(40)NoTname授课教师char(10)NoCaddress授课地点char(10)主码NoCtime授课时间char(10)主码No表1.7实验室信息字段中文数据类型描述允许空Lno实验室号char(10)主码NoLrongliang实验室容量char(4)No1.2.2数据流根据用户需求分析,由学生,管理员和教师等基本表之间的关系,总结出本系统所需要的数据流,如表1.8所示。表1.8数据流编号数据流名输入输出1管理员开课信息课程新课程表2学生选课信息选课课程表3选课学生信息学生学号学生信息4实验室信息实验室号实验室容量,空余5管理信息管理员号,密码删除修改注册学生,教师信息6成绩信息教师号,密码学生成绩7教师考勤信息教师号教师考勤信息1.2.3数据项由数据结构在PowerDisgner中画出基本表,将表与表之间通过它们之间的关系联系起来,生成了数据项如表1.2。表1.9数据项名称代码数据类型长度专业SdeptLA4040学分CcreditA22学号SnoA1010学生姓名SnameVA1010学生密码SpasswordLVA2020重庆科技学院《数据库系统概论》课程设计报告4实验室号LnoA1010实验室容量LrongliangA44年级SgradeA1010年龄SageA22性别AsexA22性别TsexA22性别SsexA22所属系TdeptLVA4040授课地点CaddressA1010授课教师TnameA1010授课时间CtimeA1010教师号TnoA1010教师密码TpasswordLVA2020管理员号AnoA1010管理员名AnameVA1010管理员密码ApasswordLVA2020课程号CnoA1010课程名CnameLVA40402概念结构设计2.1E-R图根据用户需求和数据结构画出本系统的E-R图。重庆科技学院《数据库系统概论》课程设计报告5图2.1E-R图2.2概念结构图分析本系统的需求,找出各个基本表之间的联系,通过PowerDisgner画出概念结构图。如下图2.1。图2.2概念结构图选课姓名性别年龄专业年级密码学号课程名授课时间授课教师授课地点实验信息号数容量管理管理管理管理授课号学生可选总课表管理员学分密码性别名字编号课程名学生管理授课教师编号名字性别院系密码重庆科技学院《数据库系统概论》课程设计报告6管理学生管理教师授课学生上课地点实验地点教师授课地点选课教学管理课程管理授课地点管理学生学号学生姓名性别年龄专业年级学生密码piA10VA10A2A2LA40A10LVA20MMMMMMMIdentifier_1pi教师教师号授课教师性别所属系教师密码piA10A10A2LVA40LVA20MMMMMIdentifier_1pi管理员管理员号管理员名性别管理员密码piA10VA10A2LVA20MIdentifier_1...pi学生可选总课程表课程号课程名学分piA10LVA40A2MMMIdentifier_1pi实验室信息实验室号实验室容量piA10A4MMIdentifier_1pi授课地点课程名授课地点授课教师授课时间pipiLVA40A10A10A10MMMMIdentifier_1pi3逻辑结构设计概念结构是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为数据库管理系统所支持的数据模型符合的逻辑结构。3.1E-R图向关系模型转换实体所对应的关系模式。学生(学号,学生姓名,性别,年龄,专业,年级,学生密码)教师(教