教务管理系统数据库设计
教务管理系统数据库设计

教务管理系统数据库(SQL Server 2008 + delphi7)实验报告班级:姓名:学号:指导教师:完成日期:目录第一章系统概述 (3)第二章系统分析 (3)第三章系统设计 (4)第四章系统功能 (9)第五章系统实现 (9)第六章源程序附录 (15)第七章参考文献 (73)第一章系统概述学校学生管理信息系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System).它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。
能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。
本系统是以delphi7编辑用户界面,以SQL server 2008为数据源后台而成的学生信息管理系统.本系统是以计算机为基础,由人和计算机结合的对信息进行收集、存储、维护、加工、传递和使用的一种管理系统,其目的是使人流、物流、资金流和信息流处于最佳状态,以最少的资源投入获得最佳的综合效益.本系统主要包括学生信息管理模块、教师信息管理模块、课程信息管理模块、成绩信息管理模块和系统维护模块等部分。
在校务管理中,为有关部门提供完整、综合、共享的信息,对于学校的教育管理、教务和科研等都有很大的实用价值。
第二章系统分析1、问题定义随着科学技术的不断提高,计算机科学日渐成熟,其强大功能已为人们深刻认识,它已进入人们生活的各个领域,并发挥了越来越重要的作用,针对人工管理的缺点,最好的解决办法就是借助计算机技术提供一个电子化的学生信息管理平台。
为了更好地管理学生和教职工的资料文档,我开发一个软件工程学生信息管理系统.教师和学生可以应用该系统实现如下功能:1、可随时查询出不同系及各系教师与各系学生情况,系、教师与学生各反映如下情况:系:系号、系名、系负责人、专业数等。
教师:工号、姓名、性别、职称、工龄、出生年月、基本工资等.学生:学号、姓名、性别、年龄等。
教务管理系统数据库设计

教务管理数据库系统课程设计目录1、需求分析 (2)1.1 信息要求: (2)1.2 处理要求: (2)1.3 安全性与完整性要求: (2)1.4 系统功能的设计和划分 (2)第一部分:用户管理部分 (3)第二部分:管理员管理部分 (3)2、概念设计 (3)2.1概念模型(E-R图): (3)2.2数据字典: (5)a.数据项 (5)b、数据结构 (5)c、数据流 (5)d、数据存储 (6)e、处理过程 (6)2.3 数据流图 (7)3、逻辑结构设计 (7)3.1 E-R图向关系模型的转换(关系的码用下横线表出) (7)3.2 设计用户子模式 (8)4、物理设计 (8)4.1 选择存取方法 (8)4.2 确定数据库的存储结构 (8)4.3 评价物理结构 (9)5、系统实施 (9)6、运行维护 (10)1、需求分析1.1 信息要求:教务管理系统涉及的实体有:●教师——工作证号、姓名、职称、电话等;●学生——学号、姓名、性别、出生年月等;●班级——班号、最低总学分等;●系——系代号、系名和系办公室电话等;●课程——课序号、课名、学分、上课时间及名额等。
这些实体之间的联系如下:●每个学生都属于一个班,每个班都属于一个系,每个教师也都属于一个系。
●每个班的班主任都由一名教师担任。
●一名教师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一门课其课序号是不同的(课序号是唯一的)。
●一名同学可以选多门课,一门课可被若干同学选中。
●一名同学选中的课若已学完,应该记录有相应成绩。
●本单位学生、教师都有重名,工作证号、学号可以作为标识。
1.2 处理要求:教学系统主要提供数据维护、选课和信息查询。
其中常见的查询有:系统中各对象的基本信息查询。
查询指定班、系的学生信息(名单、人数等)。
查询学生的成绩、学分情况。
查询教师授课情况和学生选课情况……。
1.3 安全性与完整性要求:●安全性要求:1.系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;2.系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;3.系统应对不同用户设置不同的权限,区分不同的用户,如学生,教师,系统管理员。
数据库课程设计--学校教务管理系统

