实验选课系统报告(数据库课程设计)_第1页
实验选课系统报告(数据库课程设计)_第2页
实验选课系统报告(数据库课程设计)_第3页
实验选课系统报告(数据库课程设计)_第4页
实验选课系统报告(数据库课程设计)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、重庆科技学院数据库系统概论课程设计报告摘要随着高等教育的不断深入,大学实行选课制度是非常有必要的,这样可以根据学生的兴趣,自行选择自己喜欢的课程。本系统就是为了适应新形势下的高校教育而开发的大学生选课。通过集成从学生选课、学校开选修课、教师考勤、授课、上成绩等一系列功能,每个环节明确分工,并通过后台数据库支持,有效减小了人为因素造成的差错,从而高效、便捷、准确的为学生和老师服务,使学生选课和老师授课都变的方便快捷。本系统由三类用户组成,学生,教师和管理员。学生的功能包括选课,查寻实验信息等,教师的功能包括考勤,学生实验成绩录入,查寻实验信息等。管理员的功能包括新建教师,学生账户,设定实验课程信

2、息(设定实验时间,地点,任课教师) 。管理员可对教师,学生及实验课程信息进行修改;教师可对任课的考勤,成绩进行修改;学生可以对自己选修的课程重选,退选。管理员可删除教师,学生及实验课程信息。教师可查询所任课程的学生名单,实验时间,考勤及实验成绩,并可按成绩分数段进行统计;学生可查寻所学课程的实验时间,教师名单;管理员具有全系统的查寻功能。通过 SQL 数据库作为后台,完成这一系列的操作。关键字:选课系统数据库重庆科技学院数据库系统概论课程设计报告目录1需求分析 . .11.1系统功能要求与分析 . .11.1.1系统功能要求分析 . .11.1.2设计环境 .11.2数据字典 . .11.2.

3、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参考文献 . .19I II重庆科技学院数据库系统概论课程设计报告1 需求分析1.1 系统功能要求与分析1.1.1系统功能要求分析实验选课系统分为教师 ,学生及系统管理员三类用户,学生的功能包

4、括选课,查寻实验信息等,教师的功能包括考勤,学生实验成绩录入,查寻实验信息等。管理员的功能包括新建教师,学生账户,设定实验课程信息(设定实验时间,地点,任课教师)。管理员可对教师, 学生及实验课程信息进行修改; 教师可对任课的考勤, 成绩进行修改;学生可以对自己选修的课程重选,退选。管理员可删除教师,学生及实验课程信息。教师可查询所任课程的学生名单,实验时间,考勤及实验成绩,并可按成绩分数段进行统计;学生可查寻所学课程的实验时间,教师名单;管理员具有全系统的查寻功能。数据库要求:在数据库中至少应该包含下列数据表:教师,学生信息表:名字,密码等;课程信息表,课程名,学时等;实验室信息表;课程选修

5、信息表,谁选了什么课程,谁任课,什么时间,地点;1.1.2设计环境基于 WINDOWS操作系统,使用SQL 2000和 2005 为数据库管理工具。1.2 数据字典1.2.1数据结构根据课程设计任务书的要求, 经需求分析,需用到六个表,分别为学生表, 教师表,管理员表,学生可选总课表,授课地点表,试验信息表。详细属性及其主码如表 1.1 所示,其中加下划线的问该表的主码。表 1.1 表的属性和编号编号数据结构名属性1学生学号,学生姓名,性别,年龄,专业,年级,学生密码2教师教师号,授课教师,性别,所属系,教师密码3管理员管理员号,管理员名,性别,管理员密码4学生可选总课课程号,课程名,学分1重

6、庆科技学院数据库系统概论课程设计报告表5授课地点课程名,授课时间,授课教师,授课地点6 实验室信息 实验室号,实验室容量下面是本系统所需要的六个基本表。表 1.2学生表字段中文数据类型描述允许空用Sno学号Char (10)户信息表的唯No一标识Sname学生姓名Varchar(10)NoSsex性别Char(2)NoSage年龄Char(2)NoSdept专业Char(10)NoSgrade年级Char(10)登Spassword学生密码Varchar(20)陆实验选课系No统的密码表 1.3教师表字段中文数据类型描述允许空用Tno教师号Char(10)户信息表的No唯一标示Tname授课教

