教室管理系统数据库设计Word文档格式.docx
《教室管理系统数据库设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《教室管理系统数据库设计Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
完成程序编写工作。
程序调试和撰写课程设计说明书初稿。
提交课程设计说明书、程序和数据及答辩。
四、主要参考资料
[1]王珊,萨师煊.《数据库系统概论》(第4版)[M].北京:
高等教育出版社,2006
[2]尹志宇.《数据库系统原理及应用教程》[M].北京:
清华大学出版社,2013
[3]张海藩.《软件工程》[M].北京:
人民邮电出版社,2003
】
[4]何定华.SQLServer2008实例教程[M].北京:
清华大学出版社,2012
指导教师(签名):
教研室主任(签名):
…
课程设计成绩评定表
出勤
情况
出勤天数
缺勤天数
成
绩
评
定
|
出勤情况及设计过程表现(20分)
课设答辩(20分)
设计成果(60分)
总成绩(100分)
提问
(答辩)
问题
综
合
)
指导教师签名:
年月日
1系统需求分析
在大学里,教室仍然是教学的主要场所,也是学生学习的重要场所,所以教室环境和设备直接影响到教学活动的开展和学生的学习。
然而,由于学生数目过大,教室资源有限限制了师生使用教室。
一些学校对教室的管理仅限于人工管理,面对如此大的信息数据[1],处理起来就比较复杂。
为了保证教室环境良好的运转,教师的管理也就显得十分的必要和重要。
但是教室的管理也并不是一件很容易的事情。
教室的使用具有一定的计划性和流动性,即一个班在相应的时间里,所上的课程和使用的教室是固定的,但是不同的课程在不同的时间里会使用不同的教室,这与教务处的课程安排是密切相关的。
因此,为了能够更系统的、更有序的、更合理的、更有效的进行教室管理,有必要利用计算机来处理各种信息,这也就需要一个更有效的教室管理系统。
本系统主要任务是对教室、学生、教师、课程、校工、查询进行统一管理,满足各类用户需求。
2数据库分析
数据库技术是信息系统的一个核心技术,通过研究数据库的结构、储存、设计、管理以及基本理论和实现方法并利用这些理论来实现对数据库中的数据进行处理、分析和理解[3]。
教室管理系统就是要求通过该系统对校工、教室、教室、学生、课程信息等进行统一管理,从而提高工作效率。
在数据库的研究与开发中,数据库管理器就起着十分显著的作用。
通过该课程的设计,学习数据库设计工具的使用,搞清数据库设计的基本方法、步骤和数据库设计各阶段的任务,完成对教室的管理。
这就要求,有一定的数据库设计。
本系统主要是面向教室管理的相关职工,实现有关数据的查询、录入和修改,其相关实现是用存储过程实现的,这样对用户比较方便。
对其功能主要是实现了两个模块的功能,教室查询子系统,维修管理子系统。
他们主要包括学生、教师对课程的查询,学生对空教室的查询,员工对设备的维修。
这些管理数据库的方法。
都能对图书馆里系统的管理起到事半功倍的效果。
3数据库设计部分
实体、联系、属性及E_R图
根据数据库分析,确定实体及实体间联系,及各个实体和联系的属性并设计出E-R图[2]。
(1)实体、联系
实体:
实体教室,具有教师编号,教室容纳人数,教室设备,教室位置,教室空闲属性
实体教师,具有教师编号,教师姓名,教师所在院系,教师职称属性。
实体学生,具有学号,姓名,年龄,班级,专业,所在系属性。
实体课程,具有课程号,课程名称,教室编号属性。
实体校工,具有校工号,校工姓名,情态,电话号码属性。
联系:
学生与教室,是学生与教室之间的一个多对多的联系。
学生与课程,是学生与课程之间的一个多对多的联系。
教师与课程,是教师与课程之间的一个多对多的联系。
教师与教室,是教师与教室之间的一个多对多的联系。
教室与课程,是教室与课程之间的一个多对多的联系。
教室与校工,是教室与校工之间的一个多对多的联系。
(2)图书管理系统E-R图模型
图书管理系统E-R图模型如图1所示
图1图书管理系统E-R图模型
(3)关系模式(带下划线的为主码):
1)根据E-R模型得到的关系模式为:
学生(学号,姓名,出生年月,班级,专业名,所在系)
校工(校工编号,校工姓名,电话号码,状态)
教师(教师编号,教师名称,教师职称,教师所在系)
教室(教室编号,教室容纳人员,教室设备,教室位置,教室空闲时间)
课程(课程号,课程名称,教室编号)
维修(校工编号,教室编号,维修记录号,维修结果)
使用(学生号,教室编号)
课程安排(教室编号,教师编号,课程号,周次,星期,节次)
学习(学号,课程号)
2)表设计及表结构
需要的表有:
学生表,校工信息表,教师信息表,教室信息表,课程表,维修表,使用情况表,课程安排表,学习表。
以下为各表的表结构:
表一学生表
属性名类型宽度主键
学号char8是
姓名char14
年龄tinyint1
班级char10
专业名varchar20
所在系char20
表二校工信息表
属性名类型
宽度主键
校工编号char
校工姓名char
状态char
联系电话char
6是
6
6
12
表三教师信息表
属性名
类型
宽度
主键
教师编号
教师姓名
教师所在系
教师职称
char
6
14
20
8
是
表四教室信息表
类型
宽度
主键
教室编号
教室容纳人员
教室设备
教室位置
教室空闲时间
char
int
4
30
是
表五课程表
课程号
课程名
教室编号
char
6
10
是
表六维修表
校工编号
维修结果
维修记录
char
6
8
是
表七使用表
类型
主键
学号
8
是
表八课程安排表
属性名类型宽度主键
教师编号char6是
教室编号char8是
课程号char6是
周次char10
星期char10
节次char20
表九学习表
属性名类型宽度主键
学号char8是
课程号char6是
用T-SQL语句创建数据库、创建表以及添加数据
(1)创建数据库代码:
CREATEDATABASE教室管理系统
ONPRIMARY
(NAME='
教室管理系统库_DATA'
FILENAME='
D:
\DATA\教室管理系统库'
SIZE=5MB,
MAXSIZE=20MB,
FILEGROWTH=20%)
LOGON
教室管理系统库_LOG'
MAXSIZE=10MB,
FILEGROWTH=2MB)
(2)创建表代码:
use教室管理系统
go
createtable学生表
(snochar(8)notnullprimarykey,
snamechar(14)notnull,
agetinyintnotnull,
pnamevarchar(20),
ClassNochar(10)notnull,
deptchar(20)
)
createtable校工信息表
(repairernochar(6)primarykey,
repairernamechar(14)notnull,
stuationchar(6),
teichar(11)
createtable教师信息表
(tnochar(6)primarykey,
tnamechar(14)notnull,
deptchar(20),
titlechar(8)
createtable教室信息表
(roomnochar(4)primarykey,
capcityint,
devicechar(20),
positionchar(20)notnull,
freetimechar(30))
Createtable课程表
(cnochar(6)notnullprimarykey,
cnamechar(10),
roomnochar(4)
createtable维修表
(repairernochar(6)notnull,
roomnochar(8)notnull,
repairresultchar(6)notnull,
repairrecordchar(20)notnull,
constraintpk_wxprimarykey(repairerno,roomno)
createtable使用表
(snochar(8)notnull,
constraintpk_syprimarykey(sno,roomno)
)
createtable课程安排表
(tnochar(6)notnull,
roomnochar(8)notnull,
cnochar(6)notnull,
周次char(10),
星期char(10),
nodechar(20),
constraintpk_caprimarykey(tno,roomno,cno)
createtable学习表
(snochar(8),
cnochar(6),
constraintpk_xxprimarykey(sno,cno)
(3)添加数据代码:
use教室管理系统
INSERTinto学生表(sno,sname,age,ClassNO,pname,dept)
VALUES('
01001001'
'
刘玲玲'
20'
15级'
数学'
数学系'
),
('
01001002'
李华'
21'
01002001'
李海'
14级'
计算机'
计算机系'
INSERTinto校工信息表(repairerno,repairername,stuation,tei)
values('
010001'
张华'
空闲'
'
010002'
赵伟'
工作'
Use教室管理系统
INSERTinto教师信息表(tno,tname,dept,title)
030111'
张丽'
教授'
030211'
王国强'
会计系'
副教授'
USE教室管理系统
INSERTinto教室信息表(roomno,capcity,device,position,freetime)
0101'
200'
多媒体'
A楼层'
16.7.2第一节课'
1201'
150'
化学实验设备'
B楼层'
16.7.4第二节课'
2103'
100'
C楼层'
16.7.5第四节课'
2204'
16.7.7第三节课'
Go
INSERTinto课程表(cno,cname,roomno)
01'
高等数学'
'
02'
大学英语'
03'
会计基础'
2104'
INSERTinto维修表(repairerno,roomno,repairresult,repairrecord)
已修好'
6.7.5多媒体'
未修好'
6.7.3化学实验设备'
Go
INSERTinto使用表(sno,roomno)
INSERTinto课程安排表(tno,roomno,cno,周次,星期,node)
第周'
星期一'
第一节'
星期二'
第三节'
INSERTinto学习表(sno,cno)
默认值约束的建立
在校工表上,为学生年龄创建一个默认值约束。
代码如下:
GO
ALTERTABLE学生表
ADDAddDatesmalldatetimenull
CONSTRAINTAddDateDf
DEFAULTgetdate()
在校工表基础上,删除创建的默认值约束。
DROPCONSTRAINTAddDateDf
查询功能
(1)能根据教室编号查询此教室在学校中是否存在以及此教室的容纳人数、教室位置。
SELECTcapcity,positionfrom教室信息表
WHEREroomno='
(2)学生信息查询。
输入学号后,能查出该学生的所有信息。
SELECT*FROM学生表
WHEREsno='
(3)维修查询。
查询出所有已修好或者维修好设备的教室编号。
SELECTroomnofrom维修表
WHERErepairresult='
orrepairresult='
视图的设计部分
视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制,是从一个或几个表导出来的表,不是真实存在的基本表而是一张虚表,其结构和数据是建立在对表的查询基础上的。
创建一个视图,存放每个教室的roomno,position,freetime以及课程cno,cname。
createview教室_课程
AS
SELECT教室信息表.roomno,课程表o,课程表ame,
教室信息表.position,教室信息表.freetime
FROM教室信息表INNERJOIN
课程表ON教室信息表.roomno=课程表.roomno
WHERE(教室信息表.roomno='
课程表.roomno'
存储过程创建部分
存储过程是SQL语句和可选流程控制语句的预编译集合,独立存储在数据库内。
存储过程可以接受输入参数、输出参数,返回单个或多个结果集以及返回值,由应用程序通过调用执行。
创建一个存储过程,它带有一个参数,用于查询某个教室的基本信息。
CREATEPROCEDUREGetROOM@numberchar(4)
SELECT*FROM教室信息表WHEREroomno=@number
4课程设计心得
通过这次数据库设计,我深刻的感到自身的不足,也感到要做出一个好的系统决不是一件容易的事情,它必须要经过详细的调查,了解所有涉及的流程和数据,考虑到各种可能出现的情况及处理的方法。
还有建立与之相适应的数据库,要全面,还要完整,这也是很困难的。
除此之外,还有很多,例如,安全性和完整性问题,对存储过程的优化以及效率等问题,这些都不是简单的就可以处理的。
我认识到,在做数据库之前,做好十分充分的准备是十分的必要,也十分的重要,它综合了SQLServer2008的数据库、表、视图、触发器、存储过程及函数的创建与应用,以及数据的增、删、改、查的简单操作,让我真真切切地感觉要想在这个方面比较精通,必须下苦功夫。
参考文献
[1]萨师煊王珊.数据库系统概论[M].北京:
高等教育出版社,2006:
16-38
[2]李建中.数据库系统原理[M].北京:
电子工业出版社,2004:
22-30
[3]张海藩.软件工程[M].北京:
人民邮电出版社,2003:
26-43