数据库-学生成绩管理系统_第1页
数据库-学生成绩管理系统_第2页
数据库-学生成绩管理系统_第3页
数据库-学生成绩管理系统_第4页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、精品文档学生成绩管理系统课程设计设计报告题目:学生成绩管理系统数据库学号:学生姓名 :张坤学号:学生姓名 :张豪学号:学生姓名 :王潜指导教师:王雷春提交时间:2016/12/24。1欢迎下载精品文档目录第 1 章需求分析 .31.1需求调查 .31.2系统功能分析.41.3面对用户需求分析.5第 2 章数据库概念模型设计.6第 3 章逻辑结构设计.63.1类和对象向关系模式转换.133.2关系模式优化.17第 4 章数据库物理结构设计.204.1存取方法设计.204.2存储结构设计.204.3物理设计 .20第 5 章数据库完整性设计.245.1主键及唯一性索引.245.2参照完整性设计.2

2、45.3Check 约束245.4Default约束255.5触发器设计 .26第 6 章 数据库视图设计.27第 7 章 数据库存储过程设计.33第 8 章 权限设计 .38总结39参考文献: .39。2欢迎下载精品文档教务管理系统后台数据库第1章需求分析1.1需求调查通过对各个用户的调查,该学生成绩管理系统有如下需求:1)系统管理:实现系统管理人员对系统的管理,包括添加删除用户,更改密码,数据备份,数据还原,注销,系统开关等功能。2) 成绩管理:实现教师对学生选修课程打分,成绩审核,学生查看成绩。3) 信息维护:学生,管理员和老师以及课程的基本信息(包括学生学籍信息和学生所修课程信息,教师

3、基本信息,课程基本信息,密码基本信息)查看以及修改。4) 选课:学生选择课程,老师选课。5) 查询:包括实现学生查询,老师查询。学生查询包括自己的基本信息,自己的课程,课表,成绩等,老师查询包括查询自己的信息,自己所带课程的学生,自己的课表以及学生成绩等。6)服务器配置: 对它进行配置可以使得在其他电脑上也照常使用。 这样不必每次都到数据库中去更改。7) 帮助系统:帮助系统为用户指明方向。3欢迎下载精品文档1.2系统功能分析学生成绩管理系统学教管即系选课成数时统籍课师程绩理据事员管管管管管管备务管理理理理理理份管理理1) 系统管理:主要用于系统开关,教师选课开关,学生选课开关等。2) 学籍管理

4、:用于对学生学籍基本信息的录入、查询、修改、维护、删除等常用功能,并提供学号编排、学生照片输入显示、学籍变动(留级、休学、跳级、转班、转学、退学等)、奖惩登记、毕业情况等功能。3) 选课管理:用于对课程的排布和选择。对于选课课程、采用教师选课方式,教师先选课,学生再选课。4) 教师管理:用于管理教师的基本信息,其所在院系、所授课程,所带的班级,教师平时上课的时数,并记录教师的考评情况。5) 成绩管理:用于发布学生一个学期所修课程所获得的成绩,是否挂科、参加补考,补考的成绩等。6) 课程管理:用于管理课程的基本信息,包括添加,删除,修改课程。7) 管理员管理:用于对管理员的权限进行修改,以及添加

5、,删除管理员,更新管理员信息等。8) 数据备份:用于保存删除或更新之前的数据,防止管理员误操作,以及数据找回等。9) 即时事务管理: 用于发布和管理学校及学院的相关通知,便于相关人员了解学校及学院的近期动态。4欢迎下载精品文档1.3面对用户需求分析在学生选课系统中,最主要的功能就是进行一系列的查询和各类数据的管理。因此,可以将学生选课系统分为管理系统(有数据变化) 和查询系统两个子系统。而在所设计的学生选课系统中,主要有四类用户,即学生用户,老师用户,教务管理员和系统管理员。各类用户在该系统中的需求不同,权限也不同。因此,为了更明确,更系统的了解用户需求,我们还可以将管理系统再细分为学生管理系

