数据库课程设计教务信息管理系统.docx
《数据库课程设计教务信息管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计教务信息管理系统.docx(14页珍藏版)》请在冰豆网上搜索。
数据库课程设计教务信息管理系统
数据库课程设计-教务信息管理系统
《数据库原理及应用》
课程设计报告
班级:
嵌入式122
姓名:
张金辉
学号:
1208113222
20013年12月7日
软件学院
常州信息职业技术学院
一、需求分析............................................2
1.项目背景..............................................2
2.项目概述..............................................2
3.性能需求..............................................3
4.设备..................................................4
5.需求注释..............................................4
6.功能树................................................5
二、概念设计............................................5
1.实体及其属性..........................................5
2.综合ER图.............................................7
三、逻辑设计............................................8
1.规范化得到最终的关系模式..............................8
2.学生基本信息表........................................8
3.课程信息表............................................8
4.教师信息表............................................8
5.考试信息表............................................9
6.讲授信息表............................................9
四、物理结构设计........................................9
1.物理设计阶段的目标与任务..............................9
2.建立数据表............................................9
五、其他数据库的对象设计................................11
1.索引..................................................11
2.视图.................................................11
3.触发器...............................................12
4.存储过程.............................................12
六、备份及恢复策略.....................................12
结束语.................................................13
1需求分析
1.1项目背景
1.1.1编写目的
本需求的编写目的在于研究教务信息管理系统软件的开发途径和应用方法。
本需求的预期读者是与教务信息管理系统软件开发有联系的决策人,开发组成人员,扶助开发者,支持本项目的领导和公司人员,软件验证者。
1.1.2背景及范围
本项目的名称:
教务信息管理系统开发软件。
本项目的任务提出者及开发者是教务信息管理系统软件开发小组,用户是教务处办公室。
教务信息管理系统:
教务信息管理是帮助管理人员管理学生档案的管理软件。
1.2项目概述
该教务信息管理系统软件目前已有比较完善的管理与使用功能,研制教务信息管理系统软件是为了满足教务处办公室对学生档案管理的方便,以现代化的创新思维模式去工作。
1.2.1目标
1.2.1.1开发意图
a.为了教务处管理系统更完善;
b.为了教务处办公室对学生的管理更方便;
c.为了减轻工作人员的工作负担。
1.2.1.2应用目标
通过本系统软件,能帮助工作人员利用计算机,快速方便的对学生教务信息管理进行管理、输入、输出、查找等操作,使散乱的档案能够具体化、直观化、合理化。
1.2.1.3作用及范围
本软件适用于教务处,它是比较完善的系统管理软件
1.2.1.4背景
现今教务信息管理的烦琐给具有强烈时间观念的行政人员带来了诸多不便,为了对学生档案的管理方便,因此开发了本软件。
1.2.2一般约束
a.本项目的开发经费不超过1万元;
b.辅导老师2人,开发人员6人;
c.在管理方针、硬件的限制、并行操作安全和保密方面无约束。
1.2.3假设和依据
假设开发经费不到位,管理不完善,设计时没能用全得到考虑,本项目的开发都将受到很大的影响。
1.3功能需求
1.3.1规格说明
查询每个学生、教师的的相关信息。
1.3.2引言
查询学生、教师的相关信息。
外部功能
内部功能
操作员和系统管理员
通过应用界面,应用程序,查询等。
同过SQL语言,对数据库的查询、插入、修改、删除等操作。
1.3.3性能需求
1.3.3.1静态数值需求
a.支持的终端数为8台;
b.处理并发的40个链接;
1.3.3.2精度需求
在精度需求上,根据使用需要,在各项数据的输入、输出及传输过程中,由于本系统使用了数摞结构,可以满足各种精度的需求。
1.3.3.3时间需求
在软件方面,响应时间、更新处理时间都比较快且迅速,完全满足用户要求。
1.3.3.4灵活性
当用户需求,如操作方式,运行环境,结果精度,数据结构与其他软件接口等发生变化时,设计的软件要做适当调整,灵活性非常大。
1.3.3.5故障处理
a.内部故障处理
在开发阶段可以随即修改数据库里的相应内容。
b.外部故障处理
对编辑的程序进行重装载时,第一次装载认为错,修改。
第二次运行,在需求调用时出错,有错误提示,重试。
1.3.4设计约束条件
1.3.4.1技术约束
本项目的设计采用软硬一体化的设计方法。
1.3.4.2环境约束
运行该软件所适用的具体设备必须是奔腾1g、内存128兆以上的计算机,局域网络环境
1.3.4.3标准约束
该软件的开发完全按照企业标准开发,包括硬件、软件和文档规格。
1.3.4.4硬件限制
奔腾1g、内存128兆以上的计算机满足输入端条件。
1.3.5接口需求
1.3.5.1用户接口
本产品的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:
输入界面、输出界面)。
用户对程序的维护,最好要有备份。
1.3.5.2软件接口
WIN9X/NT操作系统.
1.3.6属性
1.3.6.1可使用性
在装载总程序时,正常就运行,异常就停止;汉语编程系统出现错误,将会产生不可遇见的问题,热启,整个终端程序就会再启动;程序出现错误,重新装载,若仍有错,按照提示逐渐装载。
1.3.6.2保密性
本软件作为教学管理辅助设备,它的规模比较小,不需要保密技术;限定一个程序中某些区域的规约,给不同的模块分配不同的功能。
1.3.6.3可维护性
本软件的组成程序为汉语成语设计语言,组构均较简单,直观意义上的较独立。
因此,基于电子化所构成的硬件的简单可维护的特点,决定了该软件的简单可维护性。
1.3.6.4可转移、可转换性
可转移的环境是奔腾133、16兆内存以上;不可修改任何部分。
1.3.6.5注释
本产品所拥有的属性十分重要,它使得读者用规定的方法去客观的验证软件的各种特性。
1.3.7数据库
数据库是实现有组织地,动态地存储大量关联数据,方便多用户访问的计算机软硬件组成的系统;它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。
由于本软件的整体结构比较简单,所涉及数据相对来说也较少,组成文件的最小单位是记录。
1.4设备
奔腾1g、内存128兆以上的计算机,局域网络环境。
1.5需求注释
对于本软件,它的功能需求、性能需求、接口需求,从稳定性、可行性上都是可以的。
1.6功能树
2概念设计
2.1实体及其属性
2.1.1学生实体E-R图
姓名
2.1.2课程实体E-R图
2.1.3教师信息E-R图
2.2综合ER图
3逻辑设计
3.1规范化得到最终的关系模式
学生信息基本表(学号,姓名,性别,学院名称,班号,联系电话,入校日期,家庭住址),主码为学号,符合三范式。
课程信息表(课程编号,课程类型,分数)主码为课程编号,符合三范式。
教师信息表(教师编号,姓名,所在科室,联系电话)主码为教师编号,符合三范式。
考试信息表(学号,课程编号)主码为学号,课程编号,符合BCNF。
讲授信息表(教师编号,课程编号)主码为教师编号,课程编号,符合BCNF。
3.2学生基本信息表
列名
含义
长度
类型
NULL
DEFAULT
Sno
学号
8
Char()
no
no
Uname
姓名
8
Char()
no
no
Sex
性别
2
Char()
yes
no
Sdept
学院名称
8
Char()
no
no
Classno
班号
8
Char()
no
no
Connecttel
联系电话
11
Char()
no
no
Enterdate
入校日期
8
Char()
no
no
Familyadd
家庭住址
50
Varchar
yes
no
3.3课程信息表
列名
含义
长度
类型
NULL
DEFAULT
CourseCode
课程编号
20
Char()
no
no
Coursetype
课程类型
8
Char()
no
no
Coursegrade
课程分数
8
Char()
no
no
3.4教师信息表
列名
含义
长度
类型
NULL
DEFAULT
Tno
教师编号
8
Char()
no
no
Tname
教师姓名
8
Char()
no
no
Tdepartment
所在科室
8
Char()
no
no
Tmoible
联系电话
11
Char()
no
no
3.5考试信息表
列名
含义
长度
类型
NULL
DEFAULT
Sno
学号
8
Char()
no
no
Coursecode
课程编号
20
Char()
no
no
3.6讲授信息表
列名
含义
长度
类型
NULL
DEFAULT
Tno
教师编号
8
Char()
no
no
Coursecode
课程编号
20
Char()
no
no
4物理结构设计
4.1物理设计阶段的目标与任务
数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:
(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;
(2)对物理结构进行评价,评价的重点是时间和空间效率。
4.2建立数据表
4.2.1学生信息基本表的建立:
CREATETABLEStudent
(SnoCHAR(8)PRIMARYKEY,
UnameCHAR(8)UNIQUE,
SexCHAR
(2),
Sdept(8),
Classno(8),
Connecttel(11),
Enterdate(8),
Familyadd(50)
);
4.2.2课程信息表的建立:
CREATETABLECourse
(CoursecodeCHAR(20)PRIMARYKEY,
CoursetypeCHAR(8),
CoursegradeCHAR(8)
);
4.2.3教师信息表的建立:
CREATETABLETeacher
(TnoCHAR(8)PRIMARYKEY,
TnameCHAR(8)UNIQUE,
Tdepartment(8),
Tmoible(11),
);
4.2.4考试信息表的建立:
CREATETABLEExam
(SnoCHAR(8),
CoursecodeCHAR(20),
PRIMARYKEY(Sno,Coursecode),
FOREIGNKEY(Sno)REFERENCESStudent(Sno),
FOREIGNKEY(Coursecode)REFERENCESCourse(Coursecode)
);
4.2.5讲授信息表的建立:
CREATETABLETeaching
(TnoCHAR(8),
CoursecodeCHAR(20),
PRIMARYKEY(Tno,Coursecode),
FOREIGNKEY(Tno)REFERENCESTeacher(Tno),
FOREIGNKEY(Coursecode)REFERENCESCourse(Coursecode)
);
5其他数据库对象的设计
5.1索引
CREATEUNIQUEINDEXStusnoONStudent(Sno)
CREATEUNIQUEINDEXCounoONCourse(Cno)
CREATEUNIQUEINDEXTeanoONTeacher(Tno)
5.2视图
CREATEVIEWIS_Student
AS
SELECTSno,Sname,Sdept
FROMStudent
WhereSdept=’IS’;
2.2
CREATEVIEWBTEACHER
AS
SELECTTname,Tdepartment
FROMTeacher;
5.3触发器
CREATETriggerDelete_Course
BEFOREUPDATEONCourse
FOREACHROW
ASBEGIN
IF(new.grade<60)
THENnew.grade=nopass;
ENDIF;
END;
5.4存储过程
CREATEprocedurecreateetables
AS
CREATEtableuser1
(
Uidint,
Unamechar(20)
INSERT
INTOuse1(Uid,Uname)
VALUES('1','小明');
)
6备份及恢复策略
针对不同的故障,制定恢复策略
数据库系统可能发生各种各样的故障,大致可以分为以下几类:
1)事务内部故障
2)系统故障
3)介质故障
4)计算机病毒
要保证数据一致性是对数据库的最基本的要求。
事务是数据库的逻辑工作单位,只要DBMS能够保证系统中一切事务的原子性、一致性、隔离性和持续性,也就保证了数据库处于一致状态。
为了保证事务的原子性、一致性与持续性,DBMS必须对事务故障、系统故障和介质故障进行恢复。
数据库转储和登记日志文件是恢复中最经常使用的技术。
恢复的基本原理就是利用存储在后备副本、日志文件和数据库镜像中的冗余数据来重建数据库。
事务不仅是恢复的基本单位,也是并发控制的基本单位,为了保证事务的隔离性和一致性,DBMS需要对并发操作进行控制。
结束语
此次课程设计对于我来说不仅是做了数据库学生信息系统,最为珍贵的是在我准备这次课程设计所学道的以前不熟悉的知识。
以前较早的便接触到SQL只是注重在书本上,从来没有认真的去用编写程序,更不用说应用在数据库中。
零零散散的学习了一些基本知识,不大实用。
通过这次课程设计,我掌握了SQL与数据库结合起来编程的一般技术。
了解了DELPHI中怎样对数据库进行操作,了解了SQL数据库中的以前不大明白的技术运用。
在SQL数据库中,我们把在数据库理论上的知识予以运用,如:
建立视图,创建存储过程,应用事务等,在一些基本的数据库操作中,熟悉并巩固了SQL的语法知识。
通过对课程设计要求的分析,我们也初步理解一个软件工程的开发流程及发展思路。
培养了我们由书面文字要求到转化这种要求到现实模型的能力,即很大程度上培养了我们的建模能力,分析问题,总结归纳问题的能力。
这次课程设计也不能说一帆风顺,其中遇到的一个个困难给了我们一次次重新学习,再次思索的机会。
我们通过克服这一个个困难,让我们重新又对目前脑子里所掌握的知识进行审理,进行了再次的纠正或者完善,这些都是书本上学不来的。
理论联系实际就在这里自然地得到实现。
这对我们巩固已学知识,锻炼实践动手能力大有裨益。