7、师Char(10)NoTsex性别Char(2)NoTdept所在院系Varchar(40)No登Tpassword教师密码Varchar(20)录试验选课No系统的密码表 1.4 管理员表字段中文数据类型描述允许空Ano管理员号Char(10)NoAname管理员名Varchar(10)NoAsex性别char(2)No登Password管理员密码Varchar(20)录实验选课系No统的密码表 1.5学生可选总课程表字段中文数据类型描述允许空Cno课程号Int主码NoCname课程名Varchar(40)No2重庆科技学院数据库系统概论课程设计报告Ccredit学分Float(10)No表

8、 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实验室

9、信息实验室号实验室容量,空余5管理信息管理员号,密码删除修改注册学生,教师信息6成绩信息教师号,密码学生成绩7教师考勤信息教师号教师考勤信息1.2.3数据项由数据结构在 PowerDisgner 中画出基本表,将表与表之间通过它们之间的关系联系起来,生成了数据项如表 1.2 。表 1.9 数据项名称代码数据类型长度专业SdeptLA4040学分CcreditA22学号SnoA1010学生姓名SnameVA1010学生密码SpasswordLVA20203重庆科技学院数据库系统概论课程设计报告实验室号LnoA1010实验室容量LrongliangA44年级SgradeA1010年龄SageA22

10、性别AsexA22性别TsexA22性别SsexA22所属系TdeptLVA4040授课地点CaddressA1010授课教师TnameA1010授课时间CtimeA1010教师号TnoA1010教师密码TpasswordLVA2020管理员号AnoA1010管理员名AnameVA1010管理员密码ApasswordLVA2020课程号CnoA1010课程名CnameLVA40402 概念结构设计2.1 E-R 图根据用户需求和数据结构画出本系统的E-R 图。4重庆科技学院数据库系统概论课程设计报告图 2.1 E-R图学号姓名性别编号名字性别年龄学生院系专业授课年级选课教师密码密码管理课 程管

11、授 课学生可选理总课表管编号学分管理员名字管性别授课地点密码管课授授实验信课课程时教名间号容数量2.2概念结构图分析本系统的需求,找出各个基本表之间的联系,通过 PowerDisgner 画出概念结构图。如下图 2.1 。图 2.2概念结构图5重庆科技学院数据库系统概论课程设计报告学生学号<pi>A10 <M>学生姓名 VA10<M>性别A2<M>年龄A2<M>专业LA40<M>年级A10 <M>学生密码 LVA20<M>Identifier<pi>1教学选课管理学生教师学生可选总课程表

12、授课教师号<pi>A10 <M>授课教师 A10 <M>课程号性别A2 <M><pi>A10 <M>课程名 LVA40<M>管理教师所属系LVA40<M>学分A2 <M>教师密码 LVA20<M>管理员Identifier<pi>1管理课程管理员号Identifier<pi>1<pi>A10 <M>管理员名VA10性别A2管理员密码LVA20Identifier<pi>1.教师授课地点学生上课地点管理授课地点管理实验

13、室信息授课地点实验室号课程名 LVA40<M><pi>A10<M>实验室容量A4 <M>授课地点<pi>A10 <M>实验地点Identifier<pi>1授课教师 A10 <M>授课时间<pi>A10 <M>Identifier<pi>13 逻辑结构设计概念结构是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的基本 E-R 图转换为数据库管理系统所支持的数据模型符合的逻辑结构。3.1 E-R 图向关系模型转换实体所对应的关系模式

14、。学生(学号,学生姓名,性别,年龄,专业,年级,学生密码)教师(教师号,授课教师,性别,所属系,教师密码)6重庆科技学院数据库系统概论课程设计报告管理员(管理员号,管理员名,性别,管理员密码)学生可选总课表( 课程号,课程名,学分 )授课地点( 课程名,授课时间,授课教师,授课地点)实验室信息( 实验室号,实验室容量 )学生表和学生可选总课表之间选课数对应的“选课”关系模式。图 3.1选课关系图教师和学生“教学”关系模式。图 3.2教学关系模式3.2关系模式在 PowerDesigner 中建立好概念模型后, 可以利用该软件自带的功能将其转换成物理模型,物理模型连接数据库生成所对应的表,然后利

