数据库 学生管理系统 课程设计_第1页
数据库 学生管理系统 课程设计_第2页
数据库 学生管理系统 课程设计_第3页
数据库 学生管理系统 课程设计_第4页
数据库 学生管理系统 课程设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、一、 问题描述:系统中有三类用户:管理员、教师和学生。各类用户的具体描述如下:(1)管理员 描述:管理员维护整个系统,包括设置选课时段,选课前学生不可登录;选课结束,学生只可查询,管理员对选课结果进行统计;查询选课情况,对学生的选课申请进行处理,进行用户管理;限制最大选课人数;排课、发布选课信息;数据备份和恢复等。(2)教师描述:教师撰写教师反馈,反馈选课信息,对排课者提出反馈意见,供排课者(管理员)在排课时参考使用。查询课程基本情况、学生情况。(3) 学生描述:在选课系统中查询课程、教室信息,查看教师反馈,提交选课申请,撤销申请,查询选课情况,登录系统,进行个人信息修改等与选课有关的活动。系

2、统进行了划分,分为三个主要处理业务,即登录控制业务、排课业务和选课业务。其中,登录是前提,排课是基础,选课是关键。登录区描述:分排课者(即系统管理员),教师和学生这三者的不同身份,给出不同的权限,在页面中根据身份判断其相应具有的权限,进行不同的操作。排课业务描述:主要供排课者使用,其中设定选课时间段,进行排课并检测排课冲突,发布选课信息都是选课的前提和基础。选课业务描述:是本系统要实现的最终目的。选课业务主要供学生选课使用,在这里可以进行与选课有关的活动,包括课程浏览查询、选课、退选课程。二、 需求分析: (一)数据流图-学生界面查询信息 回复查询结果 查询请求 课程信息表 查询请求 退选 回

3、复课程修改信息验证信息 查询学生界面学生 用户名、密码 正确信息 信息 回复 错误信息 密码 修改 回 用户名、密码 验证结果 请求 复 退选课程信息修改密码 新密码 修改成功 学生信息表 选课信息表 修改成功 添加、删除选课信息 回复查询请求(二)数据流图-教师界面 授课表 回复查询成绩信息 查询教学安排 回复教学安排 回复查询个人信息查询信息 回复查询结果 查询个人信息 查询成绩信息 课程信息表 查询请求 成绩录入学生成绩验证信息 录入教师界面教师 用户名、密码 正确信息 请求 回复 错误信息 密码 回 修改 复 用户名、密码 验证结果 请求 成绩单 录入修改密码 新密码 成功 教师信息表

4、 选课信息表 修改成功 (三)数据流图-管理员界面 学生信息 教师信息 课程信息 授课信息 查询 添加 查询 添加 查询 添加 查询 添加 修改 删除 修改 删除 修改 删除 修改 删除删除信息修改信息添加信息查询信息 回 回复 回复 复 查询请求 添加请求 修改请求 删除请求 验证信息 回复管理员管理员界面 用户名、密码 正确信息 错误信息 密码 修改 回 用户名、密码 验证结果 请求 复 修改密码 新密码 管理员信息表 修改成功(四)数据字典数据元素 数据类型 长度 数据来源学号 nchar 10 学生表 姓名 nchar 8 学生表 密码 nchar 20 学生表 专业 nchar 20

5、 学生表 系别 nchar 20 学生表 年龄 int 2 学生表 教职工号 nchar 10 教师表 姓名 nchar 8 教师表 密码 nchar 20 教师表 职工号 nchar 10 管理员表 姓名 nchar 8 管理员表密码 nchar 20 管理员表 课程编号 nchar 10 课程表 课程名 nchar 8 课程表 学分 float 1 课程表学号 nchar 10 选课表 课程编号 nchar 10 选课表 成绩 numeric (4,2) 选课表 教职工号 nchar 10 授课表课程编号 nchar 10 授课表 课时 nchar 10 授课表已选人数 Int 2 选课表

6、 可选人数 Int 2 选课表三、概念结构设计:(一)各个实体的E-R图分别如下图所示教职工号密码姓名职工号密码姓名教师管理员年龄系别专业密码姓名学号学生课程名课程编号学分课程学号课程编号教职工号课时课程编号成绩已选人数可选人数选课排课(二)局部E-R图分别如下图所示学-课课程学生 m n成绩课时教-课课程教师 m 1学分学生教-学教师 m n管-学学生管理员 m n管-教教师管理员 m n管-课课程管理员 m n(三)合并E-R图如下图所示(各实体联系属性省略) 全局E-R图学生 n n 教-学管-学 m m m学-课教师管-教管理员 n m m教-课管-课 m n n 1课程三、 逻辑结构

