您好,欢迎访问三七文档
数据库原理实训——学生管理系统班级:成员:指导老师:开发时间:一.需求分析1、编写目的为了明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档。本文档供项目经理、设计人员、开发人员参考。2、项目背景使用计算机对学生信息进行管理,拥有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、成本低等。这些优点能够极大地提高学生信息的效率,也是管理科学化、正规化的重要支撑。学生信息管理系统能够方便地查询和变更学生的基本数据(包括学籍数据和成绩数据),节省大量工作时间,有效地提高学生信息管理的效率。而查询信息的直观显示将有助于系统的用户一目了然地掌握学生的情况。3、开发计划分阶段完成任务:第一阶段实现快速界面原型,并进行相应的补充修改以满足客户的需求;第二阶段完成界面的进一步设计求精,形成最终的设计样式;第三阶段:完成数据库的开发;第四阶段:整合管理系统并进行各项测试改正出现的各种问题。4、实现的内容学生信息管理系统属于应用系统。学生信息管理系统的使用者是教务处管理员和学生。它的功能就是教师通过输入用户名和口令登陆到教学管理数据库中,从而实现对各门选课人数限制,对学生信息的维护限制。每个新学年的开始,都有新生的进入,和毕业生离校,每个学期学生的课程会发生改变以及有些学生因为不同的原因离校或者有新来的转校生。系统要对这些情况做相应的改变。离校的将学生信息删除,新来的要将学生信息存入系统,课程改变了,要将其修改。教务处访问该系统将学生信息填入、删除或修改,学生可以在系统上查询本人信息。该系统是一个集成多功能的信息管理系统,有教师资料管理、学生管理、班级管理、院系管理、课程管理和成绩管理功能模块。本系统将大大提高学生信息的管理效率,带来数据共享、网络查询和网络管理等便利,实现学生信息管理的数字化和智能化。教师管理模块:本模块主要对教师的资料信息进行查询,删除,修改和添加。学生管理模块:本模块主要对学生资料信息进行相应的查询,删除,修改和添加。添加了学生所在院系资料与学生所在专业资料,同时可对院系资料与专业资料进行相应的添加,修改,查询。课程管理模块:本模块主要对课程资料进行管理,对其进行查询,添加,修改和删除。又详细划分了课程类别资料,对其进行如上操作。成绩管理模块:本模块对学生成绩进行查询操作,如发现成绩有输入错误,可对其进行相应的修改,还可对学生的成绩进行录入班级管理模块:本模块班级资料信息进行管理,对其进行相应的查询,修改,删除和添加。根据实际问题,本系统要实现以下功能:(1)用户认证。本系统用户有教务处管理员和学生,所以用户必须通过认证才能登入系统。系统能够自动识别用户类型,能够给不同的用户分配不同的权限。教务处管理员用户成功登入后可以进入操作界面,学生成功登入后即可进入学生本人信息界面。(2)数据维护。可以对学生的成绩和课程等数据进行维护。(3)信息管理。允许教务处管理员修改学生信息,允许学生在任何时候登入查询本人信息。如图所示:二.概念结构设计学生信息管理系统学生信息管理查看学生信息修改学生信息增加学生信息删除学生信息所在学院信息所在专业信息所在年级信息所在班级信息老师信息管理查看老师信息修改老师信息增加老师信息删除老师信息所在教研室信息课程信息管理课程资料管理学生选课管理成绩信息管理成绩录入成绩修改成绩查询概念结构所涉及的数据是独立于硬件和软件系统的,它的目标是以用户可以理解的形式来表达信息的流程,从而可以和不熟悉计算机的用户交换意见。它要充分地反映实体之间的关系,成为反映现实的概念数据模型。这是各种基本数据模型的共同基础,易于向关系模型转变。通过需求分析得到的数据项和数据结构,可以设计出各种实体以及它们之间的关系图,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。根据上面的设计规划处的实体有:学院实体,专业实体,年级实体,班级实体,学生实体、课程实体,教师实体。(1)一个学院有多个专业,一个专业只能属于一个学院,因此学院与专业之间具有一对多关系。(2)一个专业有多个年级,一个年级有多个专业,因此学院与专业之间具有多对多关系。(3)一个专业有多个班级,一个班级只能属于一个专业,因此专业与班级之间具有一对多关系。(4)一个班级有多个学生,一个学生只能属于一个班级,因此班级与学生之间具有一对多关系。(5)一个学生可以选修多门课程,一门课程可以被多个学生选修,因此学生与课程之间是多对多的联系。用成绩来表示学生和课程之间联系的属性。(6)一个学院有多个教师,一个教师只能属于一个学院,因此学院与教师具有一对多的联系。(7)一个教师可以任教多门课程,一门课程可以被多个教师任教,因此课程与教师具有多对多的联系。学生信息系统E—R图如图所示:学院编号名称专业编号名称学院名称学院学院—专业专业专业—年级年级年级—班级班级班级—学生学生学生—课程课程教师—课程教师学院—教师1nmn1n1nmn1nmp年级专业编号专业名称学院名称年级班级学院编号年级班级学生班级电话年级专业名称学院名称年龄性别姓名学号教师年龄学院名称教研室名称电话性别姓名工号教师教研室教研室编号学院名称教研室名称课程学分课程号课程名学院名称三、逻辑结构设计此阶段的任务是把概念结构转换成SQLServer2005数据库管理系统能处理的数据模型。在进行这种转换时,是把实体类型和联系类型分别转换成一个个关系模式,这中间存在着多种可能组合,必须从中选择一个性能好的关系模式集作为关系数据库的模式。学生管理系统的关系模式集如下:(1)学生信息表(学生学号,学生姓名,性别,年龄,学院名称,专业名称,年级,班级名称,电话),主键为学生学号。(2)课程数据表(课程号,课程名称,学院名称,学分),主键为课程号。(3)学生选课表(学号,课程号,老师工号,成绩),主键为学号,课程号。(4)教师数据表(老师工号,老师姓名,性别,年龄,学院名称,教研室名称,电话),主键为老师工号。(5)学院数据表(学院名称,学员编号),主键为学院名称。(6)专业数据表(专业名称,专业编号,学院名称),主键为专业名称。(7)年级—班级数据表(年级,学院名称,专业名称,班级名称),主键为年级,班级名称。(8)教师教研室表(教研室名称,教研室编号,学院名称),主键为教研室名称。(9)教师任课数据表(课程号,课程名称,教师工号),主键为课程号,教师工号。四、物理结构设计物理结构设计是指对给定的基本数据模型选择一个最适合应用环境的物理结构的过程。数据库的物理结构主要是指数据库的存储记录格式、存储记录安排和存取方法。确定数据库的存储结构,主要是指确定数据的存放位置和存储结构,包括确定关系、索引、系统存储参数的配置,确定数据库的存储方法。1.数据结构:设置每一张数据表的属性的属性名,类型和宽度每张数据表的属性的属性名,类型和宽度如表所示。学生信息表student名称字段类型长度是否为空备注学号snochar10否主键姓名studentnamevarchar10否性别sexchar2年龄sagesmallint学院名称collegenamevarchar20外键专业名称majornamevarchar20外键年级gradeint外键班级名称classchar10外键电话telvarchar16课程数据表course字段别名类型长度是否为空备注课程号cnochar10否主键课程名称coursenamevarchar20否学院名称collegenameVarchar20外键学分Creditint否学生选课表selectcourse字段别名类型长度是否为空备注学号snochar10否主键(外码)课程号Cnochar10否主键(外码)工号TeacherIDvarchar10外键成绩Scoreint教师数据表teachers名称字段类型长度是否为空备注工号teacherIDvarchar10否主键姓名teachernamevarchar10否性别sexchar2年龄sagesmallint学院名称collegenamevarchar20外键教研室名称departmentvarchar20外键电话telvarchar16学院数据表college名称字段类型长度是否为空备注学院名称collegenamevarchar20否主键学院编号collegeIDint否专业数据表major名称字段类型长度是否为空备注专业名称majornamevarchar20否主键专业编号majorIDint否学院名称coolegenamevarchar20否外键班级数据表class名称字段类型长度是否为空备注年级gradeint否外键学院名称collegenamevarchar20否外键专业名称majornamevarchar20否外键班级名称classchar10否主键年级数据表grade名称字段类型长度是否为空备注年级gradeint否主键学院名称collegenamevarchar20否外键专业名称majornamevarchar20否外键教师教研室表depart名称字段类型长度是否为空备注教研室名称departmentvarchar20否主键教研室编号departIDint否学院名称collegenamevarchar20外键教师任课数据表teachercourse名称字段类型长度是否为空备注课程号cnochar10否主键(外码)课程名称coursenamevarchar20否工号teacherIDvarchar10否主键(外码)2.设置参照属性(1)学生信息表(学生学号,学生姓名,性别,年龄,学院名称,专业名称,年级,班级名称,电话)中的学院名称,专业名称,年级,班级名称分别参照学院数据表中学院名称,专业数据表中的专业名称,年级—班级数据表中的年级,班级名称。(2)课程数据表(课程号,课程名称,学院名称,学分)中的学院名称参照学院数据表中学院名称。(3)学生选课表(学号,课程号,老师工号,成绩)中的学号,课程号,老师工号分别参照学生信息表中的学号,课程数据表中的课程号,教师数据表中的老师工号。(4)教师数据表(老师工号,老师姓名,性别,年龄,学院名称,教研室名称,电话)中的学院名称,教研室名称分别参照学院数据表中的学院名称,教师教研室表中的教研室名称。(5)专业数据表(专业名称,专业编号,学院名称)中的学院名称参照学院数据表中学院名称。(6)年级—班级数据表(年级,学院名称,专业名称,班级名称)中的学院名称,专业名称分别参照学院数据表中的学院名称,专业数据表中的专业名称。(7)教师教研室表(教研室名称,教研室编号,学院名称)中的学院名称参照学院数据表中学院名称。(8)教师任课数据表(课程号,课程名称,教师工号)中的课程号,工号分别参照课程数据表中的课程号,教师数据表中的教师工号。3.索引在成绩上创建索引score_index在学生年龄上创建索引student_sage_index在老师成绩上创建索引teachers_sage_index4.设置视图为学生信息创建视图student_view创建各院系学生的视图college_major_s创建各班级视图class_s为各学院课程创建视图college_course为各班的学生选课成绩创建视图selectcourse_s为各班学生的学号及平均成绩创建视图avg_s为老师信息创建视图teachers_view为教研室创建视图depart_view为老师任课创建视图teachercourse_view为各学院所拥有的专业创建视图c_major_view5.设置存储过程a.创建一个存储过程,输入学号可以查询该学生的各科成绩b.创建一个存储过程,输入课程名显示该门课程的平均成绩和选课人次c.创建一个存储过程,输入学院名称显示该学院的代号,学院名称以及包含的各个专业的代号和名称,并统计该学院包含专业的数目d.创建一个存储过程,输入学院名称,专业名称,年级,班级显示该班级所有学生的信息,并统计该班的人数e.创建一个存储过程,输入老师姓名,显示该老
本文标题:数据库学生管理系统
链接地址:https://www.777doc.com/doc-2159455 .html