6、统,老师管理系统, 教务管理员管理系统,系统管理员管理系统。同样,将查询系统也按用户职能进行细分,即学生查询系统,老师查询系统,教务管理员查询系统,系统管理员查询系统。这样细分后,看似把系统需求繁杂化了。其实不然,细分后使各用户需求更加明确了,并且能更好的把握系统需求。下面从细分后的各个子系统分析子系统的需求:教务管理系统教教系系学学教教务务统统管管管管生生师师理理理理管查管查员员员员理询理询管查管查子子子子理询理询系系系系子子子子统统统统系系系系统统统统1) 学生管理系统。 学生用户在使用该系统时, 首先必须通过账号和密码登录系统。 因此,对密码的设置和修改是最基本的需求。 由于所有用户在使

7、用该系统时都需要账号和密码,所以在后面的用户需求分析时不再重复对此需求进行描述。在登录系统后,学生用户的最主要的需求就是通过该系统进行选课、 退课。其次, 学生用户还要求可以通过系统进行个人信息的维护(包括添加、删除、修改信息)以及学生评教和各类报名。2) 学生查询系统。 学生用户在该系统中是最低级的用户,所以可以查询的数据也是有限的,主要有个人信息查询,成绩查询(个人成绩) ,即时事物查看,学业预警查看。在进行选课的时候还要对课程信息进行查询,课程选完后要查询课表。3) 老师管理系统。该系统中,老师用户当然也有维护个人信息的需求。除此之外,更重要的一个需求是要进行学生成绩的录入。4) 老师查

8、询系统。 老师用户不仅要有查询自己的个人信息的功能, 还要有查询学生信息的功能。当学生用户进行选课完毕后,老师用户有对选课、任课信息、课表的查询。5欢迎下载精品文档以及花名册的查看的需求。当课程结束后, 老师在录入学生成绩的时候,也要对课程信息、学生信息进行查询。 老师用户的另一个需求是对学生成绩的查询, 这个成绩查询不仅可以查询学生用户的个人成绩,还可以查询所带课程的成绩和所有学生的成绩。5) 教务管理员管理系统。 首先当然个人信息的维护。 对于教务管理员来说, 该系统应该可以帮助他进行开课信息的维护, 人才培养方案管理; 在学生由于种种原因而有选课异常时, 教务管理员还有重选、 补选、退选

9、的需求; 课程结束老师录入学生成绩后,教务管理员还有利用系统进行成绩的审核,有时还要对某些学生的成绩进行修改。6) 教务管理员查询系统。 教务管理员首先要具有学生查询系统,老师查询系统的所有需求。除了这些需求外,教务管理员还应该可以查询开课信息,学生评教查询和学生成绩查询(包括学生个人成绩,班级成绩,某课程成绩以及全院学生的成绩)。7) 系统管理员管理系统。 作为系统挂了管理员, 是该系统中最高级的用户, 因此该用户的需求相对比较的多。第一,要通过系统对院系进行管理:院系的设置,院系的调整以及院系的总体规划。第二,进行专业的设置,专业的添加、删除、修改,专业的调整。第三,要对学期进行设置和教室

10、的管理。第四,对各学院的教师管理,其中就包括了老师在系统中的权限设置。第五,学生的学籍的管理(学籍的异动)。第六,通过各学院上报的课程信息进行全面的排课以及课程的停开和增开,这也是学生选课系统中很重要的一个需求。 最后,系统管理员管理系统还应该可以利用该系统进行用户的管理和维护,包括用户的添加、删除,修改等。8) 系统管理员查询系统。 该子系统的需求首先要包括前三类用户查询系统中的所有需求,即可以查询前三类用户能进行的所有查询。其次,要包括院系的查询,专业的查询,教室的查询。第三,通过系统查询学生、教师的基本信息,查询老师的任课情况以及教学情况(评教情况) 。第四,在对学生学籍管理时要对学生学

