数据库实习报告-教务管理系统

更新时间:2024-04-10 18:05:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数据库系统课程设计 学生姓名: 班 学 号: 指导教师:

教务管理系统 1、需求分析 1. 1 信息要求:

教务管理系统涉及的实体有:

●教师——工作证号、姓名、职称、电话等; ●学生——学号、姓名、性别、出生年月等; ●班级——班号、最低总学分等;

●系——系代号、系名和系办公室电话等;

●课程——课序号、课名、学分、上课时间及名额等。 这些实体之间的联系如下:

●每个学生都属于一个班,每个班都属于一个系,每个教师也都属于一个系。 ●每个班的班主任都由一名教师担任。

●一名教师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一门课其课序号是不同 的(课序号是唯一的 。

●一名同学可以选多门课,一门课可被若干同学选中。 ●一名同学选中的课若已学完,应该记录有相应成绩。

●本单位学生、教师都有重名,工作证号、学号可以作为标识。 1. 2 处理要求:

教学系统主要提供数据维护、 选课和信息查询。 其中常见的查询有:系统中各对象的基本信息查询。 查 询指定班、系的学生信息(名单、人数等 。查询学生的成绩、学分情况。查询教师授课情况和学生选课情 况??。

1. 3 安全性与完整性要求: ●安全性要求:

1. 系统应设置访问用户的标识以鉴别是否是合法用户, 并要求合法用户设置其密码, 保证用户身份不被 盗用;

2. 系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;

3. 系统应对不同用户设置不同的权限,区分不同的用户,如学生,教师,系统管理员。

●完整性要求:

1. 各种信息记录的完整性,关键信息记录内容不能为空; 2. 各种数据间相互的联系的正确性; 3. 相同的数据在不同记录中的一致性。 1. 4 系统功能的设计和划分

根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几部分: 第一部分:用户管理部分 第二部分:管理员管理部分 各部分完成的功能如下: 1、用户管理部分 1、处理用户注册 2、处理用户登录

3、用户可以查询学生信息。 4、用户可以查询快件信息。 5、用户可以提交与查询报修信息。

6、用户可以插入与删除用户自己的离返校信息。 7、用户可以修改用户自己密码。

2、管理员管理部分 1、处理管理员登录

2、管理员可以查询学生信息。 3、管理员可以发布与更新快件信息。 4、管理员可以插入、修改与查询报修信息。 5、管理员可以插入与查询学生夜归信息。 6、管理员可以查询在校与离校学生信息。 7、管理员可以修改管理员密码。 2、概念设计 (1 概念模型(E-R 图 :

选修联系的分 E-R 图 负责联系的分 E-R 图

授课联系的分 E-R 图

教务管理系统的总 E-R 图 (2 数据字典 :

(3数据流图

查询 课程信息 课程信息表 课程信息 查询 课 程 成绩信息 信 息 教师 学 生 选课信息信 息 查询学 生信息 修改教 师信息 教 师 信 息 系 信 息 课 程 选课信息 信 息 学生 学 生 信 息 选课信息 修改学 教 师 信 息 生信息 查询教 师信息 选课信息 选课 已 选 课 信 息 成绩信息 选 课 表 登记 成绩 成 绩 信 息 查询 选课信息 选课信息 查询 系 信 息 班 级 信 息 学生信息 学生信息表 教师信息 教师信息表 学生信息 教师信息 班 级 信 息 班级信息 查询 系信息 班级信息表 系信息表 总 数 据 流 图 班级信息 查询 系信息 3、逻辑结构设计

-R 图向关系模型的转换(关系的码用下横

线表出) 教师(工作证号,姓名,职称,电话,系代号) 代码表示:Teacher ( Tno, Tname, Title, Tel, Dno 此为“教师”实体对应的关系模式。其中 1:n 联系“工作”与此关系模式合并,Dno 为外码。存在的函数 依赖为 Tno → (Tname,Title,Tel,Dno) ,且不存在多值依赖,所以满足 4NF。 学生(学号,姓名,性别,出生年月,班号) 代码表示:Student ( Sno, Sname, Ssex, Sbirth, Class 此为“学生”实体对应的关系模式。其中 1:n 联系“属于”与此关系模式合并,Class 为外码。存在的函数 依赖为 Sno → (Sname,Ssex,Sbirth,Class) ,且不存在多值依赖,所以满足 4NF。 系(系代号,系名,系办公室电话) 代码表示:Department ( Dno, Dname, Dphone 此为“系”实体对应的关系模式。存在的函数依赖为 Dno → (Dname,Dphone) ,且不存在多值依赖,所 以满足 4NF。 课程(课序号,课名,学分,上课时间,名额,工作证号) 代码表示:Course ( Cno, Cname, Credit, Ctime, Cnum, Tno 此为“课程”实体对应的关系模式。其中 1:n 联系“授课”与此关系模式合并,Tno 为外码。存在的函数 依赖为 Cno → (Cname,Credit,Ctime,Cnum,Tno) ,且不存在多值依赖,所以满足 4NF。 选课(学号,课序号,成绩) 代码表示:SC ( Sno, Cno, Grade

此为 m: 联系 n “选修” 所对应的关系模式。 Sno 和 Cno 均为外部码。 存在的函数依赖为完全函数依赖 (Sno, Cno) → Grade,且不存在多值依赖,所以满足 4NF。 班级(班号,最低总学分,工作证号,系代号) 代码表示:Class ( Class, TotalCredit, Tno, Dno 此为“班级”实体对应的关系模式。其中 1:n 联系“属于”和 1:1 联系“负责”与此关系模式合并,Tno 和 Dno 为外码。该关系模式中存在传递函数依赖:Class → Tno, (Tno \\ Class,Tno → Dno,可得 Class → Dno,故 Class 不属于

3NF。解决方法是将其模式分解为:Class ( Class, TotalCredit, Tno 和 T-D( Tno, Dno,分解后的关系模式满足 4NF,并且 T-D 与 Teacher 的码相同,可合并为同一模式。但 是考虑到系统要经常进行系的学生信息查询,此时就不得不对 Student、Class 和 Teacher 三个表进行连接 查询,而连接是影响查询效率的主要原因,所以取消对 Class 的模式分解。此时 Class 关系模式满足 2NF。

设计用户子模式 为

了方便程序查询,建立了如下用户视图: 1、某系的学生信息视图(学号,姓名,性别,出生年月,班号) 2、某系的教师信息视图(工作证号,教师姓名,职称,电话,负责班级) 3、某课程的学生成绩单(学号,姓名,班级,成绩) 4、教师授课信息表(工作证号,教师姓名,职称,教授课程,学分,上课时间) 5、学生已选课表(课序号,课名,学分,授课教师,上课时间,名额) 4、物理设计 4.1 选择存取方法 1、数据库管理系统自动在每个表的主码上建立索引,通常为 B + 树索引。 2、在 Student 表 Sname 列上建立 Stu_name 索引,因为查询操作很多都使通过学生姓名进行的。 3、在 Teacher 表 Tname 列上建立 Tea_name 索引,因为查询操作很多都使通过教师姓名进行的。 4.2 确定数据库的存储结构 1、为了提高系统性能,根据具体情况将数据的易变部分与稳定部分、经常存取部分和存取频率较低部 分分开存放。 2、DBMS 产品一般都提供了一些系统配置变量、存储分配参数,根据应用环境确定这些参数值,并且 在系统运行时还要根据系统实际运行情况进行调整,以使系统性能最佳。 4.3 评价物理结构 根据所选用的 DBMS,如 SQL Server 2000,从定量估算各种方案的存储空间、存取时间和维护代价入 手,对估算结果进行权衡、比较,选择一个较优的合理的物理结构。 5、系统实施 编写关系模式,载入数据。分期分批地组织数据入库,先输入小批量数据做调试用,待试运行基本合 格后,再大批量输入数据,逐步增加数据量,逐步完成运行评价。需要注意的是,要首先调试运行 DBMS 的 恢复功能,做好数据库的转储和恢复工作。 基本 SQL 语言代码如下: CREATE SCHEMA \

AUTHORIZATION Gao CREATE TABLE Department (Dno CHAR(3 PRIMARY KEY, Dept CHAR(20 UNIQUE NOT NULL, Dphone CHAR(11, ; CREATE TABLE Teacher (Tno CHAR(6 PRIMARY KEY, Tname CHAR(20 NOT NULL, Title CHAR(8, Tel CHAR(11,

Dno CHAR(3, FOREIGN KEY (Dno REFERENCES Department(Dno ; CREATE TABLE Class (Class CHAR(6 PRIMARY KEY, TotalCredit NUMERIC(4,1, Tno CHAR(6, Dno CHAR(3, FOREIGN KEY (Tno REFERENCES Teacher(Tno, FOREIGN KEY (Dno REFERENCES Department(Dno ; CREATE TABLE Student (Sno CHAR(11 PRIMARY KEY, Sname CHAR(20 NOT NULL, Ssex CHAR(2, Sbirth DATETIME, Class CHAR(6, FOREIGN KEY (Class REFERENCES Class(Class ; CREATE TABLE Course (Cno CHAR(6 PRIMARY KEY, Cname CHAR(20 NOT NULL, Credit NUMERIC(2,1, Ctime DATETIME, Cnum SMALLINT, Tno CHAR(6, FOREIGN KEY (Tno REFERENCES Teacher(Tno ; CREATE TABLE SC (Sno CHAR(11 NOT NULL, Cno CHAR(6 NOT NULL, Grade SMALLINT CHECK(Grade>=0 AND Grade<=100, PRIMARY KEY (Sno, Cno, FOREIGN KEY (Sno REFERENCES Student(Sno ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (Cno REFERENCES Course(Cno ON DELETE NO ACTION ON UPDATE CASCADE, ; /*建立索引*/ CREATE UNIQUE INDEX Stu_name ON Student(Sname; CREATE UNIQUE INDEX Tea_name ON Teacher(Tname; CREATE UNIQUE INDEX SCno ON SC(Sno ASC, Cno DESC; /*查询某个系的学生信息*/ CREATE VIEW GIS_Student AS SELECT * FROM Student WHERE Class IN (SELECT Class FROM Class WHERE Dname='GIS' WITH CHECK OPTION; SELECT * FROM GIS_Student; SELECT COUNT(* FROM GIS_Student; /*查询班级的学生信息*/ SELECT Sno, Sname, Ssex, Birth FROM Student WHERE Class = '114072';

SELECT COUNT(* FROM Student WHERE Class='114072'; /*查询学生的成绩、学分*/ SELECT SC.Cno, Cname, Credit, Grade FROM Course, SC WHERE Sno = '20071000500' AND SC.Cno=Course.Cno; SELECT SUM(Credit FROM SC,Course WHERE Sno='20071000500' AND SC.Cno=Couse.Cno; /*查询教师授课信息*/ SELECT Course.* FROM Course WHERE Tno='100123'; SELECT

Student.Sno,Sname,Class,Grade FROM Course,SC,Student WHERE Tno='100123' AND Course.Cno=SC.Cno AND SC.Sno=Student.Sno; 6、运行维护 1、针对不同的应用要求制定不同的转储计划,一旦发生故障尽快将数据库恢复到某种一致的状态,并

尽可能减少对数据库的破坏; 2、根据实际情况修改数据库原有的安全性、完整性控制; 3、在数据库运行过程中,监督系统运行,对监测数据进行分析,找出改进系统性能的方法; 4、数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低数据的 存取效率,数据库性能下降。这时应按原设计要求重新安排存储位置、回收垃圾、减少指针链等,提高系 统性能。当原有的数据库设计不能满足新的需求,需要重构造数据库,调整数据库的模式和内模式。 7、用户手册 (<五号宋体>,具体内容:使用、操作说明。 ) 8、附录 (<五号宋体>,源程序清单和结果:源程序必须有注释,以及必要的测试数据和运行结果数据,提倡 用英文描述。 )

尽可能减少对数据库的破坏; 2、根据实际情况修改数据库原有的安全性、完整性控制; 3、在数据库运行过程中,监督系统运行,对监测数据进行分析,找出改进系统性能的方法; 4、数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低数据的 存取效率,数据库性能下降。这时应按原设计要求重新安排存储位置、回收垃圾、减少指针链等,提高系 统性能。当原有的数据库设计不能满足新的需求,需要重构造数据库,调整数据库的模式和内模式。 7、用户手册 (<五号宋体>,具体内容:使用、操作说明。 ) 8、附录 (<五号宋体>,源程序清单和结果:源程序必须有注释,以及必要的测试数据和运行结果数据,提倡 用英文描述。 )

本文来源:https://www.bwwdw.com/article/xiur.html

Top