大型数据库课程设计报告——机房管理系统.docx

上传人:scccc 文档编号:13931110 上传时间:2022-01-26 格式:DOCX 页数:21 大小:160.82KB
返回 下载 相关 举报
大型数据库课程设计报告——机房管理系统.docx_第1页
第1页 / 共21页
大型数据库课程设计报告——机房管理系统.docx_第2页
第2页 / 共21页
大型数据库课程设计报告——机房管理系统.docx_第3页
第3页 / 共21页
大型数据库课程设计报告——机房管理系统.docx_第4页
第4页 / 共21页
大型数据库课程设计报告——机房管理系统.docx_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《大型数据库课程设计报告——机房管理系统.docx》由会员分享,可在线阅读,更多相关《大型数据库课程设计报告——机房管理系统.docx(21页珍藏版)》请在三一文库上搜索。

1、大型数据库课程设计设计报告题目:机房管理系统学号:学生姓名:指导教师:提交时间:目录第1 章需求分析 错误!未指定书签。1.1 需求调查 错误!未指定书签。1.2 系统功能分析 错误!未指定书签。1.3面对用户需求分析 错误!未指定书签。第2 章面向对象分析和设计 错误!未指定书签。第3 章逻辑结构设计 错误!未指定书签。3.1 类和对象向关系模式转换 错误!未指定书签。3.2 关系模式优化 错误!未指定书签。第4 章数据库物理结构设计 错误!未指定书签。4.1 存取方法设计 错误!未指定书签。4.2 存储结构设计 错误!未指定书签。4.3 物理设计 错误!未指定书签。第5 章数据库完整性设计

2、 错误!未指定书签。5.1 主键及唯一性索引 错误!未指定书签。5.2 参照完整性设计 错误!未指定书签。5.3 Check 约束 错误!未指定书签。5.4 Default 约束 错误!未指定书签。5.5 触发器设计 错误!未指定书签。第6 章数据库视图设计 错误!未指定书签。第7 章数据库存储过程设计 错误!未指定书签。第8 章权限设计 错误!未指定书签。总结 错误!未指定书签。参考文献: 错误!未指定书签。机房管理系统后台数据库第1章需求分析1.1 需求调查针对一般高校机房管理系统的需求分析,通过对各个用户的调查,该机房管理系统有如下需求:1)机房管理:实现机房管理员对机房信息、计算机信息

3、以及教学班上机相关 信息的管理。机房管理员可以对包括机房名称、 该机房拥有的计算机数目、 计算机编号、计算机上机费率在内的相关机房信息、 计算机信息进行管理, 也可以为教学班的课程分配上机时间和地点。2)基本信息管理:实现对课程信息和教学班的基本信息的管理,包括课程的 教师、上机时间和上机地点等基本信息,以及教学班学生、课程和成绩等 基本信息的管理。学生可以对自己的个人基本信息进行管理,机房管理员 可以对上机时间和地点等进行管理,任课教师可以对教学班学生课程成绩 进行修改。3)查询:实现对机房信息、学生信息、课程信息和教学班信息的相关查询。 机房管理员可以对机房各项相关信息进行查询,学生可以对

4、包括学号、姓 名、民族、性别、出生日期、班级、系别、专业和卡号在内的学生个人基 本信息,课程的教师、上机时间、上机地点和成绩在内的课程信息,以及 包括上机收费和余额在内的充值卡信息进行查询,任课老师可以对教学班 学生信息、课程信息、上机时间、上机地点以及成绩等基本信息进行相关 查询。4)充值管理:实现充值人员对学生充值信息的管理,包括卡号、充值时间、 充值金额以及余额等基本信息。学生通过充值人员为自己的卡充值,也可 以了解自己的充值卡余额。5)上机管理:实现对学生上机信息和机房收费信息的管理。下机后,系统将 自动修改该学生的充值卡账户余额;通过机房收费信息可以统计各机房上 机的费用。1)1.2