11、籍的查询。第五,对课程信息及选课信息的查询。 此外,还有对该系统中所有学生用户的学生成绩查询和该系统中所有老师用户的评教结果查询的需求。第 2 章数据库概念模型设计2.1 数据库实体以及关系设计本系统主要有9 个实体:。6欢迎下载精品文档A 学生实体B 教师实体C 管理员实体D 课程实体E 职称实体F 政治面貌实体G 院系实体H 专业实体I 新闻公告实体实体关系图:图 2.1 院系专业实体关系图图 2.2 教师课程实体关系图图 2.3 学生课程实体关系图图 2.4 学生政治面貌实体关系图。7欢迎下载精品文档图 2.5 教师职称实体关系图图 2.6 管理员新闻公告实体关系图。8欢迎下载精品文档图

12、 2.7 学生专业实体关系图图 2.7 总实体关系图。9欢迎下载精品文档2.2 面向类和对象分析设计类和对象设计如下:学生姓名: string学号: string性别 : char出生年月 :data政治面貌: string专业名称: string籍贯: string家庭地址: string联系电话: string添加 ()删除 ()查询 ()修改 ()教师教师姓名: string教职工号: string性别: char出生年月: data职称: string所属学院: string籍贯: string民族: string家庭地址: string邮政编码: string联系电话: string

13、查询 ()添加 ()修改 ()删除 ()。10欢迎下载管理员姓名: string编号: string性别 : char出生年月 :data政治面貌: string学院: string专业名称: string籍贯: string民族: string家庭地址: string联系电话: string添加 ()删除 ()查询 ()修改 ()精品文档课程课程名: string课程号: int学时:全部课程学分:全部课程开课年度: string开课学期: string开课学院:部门单位任课教师:教师上课地点: char上课时间: char上课人数: int最大上课人数:int查询 ()添加 ()修改 ()

14、选课 ()专业专业名称: string专业编号: string所属学院: string查询 ()修改 ()添加 ()删除 ()院系院系名称: string院系编号: string查询 ()修改 ()添加 ()删除 ()。11欢迎下载学生课程学号: int课程号: int分数: float挂科情况: boolen添加 ()修改 ()删除 ()查询 ()登陆用户名: int密码: string级别: string添加 ()修改 ()删除 ()查询 ()精品文档教师课程工号: int课程号: int添加 ()修改 ()删除 ()查询 ()新闻公告通知标题: string通知内容: string发布单

15、位: string发布时间: data有效期限: data查询 ()添加 ()修改 ()删除 ()。12欢迎下载精品文档政治面貌职称编号: int编号: int名称: string名称: string添加 ()添加 ()修改 ()修改 ()查询 ()查询 ()第 3 章数据库逻辑结构设计3.1 E-R 图局部 E-R 图3.1职称编号 E-R 图。13欢迎下载精品文档3.2 政治面貌 E-R 图3.3 新闻公告 E-R 图3.4 学生 E-R 图3.5 教师 E-R 图。14欢迎下载精品文档3.6 管理员 E-R 图3.7 课程 E-R 图3.8 专业 E-R 图3.9 院系 E-R 图。15

16、欢迎下载精品文档全局 E-R 图:备注备注院系年龄代号职称代号工号政治面貌政治面貌职称姓名联系方式教龄教师属于属于专业学号年龄讲授联系方式学生姓名课程号预留字段 1课程名入学年份预留字段 2开课院系选修课程属于管理预留字段 2预留字段 1管理号姓名联系方式管理员年龄预留字段 1标题预留字段 2地址编号新闻公告发布时间名称预留字段 1预留字段 2属于开课时间任课教师号限选人数已选人数属于内容院系预留字段院长预留字段专业代号属于专业名称院系代号图 3.10 全局 E-R 图。16欢迎下载精品文档3.2类和对象向关系模式转换学生信息(姓名、学号、性别、出生年月、政治面貌、 、学院、专业名称、培养层次

17、、籍贯、民族、家庭地址、 、联系电话、)成绩信息(学生姓名、学号、专业名称、课程名、课程号、分数、绩点、学分、所获学分、)课程(课程名、课程号、任课老师、选课班级、学时、学分、开课年度、开课学期、学院、上课地点、上课时间、限制人数)选课信息(学生姓名、学号、学院、教学班号、课程名、课程号、任课老师、上课地点、上课时间)专业信息(专业名称、专业编号、所授学位、培养方案、所属学院)教师信息(教师姓名、教职工号、性别、出生年月、学历、职称、所属学院、籍贯、民族、家庭地址、邮政编码、联系电话、身份证号码)新闻公告(通知标题、通知内容、发布单位、发布时间、有效期限)开关表(系统开关,选课开关)3.3关系