学校教务管理的数据库设计I.需求分析:随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
面对庞大的信息量,就需要有学生教务信息管理系统来提高学生管理工作的效率。
通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。
学校为方便教务管理,需开发一个教务管理系统。
为便于学生,老师,教务管理人员信息查询,注册以及信息修改,学校把学生的信息,包括姓名、性别、年龄,成绩等信息输入教务管理系统的数据库,然后在管理终端可以对数据进行查询和修改操作。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。
并要求系统界面要简单明了,易于操作,程序利于维护。
一、信息分析:(1)学校教务管理的数据库,包含以下信息:学校有若干个系,每个系有若干名教师和学生,每个教师可以担任若干门课程,并参加多个项目,每个学生可以同时选修多门课程,每门课程每学期可能有多名教师教授,课程分为必修、选修、任选三种。
(2)学校的教务管理的信息包括:学生姓名、学号、班级、性别、班号,籍贯、出生日期、所属系编号、所属系名称、系主任,教师编号,教师姓名,教师职称,教师所授课程、课程编号,课程名,课程学分,项目编号,项目名称,项目负责人,学生选修课程及成绩。
学生如果课程及格,可以取得该课程的学分。
学生的各类型课程学分和总学分累计到一定程度,学生可以毕业。
根据成绩高低,可以计算学分积。
及格学生的学分积公式:课程学分积=(该课程成绩-50)/10×该课程学分。
二、功能分析:(1)用户能够使用友好的图形用户界面实现对系、班级、学生、教师、课程、选课等内容进行增、删、改,以及对信息的查询。
对于查询要实现比较强大的功能,包括精确查询、模糊查询以及统计查询。
(2)具体查询在数据库中要实现以下的功能:1)所有来自某省的男生2)所有某课程成绩>90的同学3)教授某课程的老师4)某班年龄最大的5名同学5)某年以后出生的男同学6)选修某课程的学生及其成绩7)没有授课的教师8)某学生所选课程的总学分9) 教授某学生必修课程的老师情况 10)某学生选修了哪些系的课程 11)某系学生所学的所有课程12)按总学分找出某系学习最好的5名同学 13)按总学分积找出某系学习最好的5名同学 14)可以毕业的学生三、软、硬件配置 程序运行的环境:具体运行环境为软件方面,操作系统为windows2000/XP ,并且系统装有SQL Server2000数据库管理系统。
教务管理系统数据库设计报告