5、系统功能分析机房管理系统机房费用统计信息管理上机登记过程信息管理充值信息管理教学班上机信息管理教学班信息管理学生基本信息管理计算机基本信息管理机房信息管理1)机房信息管理:用于实现机房管理员对机房信息的管理,机房管理员可以 通过对包括机房名以及该机房拥有的计算机数目在内的全部机房基本信息 进行查询、修改和删除。2)计算机基本信息管理:用于实现机房管理员对计算机各项基本信息的管理, 包括对计算机编号、计算机所属机房名和上机费率的查询、修改和删除。3)学生基本信息管理:用于实现教师对学生的基本信息的管理,有查询、修改和删除学生的学号、姓名、民族、性别、出生日期、系别、专业、班级 以及卡号等基本信息

6、的功能。4)教学班信息管理:用于实现任课教师对教学班信息的管理,包括对教学班 学生信息、课程信息和成绩信息等基本信息的查询,以及对教学班学生成 绩的查询、修改和删除。5)教学班上机信息管理:用于机房管理员对教学班学生上机信息的管理,包 括对课程上机周次、上机时间和上机地点等基本信息的查询、 修改和删除。6)充值信息管理:用于充值人员对学生充值信息的管理,包括卡号、充值时 问、充值金额以及余额等基本信息。学生缴纳费用,充值人员为其充值, 并提供充值查询。7)上机登记过程信息管理:用于对学生上机信息的登记管理,包括计算机编 号、机房名、日期、上机时间、下机时间、学号以及消费金额等基本信息。每次学生

7、下机后,系统将自动修改该学生的账户余额,并保存该学生此次 上机的详细信息。8)机房费用统计信息管理:用于实现充值人员对各个机房的收费信息的管理, 包括机房名、日期和上机费用等基本信息。系统管理员可以通过对学生的 收费信息来统计各机房上机的总体费用。1.3面对用户需求分析在机房管理系统中,最主要的功能就是进行一系列的查询和各类数据的管 理。因此,可以将机房管理系统分为管理系统和查询系统两个子系统。而在所 设计的机房管理系统中,主要有四类用户,即学生用户、教师用户、机房管理 员和系统管理员。各类用户在该系统中的需求不同,权限也不同。因此,为了 更明确更系统地了解用户需求,我们还可以将管理系统再细分

8、为学生管理系 统、教师管理系统、机房管理员管理系统和系统管理员管理系统。同样,将查 询系统也按用户职能进行细分,即学生查询系统、教师查询系统、机房管理员 查询系统和系统管理员查询系统。这样细分后,看似把系统需求繁杂化了。其 实不然,细分后使各用户需求更加明确了,并且能更好的把握系统需求。下面从细分后的各个子系统分析子系统的需求:机房管理系统学生管理子系统学生查询子系统教师管理子系统充值人员查询子系统机房管理员管理子系统机房管理员查询子系统学生管理子系统。学生用户在使用该系统时,首先必须通过账号和密码登录 系统。因此,对密码的设置和修改是最基本的需求。由于所有用户在使用该系统时都需要账号和密码,

9、所以在后面的用户需求分析时不再重复对此需求进行描述。在登录系统后,学生用户的最主要的需求就是通过该系统进行个人基本信息管理和选课。其次,学生用户还要求可以通过系统进行个人基本信息的维护(包括添加、删除和修改信息)以及学生选课。2) 学生查询子系统。学生用户在该系统中是最低级的用户,所以可以查询的数据也是有限的,主要有个人基本信息查询,个人选课信息查询,个人上机信息查询。在进行选课的时候还要对课程信息进行查询。3) 教师管理子系统。该系统中,教师用户可以对学生的课程成绩进行录入。4) 教师查询子系统。教师用户不仅要有查询教学班学生信息的功能,还要有查询所选课程信息的功能。当学生用户进行选课完毕后

10、,教师用户有对选课学生花名册、任课课程信息的查看的需求。当课程结束后,教师在录入学生成绩的时候,也要对课程信息、学生信息进行查询。教师用户的另一个需求是对学生成绩的查询,这个成绩查询不仅可以查询学生用户的个人成绩,还可以查询所带课程的成绩和所有学生的成绩。5) 充值人员管理子系统。作为充值人员,具备给学生充值卡充值的需求(即修改学生账户的账户余额), 也可以通过机房收费信息统计各机房上机的费用。6) 充值人员查询子系统。充值人员在给充值卡充值的时候,有查询充值卡信息的需求;统计各机房上机总费用的时候,还有查询各机房具体上机收费信息的相关需求。7) 机房管理员管理子系统。首先是个人信息的修改。对

