实验选课系统报告(数据库课程设计).doc

上传人:啊飒飒 文档编号:10628232 上传时间:2021-05-27 格式:DOC 页数:21 大小:475.13KB
返回 下载 相关 举报
实验选课系统报告(数据库课程设计).doc_第1页
第1页 / 共21页
实验选课系统报告(数据库课程设计).doc_第2页
第2页 / 共21页
实验选课系统报告(数据库课程设计).doc_第3页
第3页 / 共21页
实验选课系统报告(数据库课程设计).doc_第4页
第4页 / 共21页
实验选课系统报告(数据库课程设计).doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《实验选课系统报告(数据库课程设计).doc》由会员分享,可在线阅读,更多相关《实验选课系统报告(数据库课程设计).doc(21页珍藏版)》请在三一文库上搜索。

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

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

3、 E-R图52.2 概念结构图63 逻辑结构设计73.1 E-R图向关系模型转换73.2 关系模式74 物理结构设计95 数据库的实施105.1 导入数据库105.3 建立表135.3 建立视图135.4 触发器设计145.5存储过程146 总结16致谢17参考文献1811 需求分析1.1系统功能要求与分析1.1.1 系统功能要求分析实验选课系统分为教师,学生及系统管理员三类用户,学生的功能包括选课,查寻实验信息等,教师的功能包括考勤,学生实验成绩录入,查寻实验信息等。管理员的功能包括新建教师,学生账户,设定实验课程信息(设定实验时间,地点,任课教师)。管理员可对教师,学生及实验课程信息进行修

4、改;教师可对任课的考勤,成绩进行修改;学生可以对自己选修的课程重选,退选。管理员可删除教师,学生及实验课程信息。教师可查询所任课程的学生名单,实验时间,考勤及实验成绩,并可按成绩分数段进行统计;学生可查寻所学课程的实验时间,教师名单;管理员具有全系统的查寻功能。数据库要求:在数据库中至少应该包含下列数据表:教师,学生信息表:名字,密码等;课程信息表,课程名,学时等;实验室信息表;课程选修信息表,谁选了什么课程,谁任课,什么时间,地点;1.1.2设计环境基于WINDOWS操作系统,使用SQL 2000和2005为数据库管理工具。1.2数据字典1.2.1数据结构根据课程设计任务书的要求,经需求分析

5、,需用到六个表,分别为学生表,教师表,管理员表,学生可选总课表,授课地点表,试验信息表。详细属性及其主码如表1.1所示,其中加下划线的问该表的主码。表1.1 表的属性和编号编号数据结构名属性1学生学号,学生姓名,性别,年龄,专业,年级,学生密码2教师教师号,授课教师,性别,所属系,教师密码3管理员管理员号,管理员名,性别,管理员密码4学生可选总课表课程号,课程名,学分5授课地点课程名,授课时间,授课教师,授课地点6实验室信息实验室号,实验室容量下面是本系统所需要的六个基本表。表1.2 学生表字段中文数据类型描述允许空Sno学号Char (10)用户信息表的唯一标识NoSname学生姓名Varc

