1、数据库课程设计论文河南理工大学万方科技学院数据库设计论文论文题目: 学生成绩管理数据库的设计 院 系: 电气系 专 业: 学 号: 姓 名: 指导教师: 撰写学年: 年 月 日摘要学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。为了减轻学校的负担,增加学生成绩管理的便捷,为广大教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化,规范化和自动化,我们小组设计了一个学生成绩管理系统。本学年设计叙述到的学生成绩管理系统是用SQL语言实现的。重点介绍了学生成绩管理系统的实现过程:包括概念设计,需求分析,逻辑结构和物理设计,系统的实施与维护等。本系
2、统主要功能有教师管理,学生管理,班级管理,学生信息管理,成绩管理等,包括功能需求描述,数据库设计等内容。关键词:成绩管理;成绩查询;SQL server目录1数据库设计概述 11.1开发背景 11.2 开发目标 12需求分析 12.1系统功能需求 12.2 系统模块设计 22.3 开发环境 23概念结构设计 23.1 系统实体设计 33.2 系统E-R图 33.3 系统数据流图 74逻辑结构设计 74.1成绩管理系统数据模型 85数据库的物理设计 105.1 数据库的存储结构 105.2 关系模型的存取方法 145.3 数据库关系图 156数据库的实施和维护 1661 系统的实施 166.2
3、系统的调试与维护 177总结 187.1 设计总结 187.2 致谢 188参考文献 181数据库设计概述1.1开发背景学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,对学生来说可以轻松的查阅自己在校的成绩以及信息等.在科学技术突飞猛进的时代,为了减轻学校的负担,增加学生成绩管理的便捷,开发出一个适用于高校的学生成绩管理系统是必要的.1.2 开发目标开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平.为广大教师和学生提高工作效率,实现学生成绩信息管
4、理工作流程的系统化,规范化和自动化.不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息,高效,安全,学生在能方便的查看自己的成绩.2需求分析2.1系统功能需求1.管理员能够实现对整个学生信息的录入、修改、删除、查询等操作,对教师用户的添加、删除、修改等操作。2.教师能够在一定的权限内对所有学生成绩进行查询,可以对的自己的登录密码进行修改。系统具体需要实现以下功能:1.系统管理:对用户管理和系统进行初始化设置。2.成绩管理:提供学生考试成绩的基本录入、修改、查询、打印等基本管理功能,以及学生单科和总成绩的相关统计功能。3.学生名单管理:提供对学生名单的基本管理
5、功能,主要是学生名单的录入、修改、删除和浏览/查询等基本功能。4.基础数据管理:提供对学校基本数据和考试相关基础数据的管理功能,包括:专业设置、班级设置、考试类型设置、考试科目设置和考试学期设置等。5.数据库管理:对现有的数据进行管理,包括数据备份和恢复,以方便用户对数据库进行管理和维护工作,提高系统的数据安全性。2.2 系统模块设计成绩管理系统大体可以分成三大模块如图, 一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;再者便是课程管理模块, 在该模块中应该包含有对学生成绩信息的查询和处理,如平时成绩、考试成绩、最终成绩以及是否需要重修或补考的统计等功能模块;再其次还有教师、课程等
6、相关信息的模块;可以得到系统流程图:2.3 开发环境软件环境:Microsoft SQL Server 2000 Windows95/98/2000/XP,Internet Explorer(IE)5.0及其以上版本硬件环境:CPU:PIII 500以上 内存:512M以上硬盘空间:GB以上3概念结构设计将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。概念模型是在对用户需求分析之后,画出本系统抽象出的E-R图。3.1 系统实体设计由需求分析的结果可知,本系统设计的实体包括:(1)学生基本信息:学号,姓名,性别,系别, 地址,年龄,专业,身份证号码, 入学时间, 联系方式
7、;(2)教师基本信息:教师号, 教师所属系, 性别, 教师名, 年龄, 职称, 联系方式, 教龄;(3)Course表基本信息:课程号, 课程名称, 课时, 学分, 课程种类, 学年, 学期;(4)Grade表基本信息:成绩记录号, 课程号, 学号,课程名,平时成绩, 考试成绩, 总成绩;(5)班级表基本信息:班级号, 班级名称, 所属系, 班级人数, 班长学号;(6)授课表基本信息:授课时间, 授课地点, 课程号,教师号,教师名;(7)选修表基本信息:课程号,学号, 成绩;(8)课程安排表基本信息:课程号, 课程名称, 学号, 教师号, 教师名;(9)用户表基本信息:用户名,密码,所属权限.
8、3.2 系统E-R图根据规划出的实体画出对各个实体具体的描述如下:3.3 系统数据流图由数据库系统总E-R图和分E-R图得到数据流图:4逻辑结构设计设计逻辑结构分三步进行:第一步,将概念经过转化为一般的关系、网状、层次模型;第二步,将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;第三步,对数据模型进行优化。4.1成绩管理系统数据模型由系统ER图转化而得到的成绩管理系统数据模型如下:(1)学生表基本信息:学号,姓名,性别,系别, 地址,年龄,专业,身份证号码, 入学时间, 联系方式。(其中 学号为主键 系别为外键)表1 Student基本信息表字段名字段类型约束控制说明Stu
9、_snoVarchar(6)Not Null(Primary key),在000000到999999之间学号Stu _snamevarchar(8)Not Null姓名Stu_sexchar(2)男或女性别Stu_deptvarchar(30)Not null系别Stu_agechar(4)年龄Stu_addressvachar(30)地址Stu _idchar(18)Not null身份证号Stu_entrydatetimeNot null入学时间Stu_classVarchar(15)Not null班级Stu_contactVarchar(13)Not null联系方式(2)Course
10、表基本信息:课程号, 课程名称, 课时, 学分, 课程种类, 学年, 学期(其中 课程号为主键)表2 Course表字段名字段类型约束控制说明Co_cnoVarchar(4)主键(primary key),在9000到9999之间课程号Co_namevarchar(15)not null课程名称Co_hoursmallintnot null课时Co_scoresmallintnot null 属于(1,2,3,4,5,6)学分Co_typevarchar(10)not null课程种类Co_yearsmallintnot null,只能选择1,2 3,4学年Co_termsmallintnot
11、 null 只能选择 春,秋学期(3)教师基本信息:教师号, 教师所属系, 性别, 教师名, 年龄, 职称, 联系方式, 教龄(其中 教师号为主键)表3 teacher基本信息表字段名字段类型约束控制说明T_tnoVarchar(10)not null,在000到999之间教师号T_depVarchar(15)Not null教师所属系别T_cnameChar(6)not null教师名T_sexintnot null性别T_agesmallintnot null年龄T_positionvarchar(15)not null职称T_contactChar(11)not null联系方式T_wo
12、rk_agesmallintnot null教龄(4)课程安排表基本信息:课程号, 课程名称, 学号, 教师号, 教师名(其中教师号和课程号为主键)表4 课程表字段名字段类型约束控制说明C_cno Varchar(4)Not null课程号C_namevarchar(15)not null课程名称T_cnamechar(6)not null教师名T_tnovarchar(10)not null教师号(5)授课表基本信息:授课时间, 授课地点, 课程号,教师号,教师名(其中 教师号和课程号为主键)表5 授课表字段名字段类型约束控制说明Learn_roomvarchar(8)Not null 上课
13、地点T_cnamechar(6)Not null教师名T_tnovarchar(10)Not null 在000到999之间教师号Learn_timeVarchar(8)not null授课时间C_cnoVarchar(4)在 9000到9999之间 null 课程号(6)班级表基本信息:班级号, 班级名称, 所属系, 班级人数, 班长学号(其中 所属系为主键)表6 class基本信息表字段名字段类型约束控制说明Cl_cnovarchar(4)主键(primary key),在0000到9999之间班级号Cl_nameVarchar(15)not null班级名称Cl_depVarchar(1
14、0)not null所属系Cl_numberintnot null,大于0 且小于100人数Cl_monitorVarchar(6)not null班长学号(7)Grade表基本信息(成绩记录号, 课程号, 学号,课程名,平时成绩, 考试成绩, 总成绩)(其中成绩记录号,课程号,学号为主键)表7 Grade基本信息表字段名字段类型约束控制说明Score_idintnot null成绩记录号C_cnoVarchar(4)外部键课程号C_namevarchar(15)not null课程名称T_namevarchar(8)not null教师名T_tnoVarchar(10)not null教师号
15、Stu_snoVarchar(6)外部键学号practic_gradeintNot null ,大于等于0, 小于等于100平时成绩exam_gradeintNot null ,大于等于0, 小于等于100考试成绩FGradeDec(3,1)nor_score占30%exam_score占70%成绩Re_choosechar(2)是 否重修Re_exam char(2)是 否补考(8)用户表基本信息:用户名,密码,所属权限表8 User基本信息表字段名字段类型约束控制说明Usernamevarchar(10)Not null 用户名UserID varchar(6)Not null 密码Use
16、rauthvarchar(10) 在学生,教师,教学秘书之间权限5数据库的物理设计5.1 数据库的存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括:确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。(1)创建学生基本信息表:create table Student(Stu_sno numeric(6) constraint A1 check(Stu_sno between 000000 and 999999),Stu_sname varchar(8) not null,Stu_sex char(2) constraint A2 check(Stu
17、_sex in(男,女),Stu_dept varchar(30) not null,Stu_age char(4) constraint A3 check(Stu_age between 10 and 30 ),Stu_address varchar(30) not null,Stu_id char(18) not null,Stu_entry datetime not null,Stu_contact Varchar(13),Stu_class Varchar(15),constraint Stu_key primary key(Stu_sno) create index Stusno o
18、n Student(Stu_sno asc)create index Stusdept on Student(Stu_dept)(2)创建课程表:create table Course(C_cno numeric(4) constraint B1 check(C_cno between 9000 and 9999),C_name varchar(15) not null,C_hour smallint not null,C_score smallint constraint B4 check(C_score in (1,2,3,4,5,6)and C_score is not null) C_
19、type varchar(10) not null,C_year smallint constraint B2 check(C_year in(1,2,3,4)and C_year is not null ),C_term char(2) constraint B3 check(C_term in(春,秋)and C_term is not null), C_num smallint not null ,constraint C_key primary key(C_cno)create index Courseid on Course(C_cno asc);(3)创建成绩表Gradecreat
20、e table Grade(Grade_id int not null,T_tno Varchar(10) not null, C_cno numeric(4),C_name varchar(15) not null,Stu_sno numeric(6),practic_grade int constraint D1 check (practic_grade between 0 and 100 ),exam_grade int constraint D2 check(exam_grade between 0 and 100 ),FGrade Dec(3,1) ,Re_choose char(2
21、) constraint D3 check(Re_choose in (是,否),Re_exam char(2) constraint D4 check(Re_exam in (是,否),constraint D5 check(0.3*practic_grade)+(0.7*exam_grade)=FGrade),constraint Grade_key primary key(C_cno,T_tno,Stu_sno),constraint GForeign_key1 foreign key(Stu_sno)references Student(Stu_sno),constraint GFor
22、eign_key2 foreign key(C_cno)references Course(C_cno),constraint GForeign_key3 foreign key(T_tno)references Teacher(T_tno)create index GradeID on Grade(Grade_id)(4)创建教师基本信息表Teachercreate table Teacher(T_tno varchar(10) constraint C1 check(T_tno between 000 and 999 and T_tno is not null),T_dep varchar
23、(15) not null,T_cname char(6) not null,T_sex char(2) not null,T_age smallint not null,T_position varchar(15) not null,T_contact char(11) not null,T_work_age smallint not null,constraint T_key primary key(T_tno)create index Teatno on Teacher(T_tno asc)(5)创建班级表Classcreate table Class(Cl_cno varchar(4)
24、 constraint E1 check(Cl_cno between 0000 and 9999 and Cl_cno is not null),Cl_name varchar(15) not null,Cl_dept varchar(30),Cl_number int constraint E2 check(Cl_number between 0 and 100 and Cl_number is not null ) ,Class_monitor numeric(6) not null,constraint CL1_key primary key(Cl_dept), ) create in
25、dex class1 on class(Cl_dept asc)(6)创建授课表schoolingcreate table schooling(Learn_room varchar(8) not null,Learn_time varchar(8) not null,C_cno numeric(4)constraint F1 check(C_cno between 9000 and 9999),T_tno varchar(10) constraint F2 check(T_tno between 000 and 999 and T_tno is not null),T_cname char(6
26、) not null,constraint sch_key primary key(C_cno,T_tno)create index schooling1 on schooling( T_tno asc)create index schooling2 on schooling(C_cno asc)(7)创建课程安排表arrange_lessoncreate table arrange_lessson(C_cno numeric(4)constraint H1 check(C_cno between 9000 and 9999),C_name varchar(15) not null,T_tno
27、 varchar(10) constraint H2 check(T_tno between 000 and 999 and T_tno is not null),T_cname char(6) not null,C_type varchar(10) not null, C_year smallint check (C_year in(1,2,3,4)and C_year is not null),C_term char(2) constraint H4 check(C_term in(春,秋)and C_term is not null ),Cl_name varchar(15) not n
28、ull,constraint ARlesson_KEY primary key(C_cno,T_tno) ,constraint Stu1_key foreign key(Stu_dept)references Class(Cl_dept)create index Teacher on arrange_lessson(T_tno asc)create index Course on arrange_lessson(C_cno asc)(8)创建用户表Userscreate table Users(Username varchar(10) not null,UserID varchar(6) n
29、ot null,Userauth varchar(10) constraint I1 check(Userauth in(学生,教师,教学秘书)5.2 关系模型的存取方法在将概念模型转换成物理模型之后,我们可以对物理模型进行设计,双击物理模型的关系,可以对该关系的名称、注释等信息进行查询。可对该关系的属性列进行设计,可分别设置其名称、码、数据类型以及主码、是否为空等。在实际设计中最常用的存取方法是索引,使用索引可以大大减少数据的查询时间,在建立索引时应遵循:在经常需要搜索的列上建立索引;在主关键字上建立索引;在经常用于连接的列上建立索引,即在外键上建立索引;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规则。才能充分利用索引的作用避免因索引引起的负面作用。数据库中设计了如下索引:(1)在Student表中建立索引:create index Stusno on Student(Stu_sno asc)create index Stusdept on Student(Stu_dept)(2)在Cours
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1