11、于机房管理员来说,该系统应该可以帮助他进行个人信息(即姓名)的修改;机房管理员还有对机房信息和计算机信息进行管理的需求;在教学班课程需要安排上机时,机房管理员还有利用系统进行上机安排的需求,即对上机周次、上机日期和上机地点的安排。8) 机房管理员查询子系统。机房管理员首先要有机房信息和计算机信息查询的需求,除了这些需求外,机房管理员还应该可以查询需要安排上机的教学班的学生人数,以及已经安排好的教学班上机的相关信息。第 2 章 面向对象分析和设计类和对象设计如下:第3结构局部room机房名:char(10) 计算机数目:int 管理员:varchar(20)章设E-R呼H.co曰_nvaricH

12、:inthOr、/: fl逻辑计图添加() 修改() 删除() 查询()room计算机数目:varchar(20) 余额:floatreinfOudenion年算机编上:int批房名vacha(阿)惟的:bit民雄日新arnv)rchar(50) 出枕盘期:nvarChar(50) 翘期时 岫rchCha20O) 专枇时Varchara320)course专业:nvarchar(50) 课程名:nvarchar(50) 教师:varchar(30) 上课周次:char(35) 上机时间:char(30) 上机地点:char(15)添加() 修改() 删除() 查询()机房实体E-R图班费编额:

13、foiat 删除()int -露加()删除() 查询()计算机实体computer机房名studen全局E-R图:计算机数目课程名计算机编号room上课course出生日期上课周次班级编号系别选课上课时间系别com上机er机房名studentcard余额充值时间充值金额I教师/专业) 3.1 类禾口对茱向关系模式转换room (机房名、计算机数目、费率(元/小时)、管理员)computer (计算机编号、机房名)student (班级编号、学号、姓名、民族、性别、出生日期、系别、专业、卡号、课程名、教师、上课周次、上机时间、上机地点、成绩)course (课程名、专业、教师、上课周次、上机时间

14、、上机地点、成绩)sc (学号、姓名、性别、系别、专业、班级、课程名)card (卡号、学号、姓名、性别、系别、专业、班级、充值日期、充值金额、 经办人、余额)reinformation (计算机编号、机房名、学号、卡号、姓名、性别、系别、专业、班级、上机日期、上机类型、起始时间、下机时间、消费金额)3.2 关系模式优化room (机房名、计算机数目、管理员)computer (计算机编号、机房名、费率(元/小时)student (班级编号、学号、姓名、民族、性别、出生日期、系别、专业、卡号)course ( 课程名、专业、教师、上课周次、上机时间、上机地点)sc (学号、课程名、成绩)car

15、d (卡号、充值日期、充值金额、经办人、余额)reinformation (计算机编号、机房名、 学号、 卡号、 上机日期、上机类型、起始时间、下机时间、消费金额)第 4 章 数据库物理结构设计4.1 存取方法设计数据库系统是多用户共享的系统,对同一个关系要建立多条存储路径才能满足多用户的多种应用要求。对于机房管理系统来说,为了提高某些属性( 如:机房名,计算机编号,学生学号,课程名,学生成绩,选课信息等) 的查询速度,可以选择聚簇存取的方法,即把这些属性上具有相同值的元组集中放在连续的物理块上。 这样在查询某个系别或是查询某个专业或某班级的学生情况或选课等时就会大大提高查询速度。因此,该系统

16、中选择聚簇存取方法。4.2 存储结构设计机房管理系统是一个大型复杂的计算机网络信息系统,采用基于浏览器/ 服务器(B/S),客户端/服务器(C/S)混合的应用体系结构来建设机房管理系统。 机房管理系统采用Microsoft 公司推出的SQLServer2008 ,并用SQL进行数 据库的建立和数据库中数据的维护和查询。4.3 物理设计实现该设计的环境为WindowsXPProfessional+MSSQLServer2008 或以上版本。1、 建立机房管理系统数据库createdatabase 机房管理系统onprimary(name机房管理系统数据文件,机房管理系统机房管理系统数据文件.md

17、f,size=10MB,maxsize=unlimited, filegrowth=10%)logon(name机房管理系统日志文件,机房管理系统机房管理系统日志文件.ldf,size=3MB, maxsize=unlimited,filegrowth=1MB)2、 建立机房信息表createtableroom(机房名char(10)notnullprimarykey,计算机数目int,管理员varchar(20)notnull)3、 建立计算机信息表createtablecomputer(计算机编号intnotnull,机房名 char(10)notnull,费率 ( 元 / 小时 )int

18、, primarykey( 计算机编号, 机房名 )4、 建立学生信息表createtablestudent(班级编号intnotnull,学号 intnotnullprimarykey,姓名varchar(20)notnull,性别bitnotnull,民族char(10),出生日期char(10),系别varchar(20)notnull,专业varchar(30)notnull,卡号int)5、 建立课程信息表createtablecourse(专业nvarchar(50)notnull,课程名 nvarchar(50)notnull,教师nvarchar(30)notnull,上课周次

19、char(35)notnull,上课时间char(30)notnull,上机地点char(15)notnull,primarykey( 专业 , 课程 )6、 建立学生选课信息表createtablesc(学号 intnotnull,课程名 nvarchar(50)notnull,班级编号intn(50)notnull,otnull,成绩 char(10),primarykey( 学号 , 课程 )7、 建立充值卡信息表createtablecard(卡号 intnotnullprimarykey,充值日期nvarchar(50)notnull,充值金额floatnotnull,经办人 var

20、char(20)notnull,余额 float)8、 建立上机信息登记表createtablereinformation(计算机编号intnotnull,机房名 char(10)notnull,卡号 intnotnull,上机日期nvarchar(50)notnull,上机类型nvarchar(50)notnull,起始时间char(20)notnull,下机时间char(20)notnull,消费金额floatnotnull,primarykey( 卡号 , 起始时间)第5章数据库完整性设计5.1 主键及唯一性索引表名主键建立唯一性索引room(机房名)createuniqueindexr

21、oom_index onroom(机房名)computer(计算机编号,归属机房)createuniqueindexcomputer_indexoncomputer(计算机编号,归属机房)student(学号)createuniqueindexstudent_indexonstudent(学号)course(专业,课程)createuniqueindexcourse_index oncourse(专业,课程)sc(学号,课程)createuniqueindexsc_index onsc(学号,课程)card(H三号,充值日期)createuniqueindexcard_index oncard

22、(卡号,充值日期)reinformatio n(H三号,起始时间)createuniqueindexreinformation_index onreinformation( 卡号,起始时间)5.2 参照完整性设计1、sc表中将属性学号设计为外键altertablescaddforeignkey(学号)referencesstudent(学号)2、reinformation表中将属性卡号设计为外键altertablereinformationaddforeignkey(卡号)referencescard(卡号)3、computer表中将属性机房名设计为外键altertablecomputerad

23、dforeignkey( 机房名)referencesroom( 机房名)4、student表中将属性卡号设计为外键altertablestudentaddforeignkey(卡号)referencescard(卡号)5.3 Check 约束1、student表中将性别进行 check约束:check(性别in(0,1)2、sc表中将成绩进行check约束:check(成绩=0and成绩=10。5.4 Default 约束1、student表中性别默认值设为:1。default(1)2、 student 表中民族默认值设为:汉族。default( 汉族 )5.5 触发器设计1、在room表中

24、建立删改机房名触发器createtriggerroom_trig onroomafterupdate,delete asbeginif(update( 机房名 )beginupdatecomputerset 机房名 =(select 机房名 frominserted)where机房名=(select 机房名 fromdeleted)updatereinformationset 机房名 =(select 机房名 frominserted) where机房名=(select 机房名 fromdeleted) end elsebegin deletefromcomputerwhere机房名 in(s

25、elect 机房名 fromdeleted)deletefromreinformationwhere机房名 in(select 机房名 fromdeleted) endend2、在student 表中建立删改学号触发器createtriggerstudent_trigonstudentafterupdate,deleteasbeginif(update( 学号 )updatescset 学号 =(select 学号 frominserted)where学号=(select 学号 fromdeleted) elsedeletefromscwhere 学号 in(select 学号 fromdel

26、eted) end3、在sc表中建立删改课程名触发器createtriggersc_trig onscafterupdate,delete asbeginif(update( 课程名 )updatecourseset 课程名 =(select 课程名 frominserted)where 课程名 =(select 课程名 fromdeleted)elsedeletefromcoursewhere 课程名 in(select 课程名 fromdeleted) end4、在course表中建立删改课程名触发器createtriggercourse_trigoncourseafterupdate,d

27、eleteasbeginif(update( 课程名 )updatescset 课程名 =(select 课程名 frominserted)where 课程名 =(select 课程名 fromdeleted) else deletefromscwhere 课程名 in(select 课程名 fromdeleted) end5、在computer表中建立删改计算机编号触发器createtriggercomputer_trigoncomputerafterupdate,deleteasbeginif(update( 计算机编号)updatereinformationset 计算机编号=(sele

28、ct 计算机编号frominserted)where 计算机编号=(select 计算机编号fromdeleted)elsedeletefromreinformationwhere 计算机编号in(select 计算机编号fromdeleted)end 6、在card 表中建立删改卡号触发器createtriggercard_trigoncardafterupdate,deleteasbeginif(update( 卡号 )updatereinformationset 卡号 =(select 卡号 frominserted)where 卡号 =(select 卡号 fromdeleted) e

29、lsedeletefromreinformationwhere 卡号 in(select 卡号 fromdeleted) end第 6 章数据库视图设计1、建立机房信息视图createviewroom_viewasselect*fromroom;2、建立计算机信息视图createviewcomputer_viewasselect*fromcomputer;3、建立学生信息视图createviewstudent_viewasselect 学号 , 姓名 , 性别 , 民族 , 出生日期, 系别 , 专业 , 班级编号 , 卡号fromstudent;4、建立课程信息视图createviewcou

30、rse_viewasselect*fromcourse;5、建立学生选课信息视图createviewsc_viewasselect*fromsc;6、建立学生充值卡信息视图createviewcard_viewasselect*fromcard;7、建立上机信息登记视图createviewreinformation_viewasselect*fromreinformation;8、建立学生上机信息视图createviewstu_com_viewasselectstudent. 学号 ,student. 姓名 ,course. 课程 , 教师 , 上课周次, 上机时间, 上机地点fromstud

31、ent,sc,coursewherestudent. 学号 =sc. 学号 andsc. 课程 =course. 课程andstudent. 专业 =course. 专业 ;9、建立班级上机信息视图createviewcla_com_viewasselectdistinctstudent. 班级编号,course. 课程 , 教师 , 上课周次, 上机时间, 上机地点fromstudent,sc,coursewheresc. 学号 =student. 学号 andstudent. 专业 =course. 专业 andsc. 课程 =course. 课程 ;10、建立班级学生选课信息视图crea

32、teviewcla_sc_viewasselectstudent. 班级编号,student. 学号 , 姓名 ,course. 课程 , 成绩fromstudent,sc,coursewheresc. 学号 =student. 学号 andstudent. 专业 =course. 专业 andsc. 课程 =course. 课程 ;11、建立机房费用统计信息视图createviewrom_moy_viewasselect机房名,上机日期,sum(消费金额)as总消费fromreinformationgroupby机房名,上机日期;第 7 章数据库存储过程设计1、建立添加机房存储过程creat

33、eprocedureroomadd(机房名char(10), 计算机数目int, 管理员 varchar(20)asbegininsertintoroomvalues(机房名,则算机数目,t理员) endreturn2、建立添加计算机存储过程createprocedurecomputeradd(计算机编号int, 机房名 char(10),( 费率 (元 /小时 )int)asbegininsertintocomputervalues(计算机编号,酬房名,(费率(元/小时) endreturn3、建立添加学生存储过程createprocedurestudentadd(班级编号int, 学号 i

34、nt, 姓名 varchar(20), 性别 bit,出生日期char(10), 系别 varchar(20),专业varchar(30), 卡号 int, 民族 char(10)asbegininsertintostudentvalues(班级编号,既号,生名,|生别,B生日期,解别,跳业,研号,纵族) endreturn4、建立添加课程存储过程createprocedurecourseadd(专业nvarchar(50), 课程名 nvarchar(50), 教师 varchar(30), 上课周次char(35),上机时间char(10), 上机地点char(15)asbegininse

35、rtintocoursevalues(专业,程名,B师,课周次,机时间,机地点)endreturn5、建立选课存储过程createprocedurescadd(学号int, 课程名 nvarchar(50), 成绩 char(10)asbegininsertintoscvalues(学号,K程名,绩)endreturn第 8 章权限设计1、给机房管理员授权:grantselect,update,deleteonroom_viewto 机房管理员grantselect,update,deleteoncomputer_viewto 机房管理员grantselectoncourse_viewto 机

36、房管理员grantselectonsc_viewto 机房管理员grantselectonreinformation_viewto 机房管理员grantselectonstu_com_viewto 机房管理员grantselect,update,deleteoncla_com_viewto 机房管理员2、给充值人员授权:grantselectonstudent_viewto 充值人员grantselect,update,deleteoncard_viewto 充值人员grantselect,update,deleteonrom_moy_viewto 充值人员grantselectonreinf

37、ormation_viewto 充值人员3、给学生授权grantselectoncourseto 学生grantselect,updateonstudentto 学生grantinsert,delete,updateonscto 学生grantselectoncard_viewto 学生grantselectoncla_com_viewto 学生4、给教师授权grantselectonstudent_viewto 教师grantselectonsc_viewto 教师grantselectoncourse_viewto 教师grantselectonreinformation_viewto 教

38、师grantselectonstu_com_viewto 教师grantselectoncla_com_viewto 教师grantselectoncla_sc_viewto 教师总结通过这段时间对机房管理系统后台数据库的设计,我受益匪浅。做这个课程设计, 让我可以把课堂上所学的理论知识和实践相联系起来,使我渐渐学会了融会贯通。同样,通过对 SQLServer的使用,我也熟练和巩固了对SQL的理解。在机房管理系统的开发中我采用了完整的数据库设计的全过程,从需求分析到概念结构设计,到逻辑结构设计,最后到数据库的实施和维护,每一步都认真地分析和实施。当然,在本次课程设计的成果中也还存在许多的不足之

39、处。在这次设计中,我完全投入到了开发系统的世界里,使我明白了理论和实践要想充分地结合,需要非常扎实的基本功。这就说明学好基础知识是理论付诸实践的前提。在开发机房管理系统中我学到了很多,希望在以后能充分利用实习的机会充实自己,用所学的理论知识充分去实践,在实践中又要努力去巩固理论知识。 只有这样,才能把一门课程甚至一门学科学精、学透。 通过这次的课程设计,我对大型数据库设计这一门课程有了更深一步的理解。参考文献:1. 郑阿奇等.SQLserver 实用教程(第3 版) M. 电子工业出版社,20092. 王珊 , 萨师煊 . 数据库系统概论M. 高等教育出版社,2005大型数据库课程设计报告评分

40、标准选题及功 能设计选题合理,功能简单(D)有一定的工作量和实用价值(C)功能设计丰富,有一定的难度系数(B)功能设计合理全面,能体现数据库的存储和整理数据 的功能(A)数据表和 数据量具备基本的数据表,数据量较少,但能够实现系统基本需要(D)具备基本的数据表,数据量适中,实现了f的数据完整性(C)有多个数据表,数据量适中,有完善的数据完整性(B)有多个数据表,数据量充足,具有较强的数据安全性 和数据完整性(A)数据库对 象具备基本的数据表,有主外键约束(D)创建了若干种的数据库对象,并加以利用(C)在实际应用中合理利用了各类数据库对象(B)具有身份验证、数据备份等较复杂的数据管理功能(A)功能实现利用存储过程实现了各种查询功能(D)除查询功能,还实现了各种数据操作功能(C)在条基础上,还实现了数据统计汇总功能 (B)合理利用函数、存储过程、触发器实现各种数据查询、 操作、管理功能(A)设计报告完成设计报告,阐述了系统功能,结构较完整 (D)开题报告反映设计思路,结构完整,格式较规范 (C)报告内容完整,图表使用准确,格式清晰,功能描述详尽(B)报告内容完整,图表使用准确,描述详细,代码阐述 清楚,反映系统执行流程(A)教师签字:总评成绩:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1