15、用 SQL 2000 生成关系图,如图 3.3 。图 3.3关系模式7重庆科技学院数据库系统概论课程设计报告8重庆科技学院数据库系统概论课程设计报告4 物理结构设计概念模型转换为物理模型图 4.1概念和物理模型转换学生学号char(10)<pk>管理员号char(10)<fk>学生姓名varchar(10)性别char(2)FK_TEACHER管_理教师ADMINIST年龄char(2)管理员专业varchar(40)FK_STUDENT管_理学生ADMINIST管理员号 char(10) <pk>年级char(10)学生密码varchar(20)管理员名

16、varchar(10)FK_选课_选课_STUDENT FK_教学_教学_STUDENT性别char(2)管理员密码varchar(20)选课学号char(10)<pk,fk1>课程号char(10)<pk,fk2>授课教师char(10)<pk>授课时间char(10)<pk>授课地点char(10)<pk>学分char(2) <pk>FK_选课_选课2_COURSEALFK_COURSEAD管理授课地点ADMINIST教学学号char(10) <pk,fk1>教师号 char(10) <pk,fk2&

17、gt;FK_COURSEAL管_理课程ADMINISTchar(10)教师考勤FK_教学_教学2_TEACHER成绩char(4)教师号 char(10)<pk>授课时间char(10)<fk2>授课地点char(10)<fk2>管理员号char(10)<fk1>FK_授课授课 TEACHERFK_LIB管理 ADMINIST授课教师char(10)学生可选总课程表授课性别char(2)课程号FK_授课_授课2_COURSEAL所属系 varchar(40)char(10)<pk>教师号 char(10) <pk,fk1>

18、教师密码varchar(20)管理员号 char(10)<fk>课程号 char(10) <pk,fk2>课程名varchar(40)FK_TEACHER教师授课地点2 COURSEAD学分char(2)FK_COURSEAD教_师授课地点TEACHERFK_COURSEAD学_生上课地点COURSEAL授课地点课程名 varchar(40)授课地点char(10)<pk>实验室信息授课教师char(10)实验室号 char(10) <pk>授课时间char(10)<pk>课程号 char(10)<fk1>FK_LIB 实

19、验地点2_COURSEADFK_COURSEAD实验地点LIB 管理员号 char(10) <fk2>教师号 char(10)<fk3>授课时间 char(10) <fk1>实验室号char(10)<fk2>授课地点 char(10) <fk1>管理员号char(10)<fk4>实验室容量char(4)9重庆科技学院数据库系统概论课程设计报告5 数据库的实施5.1导入数据库通过建立 ODBC数据源,将 PowerDesigner 中的基本表和关系模型导入到数据库中,进行视图,存储的操作。建立 ODBC数据源。图 5.1建立

20、数据源“实验选课”是我在数据库里创建的新的数据库。图 5.2建立新数据库ODBC数据源连接成功。图 5.3数据连接10重庆科技学院数据库系统概论课程设计报告在菜单的 DataBase 中,单击 Contect 配置连接。图 5.4 配置连接建立连接之后,在打开Database Generation,将表导入数据库。图 5.5导入数据库11重庆科技学院数据库系统概论课程设计报告RUN之后,表就在数据库Class 中了。图 5.6导入成功从下面的图,可以看出表已经成功的导入数据库了。图 5.7导入成功12重庆科技学院数据库系统概论课程设计报告将建立的表导入数据库后,就能对数据库进行相关的插入、删除

