数据库课程设计教学管理系统.docx
《数据库课程设计教学管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计教学管理系统.docx(30页珍藏版)》请在冰豆网上搜索。
数据库课程设计教学管理系统
教学管理系统
摘要
数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。
其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。
随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求;信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径.校园网信息系统建设的重要性越来越为成人高校所重视.
目录
1概述3
2需求分析3
2.1设计任务3
2.2设计要求4
2.3需求描述的规范文档4
3概念结构设计5
3.1概念结构设计工具(E-R模型)5
3.2学生信息子系统6
3.2.1子系统描述6
3.2.2分E-R图6
3.3教师信息子系统7
3.3.1子系统描述7
3.3.2分E-R图7
3.4课程信息子系统7
3.4.1子系统描述7
3.4.2分E-R图8
3.5院系信息子系统8
3.5.1子系统描述8
3.5.2分E-R图9
3.6总体E-R图9
3.6.1E-R图的集成9
3.6.2总体E-R图10
4逻辑结构设计10
4.1关系数据模式10
4.2视图的设计11
5数据库物理设计与实施12
5.1数据库应用的硬件、软件环境介绍12
5.2物理结构设计13
5.3建立数据库14
5.4加载测试数据19
6数据操作要求及实现20
6.1数据查询操作20
6.2数据更新操作23
6.2.1数据修改23
6.2.2数据添加25
6.2.3数据删除27
6.3数据维护操作27
7收获、体会和建议28
8主要参考文献。
28
1概述
教学管理是所有学校都应有的最基本的管理功能。
通过教学管理系统,使教学的工作系统化、规范化、自动化,从而达到提高教学管理效率的目的。
对
学校日常教学管理中的课程、选课、学生、班级、教师、成绩等相关内容进行分析,完成具有学生管理、
成绩管理、班级管理、教师管理、课程管理等相关功能的小型数据库管理应用系统
2需求分析
2.1设计任务
需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分析说明书。
重点是调查,收集与分析用户在数据管理中的信息要求,处理要求,数据的安全性与完整性要求。
为了完成需求分析的任务,要详细调查待开发的数据库应用部门的情况,了解原系统工作概况,分析用户的各种需求,在此基础上确定新系统的功能。
新系统必须考虑今后的扩充和改变,不能仅仅按当前应用需求来设计数据库。
数据库应用课程实践:
实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。
数据库原理软件设计实践:
实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、
逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程
教学管理系统实现学校的简单教学管理,包括学生入学登记、学生选课、教师登记考试成绩、补考处理、学生成绩统计、教师教学工作量统计,可随时查询出院系、教师、学生、课程、选课、成绩等情况。
系统的主要信息如下:
·院系:
编号、院系名、负责人等。
·教师:
工号、姓名、性别、所属院系、职称、年龄、出生年月、基本工资等。
·学生:
学号、姓名、性别、年龄、所属院系等。
·课程:
课程代号、课程名、课时数、课程类型、学分等。
2.2设计要求
学校学籍管理的具体规定是:
·学生入学时进行新生登记,登记后即可选课学习课程;
·每门课程可以同时开设多个班,由多位教师讲授,每位教师也可上多门课;
·每个学生最多可以选修120个学分(不考虑每学期的学分限制),每门课有多个学生选修,满15人才开课,但不能超过50人,以保证教学质量。
·学生选修每门课会获得一个成绩,若成绩不及格则补考后还需记录补考成绩。
只有成绩及格才能获得相应课程的学分。
2.3需求描述的规范文档
经分析之后,本系统要用到7个基本表:
院系表,学生表,课程表,选
课表、教师表,授课表,学分表。
数据结构定义如表2.1所示。
表2.1数据结构定义
数据结构名含义说明组成
院系表定义了系的有关信息系号,系名,系主任
学生表定义了学生的有关信息学号,姓名,年龄,性别,院系
课程表定义了课程的有关信息课程号,课程名,课程类型,学分
选课表定义了选课的基本信息学号,课程号,成绩
教师表定义了教师的有关信息教师工号,姓名,性别,年龄,职称,基本工资,出生年份院系
教授表定义了教师教授班级的信息教师号,课程号
3概念结构设计
3.1概念结构设计工具(E-R模型)
概念结构设计的任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。
概念模型使设计者的注意力能够从复杂的实现细节中解脱出来,而只集中在最重要的信息的组织结构和处理模式上。
设计概念结构的四类方法:
自顶而下:
首先定义全局概念结构的框架,然后逐步细化
自底而上:
首先定义各局部应用的概念结构,然后将他们集成起来,得到全局概念结构
逐步扩张:
首先定义最重要的核心概念结构,然后向外扩张,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构。
混合策略:
将自顶而下和自底而上相结合,用自顶而下策略设计一个全局概念结构的框架,以它为骨架集成由自底而上策略中设计的各局部概念结构
常用的概念模型是E-R模型。
E-R图也称实体-联系图(EntityRelationshipDiagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
E-R方法是“实体-联系方法”(Entity-RelationshipApproach)的简称。
它是描述现实世界概念结构模型的有效方法。
是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:
1,1:
n或m:
n)。
在ER图中有如下四个成分:
E-R
矩形框:
表示实体,在框中记入实体名。
菱形框:
表示联系,在框中记入联系名。
椭圆形框:
表示实体或联系的属性,将属性名记入框中。
对于主属性名,则在其名称下划一下划线。
连线:
实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上标注联系的类型。
(对于一对一联系,要在两个实体连线方向各写1;对于一对多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体连线方向各写N,M。
)[1]
概念结构设计的设计可分为两步:
第一步是抽象数据并设计局部视图,第二步是集成局部视图,得到全局的概念结构。
3.2学生信息子系统
3.2.1子系统描述
学生信息子系统,ER图中实体是学生,实体属性有学号、姓名、年龄、性别、所属院系等
3.2.2分E-R图
3.3教师信息子系统
3.3.1子系统描述
教师信息子系统,ER图中实体是教师,实体属性有工号、姓名、性别、所属院系、职称、年龄、出生年月、基本工资等
3.3.2分E-R图
3.4课程信息子系统
3.4.1子系统描述
课程信息子系统,ER图中实体是课程,实体属性有课程代号、课程名、课时数、课程类型、学分等
3.4.2分E-R图
3.5院系信息子系统
3.5.1子系统描述
院系信息子系统,ER图中实体是院系,实体属性有编号、院系名、负责人等
3.5.2分E-R图
3.6总体E-R图
3.6.1E-R图的集成
描述进行E-R图集成的具体过程,最后得到总体概念结构E-R图
3.6.2总体E-R图
4逻辑结构设计
4.1关系数据模式
·学生表(学号、姓名、年龄、性别、所属院系)主键:
学号外键:
所属院系
·教师表(教师工号、姓名、性别、所属院系、职称、年龄、出生年月、基本工资)主键:
教师工号外键:
所属院系
·院系表(院系编号、院系名、负责人)主键:
院系编号
·课程表(课程代号、课程名、课时数、课程类型、学分)主键:
课程代号外键:
学分
·选课表(学号、课程代号、成绩)外键:
学号、课程代号
·授课表(教师工号、课程代号)外键:
教师工号、课程代号
·学分表(学号、学分)外键:
学号、学分
学生表
教师表
院系表
课程表
选课表
授课表
学分表
4.2视图的设计
如下
5数据库物理设计与实施
5.1数据库应用的硬件、软件环境介绍
电脑型号方正R431笔记本电脑
操作系统Windows7旗舰版64位SP1(DirectX11)
处理器英特尔第二代酷睿i5-2450M@2.50GHz双核
主板方正R431(英特尔HM65芯片组)
内存4GB(创见DDR31333MHz/南亚易胜DDR31333MHz)
主硬盘希捷ST9500325AS(500GB/5400转/分)
显卡NvidiaGeForceGT540M(1GB/宏碁)
显示器友达AUO183C(14英寸)
光驱日立-LGDVDRAMGT32NDVD刻录机
声卡瑞昱ALC269@英特尔6SeriesChipset高保真音频
网卡博通NetLinkBCM57785GigabitEthernet/宏碁
SQLServer2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQLServer版本。
这篇文章详细介绍了MicrosoftSQLServer2008中的新的特性、优点和功能……在现今数据的世界里,公司要获得成功和不断发展,他们需要定位主要的数据趋势的愿景。
微软的这个数据平台愿景帮助公司满足这些数据爆炸和下一代数据驱动应用程序的需求。
微软将继续投入和发展以下的关键领域来支持他们的数据平台愿景:
关键任务企业数据平台、动态开发、关系数据和商业智能。
5.2物理结构设计
系表信息查询和更新模块
将实现对系部信息的查询和更新(修改、插入、删除)操作,方便于对系部基本信息的管理
学生表的查询和更新模块
将完成学生基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理
课程表的查询和更新模块
将完成课程基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理
选课表的查询和更新模块
将完成对所选课程基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理
教师表的查询和更新模块
将完成教师基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理
授课表的查询和更新模块
将完成教授基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理
5.3建立数据库
新建查询,执行
Createdatabase教学管理系统
5.4.1、建立院系表
use教学管理系统
Createtable院系表
(Ynochar(10)primarykeynotnull,
Ynamechar(10)notnull,
Ydirectorchar(10)notnull,
)
学生表基本信息的建立
Createtable学生表
(Snochar(10)primarykey,
Snamechar(10)notnull,
Sageintnotnull,
Ssexchar(10)notnull,
Ynochar(10)foreignkeyreferences院系表(Yno),
)
教师表基本信息的建立
Createtable教师表
(Tnochar(10)primarykey,
Tnamechar(10)notnull,
Tsexchar(10)notnull,
Tageintnotnull,
Tposchar(10)notnull,
Tsalsmallintnotnull,
Tbirchar(10)notnull,
Ynochar(10)foreignkeyreferences院系表(Yno),
)
课程表基本信息的建立
Createtable课程表
(Cnochar(10)primarykey,
Cnamechar(10)notnull,
Ctimechar(10)notnull,
Ctypechar(10)notnull,
Creditchar(10)notnull,
)
选课表基本信息的建立
Createtable选课表
(Snochar(10)foreignkeyreferences学生表(Sno),
Cnochar(10)foreignkeyreferences课程表(Cno),
Gradechar(10)notnull,
)
授课表基本信息的建立
Createtable授课表
(Tnochar(10)foreignkeyreferences教师表(Tno),
Cnochar(10)foreignkeyreferences课程表(Cno),
)
学分表基本信息的建立
Createtable学分表
(Snochar(10)foreignkeyreferences学生表(Sno),
Cnochar(10)foreignkeyreferences课程表(Cno),
)
5.4加载测试数据
use教学管理系统
Insertinto院系表values('1','数计学院','黄小明')
Insertinto院系表values('2','化工学院','陈鹏')
Insertinto院系表values('3','音乐学院','李红')
Insertinto院系表values('4','物理学院','张强')
Insertinto院系表values('5','体育学院','李雷')
Insertinto院系表values('6','商学院','杨晓')
select*from院系表
Insertinto学生表values('1','小红','19','女','1')
Insertinto学生表values('2','小明','19','男','2')
Insertinto学生表values('3','小强','19','男','3')
Insertinto学生表values('4','小军','19','男','4')
Insertinto学生表values('5','小雷','19','男','5')
Insertinto学生表values('6','甘文','19','女','6')
select*from学生表
Insertinto教师表values('100','黄捷','女','30','中级','3000','1984','1')
Insertinto教师表values('101','陈翔','男','30','中级','3000','1984','2')
Insertinto教师表values('102','李国立','男','30','高级','3000','1984','3')
Insertinto教师表values('103','潘安','女','30','中级','3000','1984','4')
Insertinto教师表values('104','梁运','男','30','高级','3000','1984','5')
Insertinto教师表values('105','莫娴','女','30','中级','3000','1984','6')
select*from教师表
Insertinto课程表values('1','JAVA语言','20','选修','4')
Insertinto课程表values('2','高等数学','20','必修','3')
Insertinto课程表values('3','线性代数','20','必修','2')
Insertinto课程表values('4','模拟电路','20','选修','4')
Insertinto课程表values('5','linux','20','选修','5')
Insertinto课程表values('6','网络原理','20','必修','4')
select*from课程表
Insertinto授课表values('100','1')
Insertinto授课表values('101','2')
Insertinto授课表values('102','3')
Insertinto授课表values('103','4')
Insertinto授课表values('104','5')
Insertinto授课表values('105','6')
select*from授课表
Insertinto选课表values('1','1','85')
Insertinto选课表values('1','3','75')
Insertinto选课表values('2','2','84')
Insertinto选课表values('2','5','56')
Insertinto选课表values('3','3','85')
Insertinto选课表values('3','6','55')
Insertinto选课表values('4','4','95')
Insertinto选课表values('4','1','75')
Insertinto选课表values('5','5','85')
Insertinto选课表values('5','3','78')
Insertinto选课表values('6','6','75')
Insertinto选课表values('6','3','68')select*from选课表
Insertinto学分表values('1','1')
Insertinto学分表values('2','2')
Insertinto学分表values('3','3')
Insertinto学分表values('4','4')
Insertinto学分表values('5','5')
Insertinto学分表values('6','6')
Insertinto学分表values('1','3')
Insertinto学分表values('4','1')
Insertinto学分表values('5','3')
Insertinto学分表values('6','3')
select*from学分表
6数据操作要求及实现
根据需求中给出的数据处理要求,设计访问数据库的具体要求,并用SQL语言加以实现。
运行SQL语句进行测试。
6.1数据查询操作
学生信息查询
教师信息查询
院系信息查询
课程信息查询
学生成绩查询
6.2数据更新操作
6.2.1数据修改
将学生表中的“甘文”的性别修改为“女”
SQL语句如下:
Update学生表
SetSsex=’女’
WhereSname=’甘文’
将教师表中的“潘安”的职称修改为“高级”
SQL语句如下:
Update教师表
SetTpos=’高级’
WhereTname=’潘安’
6.2.2数据添加
添加学生信息
SQL语句如下:
Insertinto学生表values('7','何军','19','女','4')
Select*from学生表
添加教师信息
SQL语句如下:
Insertinto教师表
values('106','韩国','女','30','中级','3000',
'1984','5')
Select*from教师表
添加学生选课
SQL语句如下:
Insertinto选课表values('4','5','')
select*from选课表
6.2.3数据删除
删除学生表中Sno为7的学生的信息
SQL语句如下:
Deleteform学生表whereSno=7
6.3数据维护操作
当试运行数据库合格后,数据库开发工作基本完成,即可投入运行了。
但是由于应用环境在不断变化,数据库运行但是,由于应用环境在不断变化,数据库运行过程中物理存储也会不断变化,对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高,因为这个数据库系统比较简单,数据量也小,数据库中基本不会发生什么较大的变化,但是还是需要做好数据的备份和维护工作,在SQLServer中我们可以利用备份功能对数据进行备份,如果数据库受到破坏或者系统故障,我们就可以利用备份文件恢复数据库的数据。
7收获、体会和建议
通过本次课程设计,提高了我们的团队合作能力。
在做课程设计的过程中。
两个人的交流显得极其重要。
在探讨和实践中对数据库原理有了更深的认识。
不足的地方:
由于经验不足,逻辑结构的设计上还不是很理想。
8主要参考文献
SQLServer从入门到精通(清华大学出版社)