软件数据库设计一、引言1 编写目的编写本数据库的目的在于有利于后期的维护,其主要读者为后期的系统维护人员。
以便于他们在维护时方便地掌握原数据库环境。
2 背景a.待开发的数据库名称为:Student.mdb。
使用该数据库的系统为:教务管理。
b.本项目是由计算机科学与技术学院08计11班郭琼、王娟、何婷婷、李姣、金欢欢、褚强、孙超为了进行软件测试实训而进行开发的3 定义本数据库所用术语为:数据库,表,记录,字段其中数据库名称和表名为英文词组。
数据库名:Student.mdb表名:如Xs、Js等,表名清晰明了,有利于阅读。
4参考资料《中文office 2000》,《VB数据库开发》等。
二、外部设计1 标识和状态本系统仅包含一个数据库,所以数据库的唯一标志也是数据库的名字即Student.mdb该数据库所包含的所有表也都以其表名为唯一标志,而不在存在其他表示方式。
2 使用它的程序对应系统表单、控件、过程的各个程序和模块,诸如查询,修改,添加,调整等。
3 约定程序员在利用或修改该数据库时需要注意的是在各个表中,关键字段为表中的学号,教师号,班号,以及用户帐号,程序员在利用数据库时应当优先考虑这些字段的唯一性和完整性。
4 支持软件该数据库所用的DBMS为SQL server。
该数据库管理系统具有操作简便,维护容易的特点,对中小型数据库的管理非常适用。
三、结构设计1、学生模式设计:根据关系模型的转换原则,上面的E—R图可转换为如下所示的关系模型:Bj(Bno,Bname,Bdate,Btea,Bmon,Bparty)各项含义分别为:班级(班号,班名,建班时间,班主任,班长,团支书)其中班号是班级表的是主码Xs(Xno,Bno,Xname,Xbir,Xaddr,Xnation,Xface,Xid,Xcall,Xsno,Xmail,Xd ate)其中各项含义分别为:(学号,班号,学生姓名,性别,出生日期,籍贯,民族,政治面貌,身份证号,联系方式,宿舍号,邮箱,入学日期)其中学号是学生表的主码,班号是学生表的外码A、数据结构:班级含义说明:描述了组成班级的信息结构组成:班号,班名,建班时间,班主任,班长,团支书学生含义说明:描述了组成学生的信息结构组成:学号,班号,学生姓名,性别,出生日期,籍贯,民族,政治面貌,身份证号,联系方式,宿舍号,邮箱,入学日期B、数据表根据上面的E-R图设计及关系模型的设计,得出数据表的设计,在本系统中主要的数据表如下:字段名称数据类型可否为空说明班号Bno Char(8) 主键4位院系代码+2位班级代码+2位班自由编码班名Bname Varchar(50) Not null 班级名称建班时间Bdate Datetime(8) Null 学生入学时间班主任Btea Char(10) Null 班主任班长Bmon Char(10) Null 班长团支书BParty Text(6) Null 团支书表1:班级基本信息表(Bj)字段名称数据类型可否为空说明学号Xno Char(8) 主键4位院系代码+2位班代码+2位学号代码班号Bno Char(8) Not Null 4位院系代码+2位班级代码+2位班自由编码学生姓名Xname Char(10) Not Null 姓名性别Xsex Char(2) Not Null 性别(男,女)出生日期Xbir Datetime(8) Null 出生日期籍贯Xaddr Varchar(50) Null 学生籍贯民族Xnation Varchar(30) Null 民族名称政治面貌Xface Varchar(50) Null 现阶段政治面貌身份证号Xid Char(20) Null 18位身份证号联系方式Xcall Varchar(30) Null 手机号或宿舍号宿舍号Xsno Varchar(30) Null 宿舍楼号(2)+房间号(4)邮箱Xmail Varchar(30) Null 邮箱号入学日期Xdate Datetime(8)Null 入学日期表2:学生基本信息表(Xs)2、教师模式根据关系模型的转换原则,上面的E—R图可转换为如下所示的关系模型Kc(Kno,Kname,Jno,Kpno,Kpname,Khour,Kciredit)其中各项含义分别为:课程(课程号,课程名,教师编号,先修课程号,先修课程名,学时,学分)其中课程号是课程表的主码Cj(Cid,Bno,Xno,Kno,Cscore)其中各项含义分别为:成绩(成绩id ,班号,学号,课程号,成绩)其中成绩id是成绩表的主码,班号、学号、课程号是成绩表的外码A、数据结构课程表含义说明:定义一个描述学生所选的课程的信息组成:课程号,课程名,教师编号,先修课程号,先修课程名,学时,学分成绩表含义说明:定义一个描述学生所选的课程的成绩组成:成绩id ,学号,课程号,成绩B、数据表根据上面的E-R图设计及关系模型的设计,得出数据表的设计,在本系统中主要的数据表如下:字段名称数据类型可否为空说明课程号Kno Char(8)主键4位院系代码+2位课程代码+2位自由编码课程名称Kname Varchar(50)Not null 课程名称(中文或英文)教师编号Jno Char(8)Not null 4位院系代码+2位教师代码+2位自由编码先修课程号Kpno C har(8)Null 4位院系代码+2位课程代码+2位自由编码先修课程名称Varchar(50)Null 课程名称(中文或英文)表3 课程信息表(Kc)表4 成绩信息表(CJ )四、安全保密设计由于本系统要求的保密等级不高,故只在数据库中建立一张用户表,并分别设置超级用户,普通用户标志,在程序中根据用户标志来分别赋予不同权限。
教务管理系统后台数据库设计