21、、更新等操作,数据库就实施起来了。5.3建立表createtableStudent( SnoChar( 10)primarykeynotnull,SnameVarchar(10)notnull,SsexChar(10)notnull,SageChar( 2 )notnull,SdeptChar ( 10 )notnull,SgradeChar ( 10 )notnull,SpasswordVarchar(20 )notnull); -建立学生表createtableTeacher( TnoChar( 10)primarykeynotnull,TnameChar ( 20 )notnull,Ts

22、exChar( 8 )notnull,TdeptVarchar(40)notnull,TpasswordVarchar(20 )notnull); -建立教师表createtableAdministartor( AnoChar( 10)primarykeynotnull,AnameVarchar(10)notnull,AsexChar( 2 )notnull,PasswordVarchar( 20)notnull); -建立管理员表createtableCourse( CnoIntprimarykey not null,CnameVarchar(40)notnull,CcreditFloat(

23、10)notnull); -建立课程表createtableCaddress( CnoIntnotnull,CnameVarchar(40)notnull,TnoChar ( 10 )notnull,CaddressChar(10)notnull,CtimeChar ( 10 )notnull,primarykey(Caddress, Ctime),foreignkey( Cno )referencesCourse( Cno ),foreignkey( Tno )referencesTeacher( Tno ); -上课地点表13重庆科技学院数据库系统概论课程设计报告createtable教学

24、( GradeChar ( 10 )notnull,SnoChar ( 10 )notnull,primarykey( Grade , Sno );- 建立教学表createtableSC( SnoChar ( 10 ),CnoInt,primarykey( Sno , Cno ),foreignkey( Sno )referencesStudent( Sno ),foreignkey( Cno )referencesCourse( Cno ); - 建立学生选课表createtableAT( SalaryChar ( 10 ),TnoChar ( 10 )primarykey ,foreig

25、nkey( Tno )referencesTeacher( Tno );- 建立管理员和教师的表5.3建立视图- 建立一个成绩不及格的学生学号,姓名的视图createviewStudent_不及格asselectStudent. Sname , Student. Snofrom教学 , Studentwhere教学 . Grade< 60and教学 . Sno = Student. Sno- 建立学生选课视图createviewS_CasselectCourse. Cno , Student. SnofromStudent, Course- 建立一个学生总课程表的视图createview

26、课程表asselectCourse. Cno , Course. Cname , Caddress . Tno , Caddress . Caddress , Caddress . Ctime ,Course. CcreditfromCourse, CaddresswhereCourse . Cname = Caddress . Cnameand Course. Cno =Caddress . Cno- 建立管理员 - 老师的视图createviewAdmin_TasselectTeacher. Tno , Teacher. TnamefromTeacher, 管教where管教 . Tno

27、=Teacher. Tnoand管教 . Tname = Teacher. Tname- 建立老师 - 课程视图createviewT_CasselectStudent. Sno , 教学 . GradefromStudent, 教学where教学 . Sno =Student. Sno5.4触发器设计在教学表里,考勤中放入旷课学生的次数。当旷课次数多于 4 次时,系统激发触发器,该学生不具有考试资格,成绩设置为 0。CREATETRIGGER考勤情况ON 教学14重庆科技学院数据库系统概论课程设计报告FOR UPDATEAS BEGINUPDATE 教学SETGrade='0'

28、;WHERE 考勤> 4END;建立教师考勤触发器,当教室迟到3 次以上系统激发触发器,该名教师没有年终奖励。CREATETRIGGER考勤教师ON 教学FOR UPDATEAS BEGINUPDATE 教学SETSALARY='0'WHERE 考勤> 3END;建立触发器禁止删除管理员,当尝试删除管理员信息时弹出消息提示。createtriggertrig_manager100on managerfor deleteasdeclarecnt intselectcnt=count ( mno) from deletedwhere mno = 100ifcnt <

29、;> 0beginraiserror( ' 无法删除初始化管理员! ' , 16 , 1 )endrollbacktransactiongoselect*fromprovider5.5 存储过程- 学生信息存储过程CREATE PROCEDURE S ASBEGINSELECT Sno , Sname , Ssex , Sage , Sdept , SgradeFROM StudentEND;- 建立一个教师信息的存储工程CREATE PROCEDURE T ASBEGINSELECT Tno , Tname , Tdept FROM TeacherEND;- 建立一个不及格学生的存储过程CREATEPROCEDURE 课程成绩ASBEGINSELECTStudent. Sno , Student. Sname , GradeFROM Student, 教学WHERE Student. Sno= 教学 . SnoAND 教学 . Grade< 60END

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论