7、设计:关系模式(属于3NF):教师(教职工号、姓名、密码)管理员(职工号、姓名、密码)学生(学号、姓名、密码、专业、系别、年龄)课程(课程编号、课程名、学分)管-学(职工号、学号、教职工号、课程编号)教-学(学号、教职工号、学分)教-课(教职工号、课程编号、课时)学-课(学号、课程编号、成绩、已选人数、可选人数)学生信息表序号列名数据类型可否NULL主码备注1学号nchar(10)否完整性2姓名nchar(10)否3年龄int可4专业nchar(20)可5系别nchar(20)可6密码nchar(20)否教师信息表序号列名数据类型可否NULL主码备注1教职工号nchar(10)否完整性2姓名n

8、char(8)否3密码nchar(20)否管理员信息表序号列名数据类型可否NULL主码备注1职工号nchar(10)否完整性2姓名nchar(8)否3密码nchar(20)否课程信息表序号列名数据类型可否NULL主码备注1课程编号nchar(10)否完整性2课程名nchar(8)否3学分Float否选课信息表序号列名数据类型可否NULL主码备注1学号nchar(10)否完整性2课程编号nchar(10)否完整性3成绩numeric(4,2)否4已选人数int可 5可选人数int可授课信息表序号列名数据类型可否NULL主码备注1教职工号nchar(10)否完整性2课程编号nchar(10)否完整

9、性3课时nchar(10)否数据库表关系图四、 物理结构设计: (一)学生信息表(二)教师信息表(三)管理员信息表(四)课程信息表(五)选课信息表(六)授课信息表六、程序: (一)索引的建立CREATE UNIQUE INDEX adminid ON 管理员信息表(职工号);CREATE UNIQUE INDEX studentid ON 学生信息表(学号);CREATE UNIQUE INDEX teacherid ON 教师信息表(教职工号);CREATE UNIQUE INDEX courseid ON 课程信息表(课程编号);CREATE UNIQUE INDEX scid ON 选课

10、信息表(学号,课程编号);CREATE UNIQUE INDEX tcid ON 授课信息表(教职工号,课程编号);(二)创建视图1.创建学生信息视图CREATE VIEW 学生信息视图(学号,姓名,年龄,系别,专业,密码)AS SELECT 学号,姓名,年龄,系别,专业,密码FROM 学生信息表2.创建教师信息视图CREATE VIEW 教师信息视图(教职工号,姓名,密码)AS SELECT 教职工号,姓名,密码FROM 教师信息表3.创建管理员信息视图CREATE VIEW 管理员信息视图(职工号,姓名,密码)AS SELECT 职工号,姓名,密码FROM 管理员信息表4.创建课程信息视图

11、CREATE VIEW 课程信息视图(课程编号,课程名,学分)AS SELECT课程编号,课程名,密码FROM 课程信息表5.创建选课信息视图CREATE VIEW 选课信息视图(学号,课程编号,成绩)AS SELECT学号,课程编号,成绩FROM 选课信息表6.创建授课信息视图CREATE VIEW 授课信息视图(教职工号,课程编号,课时,可选人数,已选人数)AS SELECT教职工号,课程编号,课时,可选人数,已选人数FROM 授课信息表(三)创建触发器(1)这个触发器在往选课信息表中插入选课信息后触发,其目的是让已选人数加一,可选人数减一,保证数据库数据的完整性;DELIMITER /C

12、REATE TRIGGER infoAFTER INSERT ON 选课信息表 FOR EACH ROW BEGIN UPDATE 选课信息表 SET已选人数=已选人数+1, 可选人数=可选人数-1 WHERE 课程编号=new.课程编号;END/(2)这个触发器是在删除选课信息表表中的选课信息时触发,其目的是让已选人数减一,可选人数加一,保证数据库数据的完整性;DELIMITER /CREATE TRIGGER _infoAFTER DELETE ON 选课信息表FOR EACH ROW BEGIN UPDATE 选课信息表 SET已选人数=已选人数-1, 可选人数=可选人数+1 WHERE

13、 课程编号=old.课程编号;END(四)例查询(仅举例)1.SELECT 学号,课程名FROM 学生信息表,课程信息表2.SELECT 学号,sum(学分) 总学分FROM 课程信息表,学生信息表group by 学号七、设计小结:通过本次课程设计,使我真正的了解掌握了实际开发的过程、步骤。在之前的一些课程设计中,总是先去写代码,在完成代码后补充其他部分,这次从需求分析开始,画出系统的数据流图,写出较为详细的数据字典;之后进行了概念结构设计,E-R图使问题更细化,层次化;接下来是逻辑结构设计,为了使系统优化程度更好,满足3NF,对系统数据库中的各种表进行了更加细化的定义;最后通过SQL语句进行查询等功

温馨提示

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

评论

0/150

提交评论