




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 E-R图52.2 概念结构图63 逻
3、辑结构设计73.1 E-R图向关系模型转换73.2 关系模式74 物理结构设计95 数据库的实施105.1 导入数据库105.3 建立表135.3 建立视图135.4 触发器设计145.5存储过程146 总结16致谢17参考文献181 需求分析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学生姓名Varchar(10)NoSsex性别Char(
6、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性别c
7、har(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)主码NoLrongliang实验室容量char(4)No1.2
8、.2数据流根据用户需求分析,由学生,管理员和教师等基本表之间的关系,总结出本系统所需要的数据流,如表1.8所示。表1.8 数据流编号数据流名输入输出1管理员开课信息课程新课程表2学生选课信息选课课程表3选课学生信息学生学号学生信息4实验室信息实验室号实验室容量,空余5管理信息管理员号,密码删除修改注册学生,教师信息6成绩信息教师号,密码学生成绩7教师考勤信息教师号教师考勤信息1.2.3数据项由数据结构在PowerDisgner中画出基本表,将表与表之间通过它们之间的关系联系起来,生成了数据项如表1.2。表1.9 数据项名称代码数据类型长度专业SdeptLA4040学分CcreditA22学号S
9、noA1010学生姓名SnameVA1010学生密码SpasswordLVA2020实验室号LnoA1010实验室容量LrongliangA44年级SgradeA1010年龄SageA22性别AsexA22性别TsexA22性别SsexA22所属系TdeptLVA4040授课地点CaddressA1010授课教师TnameA1010授课时间CtimeA1010教师号TnoA1010教师密码TpasswordLVA2020管理员号AnoA1010管理员名AnameVA1010管理员密码ApasswordLVA2020课程号CnoA1010课程名CnameLVA40402 概念结构设计2.1 E-
10、R图根据用户需求和数据结构画出本系统的E-R图。图2.1 E-R图选课姓名性别年龄专业年级密码学号课程名授课时间授课教师授课地点实验信息号数容量管理管理管理管理授课号学生可选总课表管理员学分密码性别名字编号课程名学生管理授课教师编号名字性别院系密码2.2 概念结构图分析本系统的需求,找出各个基本表之间的联系,通过PowerDisgner画出概念结构图。如下图2.1。图2.2 概念结构图3 逻辑结构设计概念结构是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为数据库管理系统所支持的数据模型符合的逻辑结构。3.1 E-R图向关系模型转换实体所对应
11、的关系模式。学生(学号,学生姓名,性别,年龄,专业,年级,学生密码)教师(教师号,授课教师,性别,所属系,教师密码)管理员(管理员号,管理员名,性别,管理员密码)学生可选总课表(课程号,课程名,学分)授课地点(课程名,授课时间,授课教师,授课地点)实验室信息(实验室号,实验室容量)学生表和学生可选总课表之间选课数对应的“选课”关系模式。图3.1 选课关系图教师和学生“教学”关系模式。图3.2 教学关系模式3.2 关系模式在PowerDesigner中建立好概念模型后,可以利用该软件自带的功能将其转换成物理模型,物理模型连接数据库生成所对应的表,然后利用SQL 2000生成关系图,如图3.3。图
12、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之后,表就在数据库Class中了。图5.6 导入成
13、功从下面的图,可以看出表已经成功的导入数据库了。图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 Varchar(20) not null);-
14、 建立学生表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) not null, Password Va
15、rchar(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 null, primary key ( Cad
16、dress,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) references Student(Sno)
17、, 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 教学.Grade < 60 and 教学
18、.Sno=Student.Sno-建立学生选课视图create view S_Casselect Course.Cno,Student.Snofrom Student,Course-建立一个学生总课程表的视图create view 课程表asselect Course.Cno,Course.Cname,Caddress.Tno,Caddress.Caddress,Caddress.Ctime,Course.Ccreditfrom Course,Caddresswhere Course.Cname = Caddress.Cname and Course.Cno = Caddress.Cno-建立
19、管理员-老师的视图create view Admin_Tasselect Teacher.Tno,Teacher.Tnamefrom Teacher,管教where 管教.Tno=Teacher.Tno and 管教.Tname=Teacher.Tname-建立老师-课程视图create view T_Casselect Student.Sno,教学.Gradefrom Student,教学where 教学.Sno=Student.Sno5.4 触发器设计在教学表里,考勤中放入旷课学生的次数。当旷课次数多于4次时,系统激发触发器,该学生不具有考试资格,成绩设置为0。CREATE TRIGGER
20、 考勤情况 ON 教学FOR UPDATEAS BEGINUPDATE 教学 SET Grade = '0'WHERE 考勤 > 4END;建立教师考勤触发器,当教室迟到3次以上系统激发触发器,该名教师没有年终奖励。CREATE TRIGGER 考勤教师 ON 教学FOR UPDATEAS BEGINUPDATE 教学 SET SALARY = '0'WHERE 考勤 > 3END;建立触发器禁止删除管理员,当尝试删除管理员信息时弹出消息提示。create trigger trig_manager100on managerfor deleteasde
21、clare cnt intselect cnt=count(mno) from deleted where mno=100if cnt<>0 beginraiserror('无法删除初始化管理员!',16,1) rollback transactionendgoselect * from provider5.5存储过程-学生信息存储过程CREATE PROCEDURE SASBEGINSELECT Sno,Sname,Ssex,Sage,Sdept,SgradeFROM StudentEND;-建立一个教师信息的存储工程CREATE PROCEDURE TASBEG
22、INSELECT Tno,Tname,TdeptFROM TeacherEND;-建立一个不及格学生的存储过程CREATE PROCEDURE 课程成绩ASBEGINSELECT Student.Sno,Student.Sname,GradeFROM Student,教学WHERE Student.Sno = 教学.Sno AND 教学.Grade < 60END;-建立一个成绩排序的存储过程CREATE PROCEDURE 成绩排序ASBEGINSELECT Student.Sno,Student.SnameFROM Student,教学ORDER BY 教学.GradeEND;-建立一个管理员的存储过程CREATE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025综合物流服务合同范本
- 2025届高三数学“8+3+3”小题期末专项练(10)复数与平面向量(新高考地区专用)解析版
- 2025赠与合同协议书范本
- 2025租赁合同终止的方法
- 2025年农科院作物学笔试题
- 2025年牙科综合治疗机合作协议书
- 2025年高、低能校正磁铁项目合作计划书
- 2025年麻疹、风疹、腮腺炎联合疫苗合作协议书
- 2025年金融担保服务项目合作计划书
- 2025年碳纤维预浸布项目合作计划书
- 湖北省武汉市部分学校2025届高三第三次模拟考试数学试卷含解析
- 《宜家在华门店扩张战略实施环境及实施途径研究》9700字(论文)
- 华为鸿蒙系统应用开发H14-231 V1.0备考试题库(含答案)
- JGJT46-2024《施工现场临时用电安全技术标准》条文解读
- 2024年江苏泰州市第四人民医院招考聘用高层次人才11人管理单位遴选500模拟题附带答案详解
- 火灾现场危险隐患培训
- 2024ESC心房颤动管理指南解读
- 晨检课件完整版本
- 美术教室装修合同模板
- 少年羽毛球教学课程设计
- 安装护眼灯合同范本(2篇)
评论
0/150
提交评论