教务管理系统后台数据库设计需求规格说明书第一章引言1.1编写目的任何一个web数据库应用系统都需要有后台数据库的支持,在本项目中就对要开发的教务管理系统的后台数据库进行设计以实现,在实施过程中要进行数据库的概念模型设计、逻辑模型设计及物理模型设计。
1.2数据库设计教务管理系统是学生和教师都比较熟悉的项目,因此比较好分析。
在教务管理系统中涉及到教师、学生、课程、成绩等实体,分别分析每一个实体的属性、实体之间的联系,绘制出E-R图。
随后在进行概念模型到逻辑模型的转变,将E-R图转变为一组关系模式,并对关系模式进行规范化处理。
然后进行数据库物理模型设计,将每个关系转化为一张二维表,对二维表的结构进行描述,尤其要考虑数据的完整性约束的设计,最后实现该数据库。
第二章任务设计与实施2.1任务计划根据对学院教务处相关职能部门的业务调研,进行需求分析,对数据库进行概念模型设计、逻辑模型设计以及物理模型设计。
2.2任务实施I.需求分析进过研究,对学院的教务管理业务做一总结:某学院下设有若干系部,系部有系部办公室、学生工作室、教研室等部门,系部所有教师分别隶属各个部门,系部教研室开设多门课程,一名教师可以教授多门课程。
系部所有学生以班级为单位组织教学及日常管理,学生每一学期需要学习多门课程(有必修课和选修课),学习结束后通过测试获取相应的成绩。
教务处负责学生学籍管理、课程排课管理、学生成绩管理、学生毕业资格审查等。
II.数据库概念模型设计(1)实体的确定。
进过分析,的确出问题涉及的实体有:系部、部门、教师、课程、班级、学生。
(2)实体属性的描述。
系部实体有下列属性:系部编号、系部名称、位置、人数、负责人、联系电话。
部门实体有下列属性:部门编号、部门名称、负责人、联系电话、业务领域。
教师实体有下列属性:教师编号、教师姓名、性别、生日、职称、职务、学历、参加工作时间。
课程实体有下列属性:课程编号、课程名称、课时、学分、课程性质、考核方式、开课时间。
3高校教务管理系统数据库设计

高校教务管理系统数据库设计1.1 数据库数据库是实现有组织地,动态地存储大量关联数据,方便多用户访问的计算机软硬件组成的系统;它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。
由于本软件的整体结构比较简单,所涉及数据相对来说也较少,组成文件的最小单位是记录。
1.2设备奔腾1g、内存128兆以上的计算机,局域网络环境。
1.3需求注释对于本软件,它的功能需求、性能需求、接口需求,从稳定性、可行性上都是可以的。
1.4功能树2 概念设计2.1 实体及其属性2.1.1 学生实体E-R图2.1.2 课程实体E-R图2.1.3 教师信息E-R图2.1.4综合ER图3 逻辑设计3.1 规范化得到最终的关系模式学生信息基本表(学号,姓名,性别,学院名称,班号,联系电话,入校日期,家庭住址),主码为学号,符合三范式。
课程信息表(课程编号,课程类型,分数)主码为课程编号,符合三范式。
教师信息表(教师编号,姓名,所在科室,联系电话)主码为教师编号,符合三范式。
考试信息表(学号,课程编号)主码为学号,课程编号,符合BCNF。
讲授信息表(教师编号,课程编号)主码为教师编号,课程编号,符合BCNF。
3.2 学生基本信息表3.3 课程信息表3.4 教师信息表3.5 考试信息表3.6 讲授信息表4 物理结构设计4.1物理设计阶段的目标与任务数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。
4.2 建立数据表4.2.1 学生信息基本表的建立:CREATE TABLE Student( Sno CHAR ( 8 ) PRIMARY KEY ,Uname CHAR ( 8 ) UNIQUE,Sex CHAR ( 2 ),Sdept(8 ),Classno ( 8 ),Connect tel ( 11 ),Enter date (8 ),Family add (50 ));4.2.2 课程信息表的建立:CREATE TABLE Course( Course code CHAR (20 ) PRIMARY KEY ,Course type CHAR ( 8 ) ,Course grade CHAR ( 8)) ;4.2.3 教师信息表的建立:CREATE TABLE Teacher( Tno CHAR ( 8 ) PRIMARY KEY ,Tname CHAR ( 8 ) UNIQUE,Tdepartment(8 ),Tmoible( 11 ),);4.2.4考试信息表的建立:CREATE TABLE Exam( Sno CHAR ( 8 ) ,Course code CHAR (20 ) ,PRIMARY KEY ( Sno , Course code ) ,FOREIGN KEY ( Sno ) REFERENCES Student ( Sno ) ,FOREIGN KEY (Course code) REFERENCES Course (Course code));4.2.5讲授信息表的建立:CREATE TABLE Teaching( Tno CHAR ( 8 ) ,Course code CHAR (20 ) ,PRIMARY KEY (Tno , Course code ) ,FOREIGN KEY (Tno ) REFERENCES Teacher (Tno ) ,FOREIGN KEY (Course code) REFERENCES Course (Course code) );5 其他数据库对象的设计5.1 索引CREATE UNIQUE INDEX Stusno ON Student(Sno)CREATE UNIQUE INDEX Couno ON Course(Cno)CREATE UNIQUE INDEX Teano ON Teacher(Tno)5.2 视图CREATE VIEW IS_StudentASSELECT Sno,Sname,SdeptFROM StudentWhere Sdept=’IS’;2.2CREATE VIEW BTEACHERASSELECT Tname,TdepartmentFROM Teacher;5.3 触发器CREATE Trigger Delete _CourseBEFORE UPDATE ON CourseFOR EACH ROWAS BEGINIF(new.grade<60)THEN new.grade=nopass;END IF;END;5.4 存储过程CREATE procedure createetablesASCREATE table user 1(Uid int,Uname char(20)INSERTINTO use 1(Uid,Uname)V ALUES ('1','小明');)6 备份及恢复策略针对不同的故障,制定恢复策略数据库系统可能发生各种各样的故障,大致可以分为以下几类:1)事务内部故障2)系统故障3)介质故障4)计算机病毒要保证数据一致性是对数据库的最基本的要求。
教务系统数据库设计

