学籍管理系统设计报告_第1页
学籍管理系统设计报告_第2页
学籍管理系统设计报告_第3页
学籍管理系统设计报告_第4页
学籍管理系统设计报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、学籍管理系统设计报告1.需求分析1.1系统功能设计l 能够完善院系、教师信息管理系统l 能够查询学生、教师间的关系,查询某个学生被哪些教师教过l 能够便于学生信息的查询、更新和修改等操作l 对于学生成绩管理,便于查询学生每门课程成绩,查询学生必修课平均成绩和选修课的平均成绩l 对于学籍管理方面,系统负责进行统计,老师和领导能够知道理应被给予处分、开除的学生信息查询学生所选修的课程及成绩,并给出必修课平均成绩和选修课平均成绩;1.2系统模块设计 学籍管理系统包括系统管理模块、学生信息模块、学生成绩管理模块、院系和教师、课程信息模块。其中系统管理系统中,系统管理人员可以学生信息模块包含学生各方面的

2、基本信息,如院系,专业,班级,姓名,学号,性别等;院系和教师、课程模块包含院系基本信息,比如院系代号,院系名称等,教师基本信息,比如教师号,名字,教师性别,工龄,工资等,课程信息,比如课程号,课程名称,课程类型,学分;学习成绩管理模块,学生可以查询各科成绩,系统管理员或者教师对成绩进行录入、修改、删除操作等。 1.3数据项数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的字段别名、数据类型、数据长度、是否属于主码,是的标注Y,不是标注N。表1.3.1教师信息表序号字段别名数据类型数据长度码1tno教工号char10Y2tname姓名varchar10N3tsex性别Char2N4p

3、rofess职称varchar10N5dname所属院系varchar8N表1.3.2学生基本信息表序号字段别名数据类型数据长度码1sno学号integer10Y2sname姓名varchar10N3ssex性别char2N4birthday出生日期timestamp20N5symbol政治面貌varchar8N6Id身份证号varchar20N7Intime入学时间varchar20N8birthplace籍贯varchar10N9homeaddr家庭住址varchar30N表 1.3.3班级信息表序号字段别名数据类型数据长度码1clno班号varchar16Y2number人数intN表

4、1.3.4专业信息表序号字段别名数据类型数据长度码1mno专业号char10Y2mname专业名char10N表 1.3.5 院系信息表序号字段别名数据类型数据长度码1dmpno院系号varchar10Y2dname院系名称varchar10N3dmphead院长名varchar20N表 1.3.6课程信息表序号字段别名数据类型数据长度码1cno课程号varchar5Y2cname课程名varchar15N3credit学分smallintN4ctp课程类型varchar5N表 1.3.7教学计划表序号字段别名数据类型数据长度码1ctp课程类型varchar5Y2semester学期varch

5、ar15Y3credit学分smallintN表 1.3.8学生,教师,课程班级间学习联系表序号字段别名数据类型数据长度码1sno学号varchar10Y2cno课程号varchar5Y3grade成绩floatN4tno教工号char10Y5clno班号varchar16Y1.4数据结构数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或若干个数据项和数据结构混合组成。经过数据项和用户需求的分析,此学籍管理系统可分为5个组,具体如下表所示:表 1.4.1 数据结构表数据结构名含义说明组成部分学生基本信息管理描述学生基本信息学号+姓名+性别+出生

6、日期+身份证号+入学时间+政治面貌+家庭住址+籍贯+民族老师基本信息管理描述老师基本信息教工号+姓名+性别+职称+所属院系+电话学生、老师相关信息管理描述学生选课信息,老师授课信息学号+课程号+成绩课程号+教工号+班号学生成绩管理描述学生平均成绩、总成绩的计算,统计相关信息学号+课程号+成绩系统管理描述用户修改密码,帮助查询信息,统计成绩,是否升留级 1.5数据流 数据流图是结构化方法的需求分析最基本的工具,数据流图从数据传递和加工的角度,以图形化的方式刻画数据流从输入到输出的移动和变换的过程。在数据流图中具体的物理元素都已去掉,只剩下数据的存储、流动、加工和使用情况。第一层: 第二层:第三层

7、:第四层:第五层:2.概念结构设计2.1分开的ER图如下:图2.1.1院系实体图2.1.2专业实体图2.1.3教师实体图2.1.4班级实体图2.1.5学生实体图2.1.6课程实体 图2.1.7表示院系与专业间关系图且为1:n类型图2.1.8表示教师与院系间的雇佣关系,且为1:n类型图2.1.9表示专业开设班级间的关系,且为1:n类型图2.1.10表示此专业开设的课程,且为m:n类型图2.1.11表示教师与学生、课程、班级间的教学关系图2.1.12表示此专业在一学期与教学计划间的关系教学计划为弱实体 图2.1.13表示学生与班级间的关系,且为n:1类型2.2总的ER图如下:3.逻辑结构设计逻辑结