18、模式优化通过对用户需求和实体之间的关系的分析,结合范式考虑,本系统建立以下表1). 院系表名称数据类型是否主键院系代号int是院系名称varchar(50)预留字段varchar(50)2). 专业表名称数据类型是否主键专业代号int是专业名称varchar(50)所属学院代号Int预留字段varchar(50)3). 学生表名称数据类型是否主键学号int是姓名varchar(50)性别Char(2)年龄int政治面貌代号Int。17欢迎下载精品文档专业代号int联系方式Varchar(50)入学年份Int预留字段Varchar(50)4). 教师表名称数据类型是否主键工号int是姓名varc

19、har(50)性别char(2)年龄int职称代号Int院系代号Int联系方式Varchar(50)教龄Int预留字段varchar(50)5). 管理员表名称数据类型是否主键管理号int是姓名varchar(50)性别Char(2)职务Varchar(50)联系方式Varchar(50)地址varchar(50)预留字段varchar(50)6). 登录表名称数据类型是否主键账号int是密码varchar(50)级别Char(4)预留字段varchar(50)7). 新闻公告表名称数据类型是否主键编号int是标题varchar(50)内容varchar(100)。18欢迎下载精品文档类别Va

20、rchar(50)发布人In预留字段varchar(50)8). 课程表名称数据类型是否主键课程号int是课程名varchar(50)任课教师int学分int上课时间datetime限选人数int已选人数int开课学院代号Int预留字段Varchar(50)9). 教师课程表名称数据类型是否主键工号int是课程号int是预留字段varchar(50)10). 学生课程表名称数据类型是否主键学号int是课程号Int是分数Float预留字段varchar(50)11). 职称表名称数据类型是否主键职称代号int是职称varchar(50)预留字段varchar(50)12). 政治面貌表名称数据类

21、型是否主键政治面貌代号int是政治面貌varchar(50)。19欢迎下载精品文档预留字段varchar(50)13). 开关表名称数据类型是否主键开关类型varchar(50)是状态char(2)预留字段varchar(50)14). 登录日志表名称数据类型是否主键编号Int是操作类型varchar(50)操作人varchar(50)操作时间Datetime被操作账户Int预留字段varchar(50)第 4 章数据库物理结构设计4.1存取方法设计数据库系统是多用户共享的系统,对同一个关系要建立多条存储路径才能满足多用户的多种应用要求。对于教务管理系统来说,为了提高某些属性( 如:学生学号,

22、教职工号,课程号,学生成绩,选课信息等) 的查询速度,可以选择聚簇存取的方法,即把这些属性上具有相同值的元组集中放在连续的物理块上。这样在查询某个学院或是查询某个专业或某学年等的学生成绩或选课等时就会大大提高查询速度。因此,该系统中选择聚簇存取方法。4.2存储结构设计教务管理系统是一个大型复杂的计算机网络信息系统,采用基于浏览器/ 服务器( B/S ),客户端 / 服务器( C/S)混合的应用体系结构来建设教务管理系统。数据库管理系统采用Microsoft公司推出的SQL Server 2014,并用SQL 进行数据库的建立和数据库中数据的维护和查询。4.3物理设计实现该设计的环境为Windo