教务系统数据库设计课题的研究背景与意义课题的研究背景目前我国各行各业的信息化建设开展得如火如荼,这种信息化的发展已经影响到了各学校。
学校在对学生进行管理时,学生学籍的管理一直都是很麻烦的事情,不仅仅管理起来不易修改和更新,而且学生需要了解本人的信息时,也需要去学校教务处找专门人员.由于这些操作的繁琐性,教务管理系统的开发成为各学校必须的事情,特别是各个高校.一个成功的教务管理系统,应该能够有效地辅助教务人员工作,提高学校学生的学籍、成绩等管理能力,并且不断完善系统,以便更好的帮助学生、教师、系统管理人员等管理成绩、课程、学籍等。
然而目前许多教务管理系统在使用时,效率低下容易出错,学生、教师资料不易整理,大量丢失,这些无疑都已成为管理学生学籍、教师信息的障碍.这就要求学校能够建立高效的教务管理系统,对学生的选课、查询等操作及流程进行规范化管理,简化业务流程,提高工作效率并防止中间的漏洞;迅速、准确地捕捉用户要求,并加以高效回应。
同时需要不断完善系统,增加模块,更好的满足用户需求,简化教务人员的管理工作,尽量做到一切信息化。
课题的研究意义对于学校教务处而言,最主要的是管理学生的学籍、管理教师的课程教授.如果使用一般的方法来管理,会比较繁琐,管理起来也很有可能出错。
为了方便教务人员的管理工作,提高工作效率,同时为了更好地为学生、教师提供服务,有必要开发教务管理系统,使学校的教务管理走上信息化之路,克服人为的种种弊端。
教务管理系统的开发不仅可以减少人力、物力和财力资源的浪费,更重要的是有助于提高教务管理的效率.教务管理人员管理学生学籍、管理教师课程教授时是一项复杂的组织工作,这种复杂性不仅仅指学生学籍变更快,变更人数众多,更突出地表现在教务管理主要对象(即学生)的数据量大,管理起来带来不便,所以开发一个实用、高效的教务管理信息系统是很有必要的..系统的内容简介教务管理系统为教务管理人员管理日常教务工作提供了方便。
教务管理系统的数据库设计