8、构设计就是把概念结构设计阶段设计好的基本E-R图转换为与系统功能设计相对应的逻辑结构,即关系模型。将E-R图转换为关系模型实际上就是要将实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则: (1)一个1:1联系可以转换为与任意一端对应的关系模式合并,需要在关系模式的属性中加入另一个关系模式的码和联系本身的属性。(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的个各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。(3)一个n:n联系转换为一个关系模式。与该联系相连的个实

9、体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。将概念结构设计阶段设计好的基本E-R图转换为关系模型,如下所示:n 学生(学号,专业号,院系号,姓名,性别,出生日期,身份证号,入学时间,政治面貌,家庭住址,籍贯,民族,班号)此为学生实体对应的关系模式n 教师(教工号,姓名,性别,职称,所属院系,院系号)此为教师实体对应的关系模式n 班级(班号,班级人数,专业号)n 课程(课程号,课程名,学分,课程类型)此为课程实体对应的关系模式n 院系(院系号,院系名称,院长名)此为院系实体对应的关系模式n 专业(专业号,专业名称,院系号)此为专业实体对应的关系模式n 学习

10、(学号,课程号,教工号,班号,成绩)此为教师、学生、课程三者关系对应的关系模式。n 开设(专业号,课程号)此为专业开设课程关系对应的关系模式。n 教学计划(专业号,学期,课程类型,学分)此为专业制定教学计划关系对应的关系模式4应用程序设计数据库实施过程一般步骤:(1)定义数据库结构:用DBMS提供的数据定义语言(Data Definition language,DDL)严格描述数据库结构。(2)组织数据入库(数据库):数据库结构建立完成后,便可以将原始数据载入到数据库中。通常数据库应用系统都有数据输入子系统,数据库中数据的载入,是通过应用程序辅助完成的。这里所说的数据载入,是用于程序设计、程序

11、调试需求的部分数据,这些数据要经过挑选后再输入数据库中,要保证其有利于程序设计、适合程序调试。(3)编写和调试应用程序:编写和调试应用程序与组织数据入库事实上是同步进行的,编写程序时可用一些模拟数据进行程序调试,待程序编写完成方可正式输入数据。(4)数据库试运行:应用程序测试完成,并且已输入一些“真实”数据,就开始了数据库试运行工作,也就进入到数据库联合调试阶段。在这个阶段,最好常对数据库中的数据进行备份的操作,因为,调试期间系统不稳定,容易破坏已存在的数据信息。4.1数据库的建立CREATE DATABASE Student4.2基本表的建立4.2.1教师信息表的建立CREATE TABLE

12、 Teacher( Teacher_number CHAR(10), Teacher_name VARCHAR(10), Teacher_sex CHAR(2), Profess VARCHAR(10) Department VARCHAR(8) PRIMARY KEY(Teacher_number), Check (Sex=男or Sex=女);4.2.2学生基本信息表的建立CREATE TABLE Student( Student_number INTEGER(10), Student_name VARCHAR(10), Student_sex CHAR(2), Birthdat TIME

13、STAMP(20) symbol VARCHAR(8) Id VARCHAR(20) Intime VARCHAR(20) Birthplace VARCHAR(10) Homeaddress VARCHAR(30) PRIMARY KEY(Student_number), Check (Sex=男or Sex=女);4.2.3班级信息基本表CREATE TABLE Class( Class _number VARCHAR (16), Number INT NOT NULL, PRIMARY KEY(Class_number) );4.2.4专业信息表CREATE TABLE Major( M

14、ajor_number CHAR (10), Major_name CHAR(10), PRIMARY KEY(Major_number) );4.2.5课程信息表CREATE TABLE Course( Course_number VARCHAR (5), Course_name VARCHAR(15), Credit SMALLINT, Course_type VARCHAR (5), PRIMARY KEY(Course_number) );4.2.6教学计划表CREATE TABLE Teaching_Program( Course_type VARCHAR (5), Semester

15、 VARCHAR(15), Credit SMALLINT, PRIMARY KEY(Course_type, Semester), FOREIGN KEY (Course_number) );4.2.7院系信息表CREATE TABLE Department( Department_number VARCHAR (10), Department_name VARCHAR(10), President_name VARCHAR(20) PRIMARY KEY(Department_number) );4.2.8课程表CREATE TABLE Schedule( Student_number V

16、ARCHAR (10), Course_number VARCHAR(5), Grade FLOAT NOT NULL, Teacher_number CHAR(10), Class_number VARCHAR(16), PRIMARY KEY(Department_number) );4.3视图的建立 4.3.1教师信息的视图 CREATE VIEW TC AS(Teacher_number,Teacher_name,Teacher_sex,Profess, Department)(SELECT * FROM Teacher );4.3.2学生基本信息的视图 CREATE VIEW SD

17、AS(Student_number,Student_name,Student_sex Birthdat,symbol,Id,Intime,Birthplace,Homeaddress)( SELECT * FROM Student );4.3.3班级信息的视图 CREATE VIEW CL AS(Class _number,Number)( SELECT * FROM Class );4.3.4课程信息的视图 CREATE VIEW Cour AS(Course_number,Course_name,Credit,Course_type)( SELECT * FROM Course );4.3

18、.5专业信息的视图 CREATE VIEW MA AS(Major_number ,Major_name)( SELECT * FROM Major );4.3.6院系基本信息的视图 CREATE VIEW DP AS(Department_number,Department_name,President_name)( SELECT * FROM Department );4.3.7课程表信息的视图 CREATE VIEW Sch AS(Student_number,Course_number,Grade,Teacher_number,Class_number)( SELECT * FROM

19、Schedule );4.4约束的设计与实现数据库的完整性(Database Integrity)是指数据库中数据的正确性、有效性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。数据库完整性约束可以通过DBMS或应用程序来实现,基于DBMS的完整性约束作为模式的一部分存入数据库中。通过DBMS实现的数据库完整性按照数据库设计步骤进行设计,而由应用软件实现的数据库完整性则纳入应用软件设计。数据库完整性约束可分为6类:列级静态约束、元组级静态约束、关系级静态约束、列级动态约束、元组级动态约束、关系级动态约束。动态约束通常由应用软件来实现。

20、而在关系模型中有四类完整性约束:实体完整性、域完整性、参照完整性、用户定义完整性。 实体完整性(Entity Integrity):此学籍管理系统中的各类表都设立了主键,即主码,都不能为空值(NULL)。“学号,教工号,专业号,院系号,课程号,学期,课程类型”这些作为各表的主属性都不能为空值。 域完整性(Domain Integrity)是指数据库表中的列必须满足某种特定的数据类型或约束。其中约束又包括取值范围、精度等规定。表中的CHECK、FOREIGN KEY 约束和DEFAULT、 NOT NULL定义都属于域完整性的范畴。 参照完整性(Referential Integrity):若属

21、性组F是关系模式R1的主键,同时F也是关系模式R2的外键,则在R2的关系中,F的取值只允许两种可能:空值或等于R1关系中某个主键值。例如,在教师信息表中,院系号作为外码,而在院系信息表中属于主码,因此在教师信息表中院系号取在院系信息表中的值。 用户定义完整性(User-defined Integrity):包括字段的值域、字段的类型和字段的有效规则(如小数位数)等约束,是由确定关系结构时所定义的字段的属性决定的。而在本系统中,用户定义完整性规则为:课程表中的成绩属性只能取(0-100)之间的数,学生和教师的性别只能为“男”或者“女”,学生和教师的年龄不能为负,课程表和教学计划中的课程类型只能为

22、“必修课”或者“选修课”。4.5触发器的设计和实现 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。由于本系统所用的触发器较多因此列举部分主要的。 4.5.1 Student表的触发器:对于学生基本信息表,当对学生信息修改(如:添加、删除和更新数据)时,班级信息表,学生、教师和课程、班级间关系都要相应的发生改变。(对于此类型的触发器,如教师表,专业表的触发器均可参照学生表的触发器设计与实现)。 4.5.2对一学期学分不满足教学计划的学生信息存储过程:根据本专业所制定的教学计划要求,(如2000年入学的学生大三上学期必修课30学分,限选课10学分)当学生的学分少于规定的要求将学生的信息进行查询存储。 4.5.3更新学生成绩信息存储过程:CREATE PROCEDURE UpdateSC 学号 integter(10), 课程号 varchar(5), 分数 float,ASupdate SCset 分数=分数where 学号=学号 and 课程号=课程号GO4.5.4对有不及格科目的所有学生的信息查询的存储过程CREATE PROCEDURE selectst

温馨提示

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

评论

0/150

提交评论