6、har(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管理员名

7、Varchar(10)NoAsex性别char(2)NoPassword管理员密码Varchar(20)登录实验选课系统的密码No表1.5 学生可选总课程表字段中文数据类型描述允许空Cno课程号Int主码NoCname课程名Varchar(40)NoCcredit学分Float(10)No表1.6 授课地点表字段中文数据类型描述允许空Cno课程名Varchar(40)NoTname授课教师char(10)NoCaddress授课地点char(10)主码NoCtime授课时间char(10)主码No表1.7 实验室信息字段中文数据类型描述允许空Lno实验室号char(10)主码NoLrongli

8、ang实验室容量char(4)No1.2.2数据流根据用户需求分析,由学生,管理员和教师等基本表之间的关系,总结出本系统所需要的数据流,如表1.8所示。表1.8 数据流编号数据流名输入输出1管理员开课信息课程新课程表2学生选课信息选课课程表3选课学生信息学生学号学生信息4实验室信息实验室号实验室容量,空余5管理信息管理员号,密码删除修改注册学生,教师信息6成绩信息教师号,密码学生成绩7教师考勤信息教师号教师考勤信息1.2.3数据项由数据结构在PowerDisgner中画出基本表,将表与表之间通过它们之间的关系联系起来,生成了数据项如表1.2。表1.9 数据项名称代码数据类型长度专业SdeptL

9、A4040学分CcreditA22学号SnoA1010学生姓名SnameVA1010学生密码SpasswordLVA2020实验室号LnoA1010实验室容量LrongliangA44年级SgradeA1010年龄SageA22性别AsexA22性别TsexA22性别SsexA22所属系TdeptLVA4040授课地点CaddressA1010授课教师TnameA1010授课时间CtimeA1010教师号TnoA1010教师密码TpasswordLVA2020管理员号AnoA1010管理员名AnameVA1010管理员密码ApasswordLVA2020课程号CnoA1010课程名CnameL

10、VA40402 概念结构设计2.1 E-R图根据用户需求和数据结构画出本系统的E-R图。图2.1 E-R图选课姓名性别年龄专业年级密码学号课程名授课时间授课教师授课地点实验信息号数容量管理管理管理管理授课号学生可选总课表管理员学分密码性别名字编号课程名学生管理授课教师编号名字性别院系密码2.2 概念结构图分析本系统的需求,找出各个基本表之间的联系,通过PowerDisgner画出概念结构图。如下图2.1。图2.2 概念结构图3 逻辑结构设计概念结构是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为数据库管理系统所支持的数据模型符合的逻辑结构。

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

12、QL 2000生成关系图,如图3.3。图3.3 关系模式4 物理结构设计概念模型转换为物理模型图4.1 概念和物理模型转换5 数据库的实施5.1 导入数据库通过建立ODBC数据源,将PowerDesigner中的基本表和关系模型导入到数据库中,进行视图,存储的操作。建立ODBC数据源。图5.1 建立数据源“实验选课”是我在数据库里创建的新的数据库。图5.2 建立新数据库ODBC数据源连接成功。图5.3 数据连接在菜单的DataBase中,单击Contect配置连接。图5.4 配置连接建立连接之后,在打开Database Generation,将表导入数据库。图5.5 导入数据库RUN之后,表就

13、在数据库Class中了。图5.6 导入成功从下面的图,可以看出表已经成功的导入数据库了。图5.7 导入成功将建立的表导入数据库后,就能对数据库进行相关的插入、删除、更新等操作,数据库就实施起来了。5.3 建立表create table Student(Sno Char(10) primary key not null, Sname Varchar(10) not null, Ssex Char(10) not null, Sage Char(2) not null, Sdept Char(10) not null, Sgrade Char(10) not null, Spassword Var

14、char(20) not null);- 建立学生表create table Teacher(Tno Char(10) primary key not null, Tname Char(20) not null, Tsex Char(8) not null, Tdept Varchar(40) not null, Tpassword Varchar(20) not null);-建立教师表create table Administartor(Ano Char(10) primary key not null, Aname Varchar(10) not null, Asex Char(2) n

15、ot null, Password Varchar(20) not null);-建立管理员表create table Course(Cno Int primary key not null, Cname Varchar(40) not null, Ccredit Float(10) not null);-建立课程表create table Caddress(Cno Int not null, Cname Varchar(40) not null, Tno Char(10) not null, Caddress Char(10) not null, Ctime Char(10) not nul

16、l, primary key ( Caddress,Ctime), foreign key (Cno) references Course(Cno), foreign key (Tno) references Teacher(Tno);-上课地点表create table 教学(Grade Char(10) not null, Sno Char(10) not null,primary key (Grade,Sno);-建立教学表create table SC(Sno Char(10), Cno Int, primary key (Sno,Cno), foreign key (Sno) ref

17、erences Student(Sno), foreign key (Cno) references Course(Cno) );-建立学生选课表 create table AT (Salary Char(10), Tno Char(10) primary key, foreign key (Tno) references Teacher (Tno) );-建立管理员和教师的表5.3 建立视图-建立一个成绩不及格的学生学号,姓名的视图create view Student_不及格asselect Student.Sname,Student.Snofrom 教学,Studentwhere 教学.

18、Grade 4END;建立教师考勤触发器,当教室迟到3次以上系统激发触发器,该名教师没有年终奖励。CREATE TRIGGER 考勤教师 ON 教学FOR UPDATEAS BEGINUPDATE 教学 SET SALARY = 0WHERE 考勤 3END;建立触发器禁止删除管理员,当尝试删除管理员信息时弹出消息提示。create trigger trig_manager100on managerfor deleteasdeclare cnt intselect cnt=count(mno) from deleted where mno=100if cnt0 beginraiserror(无

19、法删除初始化管理员!,16,1) rollback transactionendgoselect * from provider5.5存储过程-学生信息存储过程CREATE PROCEDURE SASBEGINSELECT Sno,Sname,Ssex,Sage,Sdept,SgradeFROM StudentEND;-建立一个教师信息的存储工程CREATE PROCEDURE TASBEGINSELECT Tno,Tname,TdeptFROM TeacherEND;-建立一个不及格学生的存储过程CREATE PROCEDURE 课程成绩ASBEGINSELECT Student.Sno,S

20、tudent.Sname,GradeFROM Student,教学WHERE Student.Sno = 教学.Sno AND 教学.Grade 60END;-建立一个成绩排序的存储过程CREATE PROCEDURE 成绩排序ASBEGINSELECT Student.Sno,Student.SnameFROM Student,教学ORDER BY 教学.GradeEND;-建立一个管理员的存储过程CREATE PROCEDURE 管理员ASBEGINSELECT Ano,AnameFROM AdministorEND;6 总结本次数据库期末课程设计到今天就完全结束了,回想起过去的一周学到的

21、东西我顿时觉得之前所受的苦痛还是值得饿的。数据库的一学期的学习到此结束,不过虽然大学里的数据库课程结束了,但是我在以后生活中的学习还没结束,因为我在这次课程设计中体会到了数据库对于一个学习软件的同学来说是多么的重要。随着社会不停的发展,我们的生活愈加方便,各种软件在我们的现代生活中扮演着重要的作用,而数据库更是其中的最大功臣,因为各种软件的运行前提都是有个比较完善的数据库,没有数据库的软件是不能用于实际生活中的。所以可以说数据库对于计算机的同学来说是至关重要的。通过本次的学习也使我深刻的理解到了以前所学数据库的含义,让我从最基本的东西中了解了数据库的发展史。也让我这个初学者从心底里喜欢上了这一

22、门学科。致谢一周过去了,我的数据库课程设计也到此结束了。以前我对数据库的很多语句都不是很熟悉,因此课程设计的时候很多问题多无法解决,后来多亏了同学对我的指点才让我得以顺利的结束遇到的各种问题。其次要感谢学校给了我这次学习的机会,让我在通过具体的操作中学到了不少东西,也加深了对数据库的理解。最后衷心的对那些在过去一周里给我提供了帮助的同学们,如果没有他们我想我不可能这么顺利的完成本次课程设计。参考文献1丁振凡 . Java语言实用教程 . 北京邮电大学出版社 . 2006.92丁振凡 . Java语言实用教程实验指导. 北京邮电大学出版社. 2006 . 93萨师煊 . 数据库系统概论. 高等教育出版社. 2006.94曾平 . 数据库原理与应用. 清华大学出版社. 2006.1018

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1