教务管理系统的数据库设计在这个信息化的时代,教务管理系统的数据库设计可真是个重要话题。
想象一下,学生们像小鸟一样翱翔在知识的天空中,而教务管理系统就像是那座巍峨的山,支撑着他们的飞翔。
要说数据库设计,它就像是那座山里的矿藏,藏着无数宝贵的数据,帮助学校更好地管理课程、学生、老师等等。
嘿,想要把这个系统弄得流畅又高效,可是需要点儿巧思的。
得说说数据表的设计。
哎,这可不是随便搁一堆数据就行,得精心布局。
就像盖房子,基础打好了,后面的事儿就简单多了。
学生信息表得包含姓名、学号、班级、联系方式这些。
这样一来,学校里的小伙伴们都能找到自己的资料,简直是太方便了。
想想看,谁还想翻开厚厚的纸张找信息呢?那简直是“老古董”嘛。
接下来是课程表。
课程表可得搞得清清楚楚。
你说,哪个学生想要上错课啊?这可真是“搬起石头砸自己的脚”。
数据库里得有课程ID、课程名称、授课教师、上课时间、教室等信息。
这样一来,学生们就可以轻松找到自己的课程安排,省得一个个去问老师,弄得大家都烦得要命。
说实话,谁不想在上课之前先看一眼课表,安排好自己的时间呢?然后,得提提老师信息表。
这些可都是传授知识的“园丁”,他们的基本信息得齐全。
姓名、职称、教授课程、联系方式……这些都是必不可少的。
想想,学生们如果有问题,能直接找到老师,那得多省心啊!就像找到了“明灯”,一片黑暗中突然亮了起来。
再说,老师也可以通过系统了解自己所教班级的情况,做到心中有数,帮助学生解决问题,简直是一举两得!说到这里,不得不提到成绩管理。
学生们的成绩就像是一面镜子,映照出他们的学习状况。
成绩表得细致入微,得有学号、课程ID、成绩、学期等信息。
每当考试结束,老师一键上传成绩,学生们就能及时查看,心里明白得很。
要是成绩不好,也能及时调整学习计划,争取下次考个好成绩,绝对是“洗心革面”的机会。
谁愿意被自己的分数困住呢?大家都想迎头赶上嘛。
数据安全也是一大关键。
就像是给这些宝贵数据上了一把锁,防止不必要的“外人”进入。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教务管理系统数据库设计教务管理数据库系统课程设计目录1、需求分析 (3)1.1 信息要求: (3)1.2 处理要求: (4)1.3 安全性与完整性要求: (4)1.4 系统功能的设计和划分 (4)第一部分:用户管理部分 (5)第二部分:管理员管理部分 (5)2、概念设计 (6)2.1概念模型(E-R 图): (6)2.2数据字典: (7)a、............................. 数据项7b、数据结构 (9)c、数据流 (9)d、数据存储 (11)e、处理过程 (11)2.3数据流图 (12)3、逻辑结构设计 (13)3.1E-R图向关系模型的转换(关系的码用下横线表出) (13)3.2设计用户子模式 (15)4、物理设计 (15)4.1 选择存取方法 (15)4.2 确定数据库的存储结构 (16)4.3 评价物理结构 (16)5、系统实施 (16)6、运行维护 (18)1、需求分析1 .1 信息要求:教务管理系统涉及的实体有:教师——工作证号、姓名、职称、电话等;学生——学号、姓名、性别、出生年月等;班级——班号、最低总学分等;系——系代号、系名和系办公室电话等;课程——课序号、课名、学分、上课时间及名额等。
这些实体之间的联系如下:每个学生都属于一个班,每个班都属于一个系,每个教师也都属于一个系。
每个班的班主任都由一名教师担任。
一名教师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一门课其课序号是不同的(课序号是唯一的)。
一名同学可以选多门课,一门课可被若干同学选中。
一名同学选中的课若已学完,应该记录有相应成绩。
本单位学生、教师都有重名,工作证号、学号可以作为标识。
1 .2 处理要求:教学系统主要提供数据维护、选课和信息查询。
其中常见的查询有:系统中各对象的基本信息查询。
查询指定班、系的学生信息(名单、人数等)。
查询学生的成绩、学分情况。
查询教师授课情况和学生选课情况。
1 .3 安全性与完整性要求:安全性要求:1.系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;2.系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;3.系统应对不同用户设置不同的权限,区分不同的用户,如学生,教师,系统管理员。
完整性要求:1.各种信息记录的完整性,关键信息记录内容不能为空;2.各种数据间相互的联系的正确性;3.相同的数据在不同记录中的一致性。
1 .4 系统功能的设计和划分根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几部分:第一部分:用户管理部分1、处理用户注册2、处理用户登录3、用户可以查询学生信息。
4、用户可以查询快件信息。
5、用户可以提交与查询报修信息。
6、用户可以插入与删除用户自己的离返校信息7、用户可以修改用户自己密码。
第二部分:管理员管理部分各部分完成的功能如下:1、处理管理员登录2、管理员可以查询学生信息。
3、管理员可以发布与更新快件信息。
4、管理员可以插入、修改与查询报修信息5、管理员可以插入与查询学生夜归信息。
6、管理员可以查询在校与离校学生信息。
7、管理员可以修改管理员密码。
2、概念设计2.1概念模型(E-R图)::学号; 岀生年月最低总学分w号.工作证号姓名职称;隶属关系的•系代号系名•系办公室电话:岀生年月课序号课名学分负责联系的姓名性别I ■■ I ^学玄教成绩选上课时间教务管理系统的总2.2数据字典: a.数据项编 号属性名 存储代 码类型长 度备 注1 学号 Sno char 11 学生编号2 姓名Sn ame char 20学生的姓名,任意合 法字符3性别 Ssexchar 2学生的性别 4 出生年 Sbirth date出生时间间接表示(出生年月)学xS姓名 :学号:性别1课序号[课名I 学分nm 上课时间课^—'名额)n最低总学分n111 n系>■工作证号 姓名 )( 职称 X 电话系代号i [系名■系办公室电话b、数据结构c、数据流d、数据存储e、处理过程选课选课信息选定课信息登记成绩成绩信息学生所选课程成绩信息修改学生信息更改学生信息修改后的学生信息修改教师信息更改教师信息修改后的教师信息数据维护各信息表的修改信息修改后各信息表2.3数据流图课程选课■信选课•”查登成绩信』信息教师信息系信自心班级信息系信息班级信息生信息*教师3、逻辑结构设计3.1 E-R图向关系模型的转换(关系的码用下横线表出)教师(工作证号,姓名,职称,电话,系代号)代码表示:Teacher ( Tno, Tn ame, Title, Tel,Dno ) 此为“教师”实体对应的关系模式。
其中1:n联系“工作"与此关系模式合并,Dno为外码。
存在的函数依赖为Tno f (Tname Title , Tel , Dno),且不存在多值依赖,所以满足4NF。
代码表示:Student ( Sno, Sname, Ssex, Sbirth, Class )此为“学生”实体对应的关系模式。
其中1: n联系“属于"与此关系模式合并,Class为外码。
存在的函数依赖为Sno f (Sname Ssex,Sbirth ,Class),且不存在多值依赖,所以满足4NF。
系(系代号,系名,系办公室电话)代码表示:Department ( Dno, Dname, Dphone )此为“系”实体对应的关系模式。
存在的函数依赖为Dno f (Dname Dphone),且不存在多值依赖,所以满足4NF。
课程(课序号,课名,学分,上课时间,名额,工作证号) 代码表示:Course ( Cno, Cname, Credit, Ctime,Cnum, Tno )此为“课程”实体对应的关系模式。
其中1: n联系“授课"与此关系模式合并,Tno为外码。
存在的函数依赖为Cno T (Cname Credit , Ctime, Cnum Tno), 且不存在多值依赖,所以满足4NE选课(学号,课序号,成绩)代码表示:SC ( Sno, Cno. Grade )此为m: n联系"选修"所对应的关系模式。
Sno和Cno 均为外部码。
存在的函数依赖为完全函数依赖( Sno, Cno) T Grade,且不存在多值依赖,所以满足4NF班级(班号,最低总学分,工作证号,系代号)代码表示:Class ( Class, TotalCredit, Tno, Dno ) 此为“班级”实体对应的关系模式。
其中1: n联系“属于”和1:1联系“负责”与此关系模式合并Tno和Dno为外码。
该关系模式中存在传递函数依赖:Class T Tno, (Tno ~\* Class),Tno T Dno,可得Class T Dno,故Class不属于3NF解决方法是将其模式分解为:Class ( Class, TotalCredit, Tno ) 和T-D( _Tno, Dno),分解后的关系模式满足4NF,并且T-D 与Teacher的码相同,可合并为同一模式。
但是考虑到系统要经常进行系的学生信息查询,此时就不得不对Student、Class和Teacher三个表进行连接查询,而连接是影响查询效率的主要原因,所以取消对Class 的模式分解。
此时Class 关系模式满足2NF。
3.2 设计用户子模式为了方便程序查询,建立了如下用户视图: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 "TeachAffair" AUTHORIZATION GaoCREATE TABLE Department(Dno CHAR(3) PRIMARY KEY, /*列级完整性约束条件,Dno是主码*/Dept CHAR(20) UNIQUE NOT NULL,Dphone CHAR(11),);CREATE TABLE Teacher(Tno CHAR(6) PRIMARY KEY, /* 列级完整性约束条件,Tno是主码*/Tname CHAR(20) NOT NULL,Title CHAR(8),Tel CHAR(11),Dno CHAR(3),FOREIGN KEY (Dno) REFERENCES Department(Dno) /* 表级完整性约束条件,Dno 是外码*/ );CREATE TABLE Class(Class CHAR(6) PRIMARY KEY, /* 列级完整性约束条件,Class 是主码*/TotalCredit NUMERIC(4,1),Tno CHAR(6),Dno CHAR(3),FOREIGN KEY (Tno) REFERENCES Teacher(Tno), /* 表级完整性约束条件,Tno 是外码*/ FOREIGN KEY (Dno) REFERENCES Department(Dno) /* 表级完整性约束条件,Dno 是外码*/ );CREATE TABLE Student(Sno CHAR(11) PRIMARY KEY, /* 列级完整性约束条件,Sno 是主码*/Sname CHAR(20) NOT NULL,Ssex CHAR(2),Sbirth DATETIME,Class CHAR(6),FOREIGN KEY (Class) REFERENCES Class(Class) /* 表级完整性约束条件,Class 是外码*/);CREATE TABLE Course(Cno CHAR(6) PRIMARY KEY, /* 列级完整性约束条件,Cno 是主码*/Cname CHAR(20) NOT NULL,Credit NUMERIC(2,1),Ctime DATETIME,Cnum SMALLINT,Tno CHAR(6),FOREIGN KEY (Tno) REFERENCES Teacher(Tno) /* 表级完整性约束条件,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) /* 表级完整性约束条件,Sno 是外码*/ON DELETE CASCADE /* 当删除Student表中的元组时,级连删除SC表中相应的元组*/ ON UPDATE CASCADE, /* 当更新Student 表中的Sno时,级连更新SC表中相应的元组*/FOREIGN KEY (Cno) REFERENCES Course(Cno) /* 表级完整性约束条件,Sno 是外码*/ON DELETE NO ACTION /* 当删除Course表中的元组造成了与SC表不一致时,拒绝删除*/ON UPDATE CASCADE, /* 当更新Course表中的Cno时,级连更新SC表中相应的元组*/);/*DROP TABLE SC;*//* 建立索引*/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);/* 查询某个系(以GIS 为例)的学生信息*/CREATE VIEW GIS_Student /* 建立某个系(以GIS为例)的学生信息视图*/ ASSELECT *FROM StudentWHERE Class IN (SELECT Class FROM ClassWHERE Dname='GIS')WITH CHECK OPTION;SELECT *FROM GIS_Student;SELECT COUNT(*)FROM GIS_Student;/* 查询班级的学生信息*/SELECT Sno, Sname, Ssex, Birth FROM StudentWHERE Class = '114072';SELECT COUNT(*)FROM StudentWHERE Class='114072';/* 查询学生的成绩、学分*/SELECT o, Cname, Credit, GradeFROM Course, SCWHERE Sno = '20071000500' AND o=o;SELECT SUM(Credit)FROM SC,CourseWHERE Sno='20071000500' AND o=o; /* 查询教师授课信息*/SELECT Course.*FROM CourseWHERE Tno='100123';SELECT Student.Sno,Sname,Class,GradeFROM Course,SC,StudentWHERE Tno='100123' ANDo=o ANDSC.Sno=Student.Sno;6、运行维护1、针对不同的应用要求制定不同的转储计划,一旦发生故障尽快将数据库恢复到某种一致的状态,并尽可能减少对数据库的破坏;2、根据实际情况修改数据库原有的安全性、完整性控制;3、在数据库运行过程中,监督系统运行,对监测数据进行分析,找出改进系统性能的方法;4、数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低数据的存取效率,数据库性能下降。