23、ws 10+ MS SQL Server2014或以上版本。20欢迎下载精品文档1、 建立学生成绩管理系统数据库use mastercreate database学生成绩管理系统数据库on (name=' 学生成绩管理系统数据库主文件',filename='D:student system of gradesstudent system of grades.mdf',size=5,maxsize=50,filegrowth=10%)log on (name=' 学生成绩管理系统数据库日志文件 ', filename='D:student

24、system of gradesstudent system of grades.ldf', size=2mb,maxsize=10mb,filegrowth=1mb)Go2. 建立职称表create table职称 (职称代号int primary key,职称varchar(50),预留字段varchar(50)3. 建立政治面貌表create table职称 (职称代号int primary key,职称varchar(50),预留字段varchar(50)4. 建立院系表create table院系 (院系代号int primary key,名称varchar(50),预留字段

25、varchar(50)5. 建立专业表create table专业 (专业代号int primary key,名称varchar(50),。21欢迎下载精品文档所属院系代号int,预留字段varchar(50)6. 建立专业表create table新闻公告 (编号int primary key,标题varchar(50),内容varchar(100),类别varchar(50),发布人int,预留字段varchar(50)7. 建立学生表create table学生 (学号int primary key,姓名varchar(50),性别char(2) default '男'

26、check (性别 ='男 ' or性别 ='女 '),年龄int,政治面貌代号int,专业代号int,联系方式varchar(50),入学年份int,预留字段varchar(50)8. 建立教师表create table教师 (工号 int primary key,姓名 varchar(50),性别 char(2)default '男 ' check(性别 =' 男 ' or性别 =' 女 '),年龄 int,职称代号int ,院系代号int,联系方式varchar(50),教龄int,预留字段varchar(5

27、0)9. 建立管理员表create table管理员 (管理号int primary key,。22欢迎下载精品文档姓名varchar(50),性别char(2) default '男' CHECK ( 性别 =' 男 ' or性别 =' 女 '),职务varchar(50),联系方式varchar(50),地址varchar(50),预留字段varchar(50)10. 建立课程表create table课程 (课程号int primary key,课程名varchar(50),任课教师int,学分int,上课时间char(5) default

28、 '1-18' check(上课时间 ='1-16' or上课时间 ='1-14'or 上课时间 ='1-12' or上课时间 ='1-6' or上课时间 ='1-18'),考试时间datetime,限选人数int,已选人数int,开课学院代号int,预留字段varchar(50)11. 建立学生课程表create table学生课程 (学号int,课程号int,分数float default'0',预留字段varchar(50),primary key(学号 , 课程号 )12.

29、建立教师课程表create table教师课程 (工号int,课程号int,预留字段varchar(50)13. 建立登录表create table登录 (。23欢迎下载精品文档账号int primary key,密码varchar(50),级别char(6) default '学生 ' check(级别 =' 学生 'or级别 =' 教师 ' or级别 =' 管理员 '),预留字段varchar(50)第 5 章数据库完整性设计5.1主键及唯一性索引表名主键建立唯一性索引学生(学号)create unique index学生on

30、 学生 ( 学号 )学生课程( 学号,课程号 )create unique index学生课程on 学生课程 ( 学号 , 课程号 )课程(课程号 )create unique index课程on 课程 ( 课程号 )教师课程( 工号,课程号 )create unique index教师课程on 教师课程 ( 工号 , 课程号 )教师(工号 )create unique index教师on 教师 ( 工号 )管理员(管理号 )create unique index管理员on 管理员 ( 管理号 )专业( 专业编号 )create unique index专业on 专业 ( 专业编号 )院系(

31、院系编号 )create unique index院系on 院系 ( 院系编号 )登录(帐号)create unique index登录on 登录 ( 账号 )新闻公告(编号)create unique index新闻公告on 新闻公告 ( 编号 )职称( 职称代号 )create unique index职称on 职称 ( 职称代号 )政治面貌( 政治面貌代号 )create unique index政治面貌 on政治面貌 ( 政治面貌代号 )5.2参照完整性设计-1 、新闻公告表中将属性发布人设计为外键。24欢迎下载精品文档alter table新闻公告 add foreign key (

32、发布人 ) references管理员 ( 管理号 )-2 、教师表中将属性职称代号和院系代号设计为外键alter table教师 add foreign key (职称代号 ) references职称 ( 职称代号 )alter table教师 add foreign key (院系代号 ) references院系 ( 院系代号 )-3 、学生表中将属性政治面貌代号属性和专业代号设计为外键alter table学生 add foreign key (政治面貌代号 ) references政治面貌 ( 政治面貌代号 )alter table学生 add foreign key (专业代号

33、) references专业 ( 专业代号 )-4 、专业表中将属性所属院系代号设计为外键alter table专业 add foreign key (所属院系代号 ) references院系 ( 院系代号 )-5 、学生课程表中将属性课程号和学号设计为外键alter table学生课程 add foreign key (学号 ) references学生 ( 学号)alter table学生课程 add foreign key (课程号 ) references课程 ( 课程号)-6 、教师课程表中将属性工号和课程号计为外键alter table教师课程 add foreign key (

34、工号 ) references教师 ( 工号)alter table教师课程 add foreign key (课程号 ) references课程 ( 课程号)-7 、课程表中将属性任课教师和开课学院代号计为外键alter table课程 add foreign key (任课教师 ) references教师 ( 工号)alter table课程 add foreign key (开课学院代号 ) references院系 ( 院系代号 )5.3Check 约束1、学生,教师表和管理员表中将性别进行check 约束:check (性别 =' 男 ' or 性别 ='

35、 女 ')2、课程表中将上课时间进行check 约束:check (上课时间 ='1-18' or上课时间 ='1-16' or上课时间 ='1-14' or上课时间 ='1-12'or '1-16')3、登录表中将开课学期进行check 约束:check (级别 = 管理员 or级别 = 学生 or级别= 教师)4、学生表中将分数check 约束:check (分数 >0 and分数 <100)5. 登录日志表将操作类型 check 约束check ( 操作类型 = 删除数据 or操作类型 =

36、 修改数据 or操作类型 = 添加数据 )5.4Default约束1、教师表和学生表中性别默认值设为:男。Default '男 '2、教师信息表和学生信息表中民族默认值设为:汉族。Default '汉族 '。25欢迎下载精品文档3、登录表中级别默认值设为:学生。Default ' 学生 '4、学生课程表中分数默认值设为:0。 Default '0'5、课程表中开课时间默认值设为:1-18 。 Default '1-18'5.5触发器设计1、在政治面貌表中建立删除修改更新政治面貌触发器create trigger删除

37、修改更新政治面貌on 政治面貌with encryptioninstead ofupdate,insert,deleteasbegin-print'政治面貌表不允许修改,删除,更新等操作!'RAISERROR('政治面貌表不允许修改,删除,更新等操作!',18,18)End2、在职称表中建立删除更新插入职称触发器create trigger删除修改更新职称on 职称with encryptioninstead ofupdate,insert,deleteasbegin-print'政治面貌表不允许修改,删除,更新等操作!'RAISERROR(&#

38、39;职称表不允许修改,删除,更新等操作!',18,18)End3、在新闻公告表建立删除成功提示触发器create trigger删除新闻公告提示成功on 新闻公告with encryptionafterupdate,insert,deleteasbegin-print'政治面貌表不允许修改,删除,更新等操作!'。26欢迎下载精品文档RAISERROR('操作成功 ',10,1)End4、在登录表中建立删除数据触发器a. 建立日志表create table登录表日志( 操作编号 int primary key identity(1,1),登录账号varchar(50) default 'admin',数据库登录名varchar(50) default 'sa',操作类型char(8) check(操作类型 =' 插入记录 &

温馨提示

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

评论

0/150

提交评论