大型数据库课程设计报告——机房管理系统_第1页
大型数据库课程设计报告——机房管理系统_第2页
大型数据库课程设计报告——机房管理系统_第3页
大型数据库课程设计报告——机房管理系统_第4页
大型数据库课程设计报告——机房管理系统_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大型数据库课程设计设计报告题 目:机房管理系统学 号:学生姓名:指导教师:提交时间:c目录第1章需求分析11.1 需求调查11.2系统功能分析 21.3面对用户需求分析3第2章面向对象分析和设计 4第3章逻辑结构设计63.1 类和对象向关系模式转换 83.2 关系模式优化9第4章数据库物理结构设计 94.1 存取方法设计94.2 存储结构设计94.3 物理设计10第5章数据库完整性设计125.1主键及唯一性索引 125.2参照完整性设计 125.3 Check 约束125.4 Default 约束125.5触发器设计13第6章 数据库视图设计 15第7章数据库存储过程设计16第8章权限设计17

2、总结18参考文献:18机房管理系统后台数据库第1章需求分析1.1 需求调查针对一般高校机房管理系统的需求分析,通过对各个用户的调查,该机房管理系统有如下需求:1)机房管理:实现机房管理员对机房信息、计算机信息以及教学班上机相关 信息的管理。机房管理员可以对包括机房名称、 该机房拥有的计算机数目、 计算机编号、计算机上机费率在内的相关机房信息、 计算机信息进行管理, 也可以为教学班的课程分配上机时间和地点。2)基本信息管理:实现对课程信息和教学班的基本信息的管理,包括课程的 教师、上机时间和上机地点等基本信息,以及教学班学生、课程和成绩等 基本信息的管理。学生可以对自己的个人基本信息进行管理,机

3、房管理员 可以对上机时间和地点等进行管理,任课教师可以对教学班学生课程成绩 进行修改。3)查询:实现对机房信息、学生信息、课程信息和教学班信息的相关查询。 机房管理员可以对机房各项相关信息进行查询,学生可以对包括学号、民 族、性别、出生日期、班级、系别、专业和卡号在内的学生个人基本信息, 课程的教师、上机时间、上机地点和成绩在内的课程信息,以及包括上机 收费和余额在内的充值卡信息进行查询,任课老师可以对教学班学生信息、 课程信息、上机时间、上机地点以及成绩等基本信息进行相关查询。4)充值管理:实现充值人员对学生充值信息的管理,包括卡号、充值时间、 充值金额以及余额等基本信息。学生通过充值人员为

4、自己的卡充值,也可 以了解自己的充值卡余额。5)上机管理:实现对学生上机信息和机房收费信息的管理。下机后,系统将 自动修改该学生的充值卡账户余额;通过机房收费信息可以统计各机房上 机的费用。1.2系统功能分析机房管理系统1V1ri f理1片!1 F1)机房信息管理:用于实现机房管理员对机房信息的管理,机房管理员可以 通过对包括机房名以及该机房拥有的计算机数目在内的全部机房基本信息 进行查询、修改和删除。2)计算机基本信息管理:用于实现机房管理员对计算机各项基本信息的管理, 包括对计算机编号、计算机所属机房名和上机费率的查询、修改和删除。3)学生基本信息管理:用于实现教师对学生的基本信息的管理,

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

6、包括计算机编 号、机房名、日期、上机时间、下机时间、学号以及消费金额等基本信息。每次学生下机后,系统将自动修改该学生的账户余额,并保存该学生此次 上机的详细信息。8)机房费用统计信息管理:用于实现充值人员对各个机房的收费信息的管理, 包括机房名、日期和上机费用等基本信息。系统管理员可以通过对学生的 收费信息来统计各机房上机的总体费用。1.3面对用户需求分析在机房管理系统中,最主要的功能就是进行一系列的查询和各类数据的管 理。因此,可以将机房管理系统分为管理系统和查询系统两个子系统。而在所 设计的机房管理系统中,主要有四类用户,即学生用户、教师用户、机房管理 员和系统管理员。各类用户在该系统中的

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

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

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

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

11、(20) 计算机编号:int 机房名:char(1O) 费率(元/小时):int添加() 修改() 删除() 查询()course专业:nvarchar(50) 课程名:n varchar(50) 教师:varchar(30)上课周次 上机时间 上机地点char(35)char(30)char(15)添加()修改()删除()查询()添加() 修改() 删除() 查询()stude nt学号:int:varchar(20) 性别:bit 民族:char(1O) 出生日期:char(1O) 系别:varchar(20) 专业:varchar(30) 班级编号:int 卡号:int添加() 修改()

12、 删除() 查询()sc学号:int课程名:n varchar(50) 成绩:char(10) 添加() 修改() 删除() 查询()cardrei nformatio n计算机编号:int机房名:char(10)卡号:int上机日期n varchar(50)上机类型n varchar(50)起始时间char(20)下机时间char(20)消费金额float删除()查询()卡号:int充值日期:n varchar(50) 充值金额:float经办人:varchar(20) 余额:float 添加() 修改() 删除() 查询()第3章逻辑结构设计局部E-R图机房实体E-R图stude nt学生

13、实体E-R图上课地点课程名上课周次教师上课时间专业course课程实体E-R图充值卡实体E-R图全局E-R图:计算机数目充值时间岀生日期班级编号1上课日期管理员上课周次上课学号课程名机房名属于费率(元/小时)机房名教师余额民族系别卡号性别专业上机系别专业属于卡号选课充值金额经办人计算机编号coursecardcomputerstudentroom3.1 类和对象向关系模式转换room (机房名、计算机数目、费率(元/小时)、管理员)computer (计算机编号、机房名)student (班级编号、学号、民族、性别、出生日期、系别、专业、卡号、 课程名、教师、上课周次、上机时间、上机地点、成绩

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

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

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

17、,机房管理系统 机房管理系统数据文件.mdf,size=10MB,maxsize=un limited,filegrowth=10%)log on (name=M房管理系统日志文件,机房管理系统 机房管理系统日志文件.ldf,size=3MB,maxsize=un limited,filegrowth=1MB )2、建立机房信息表create table room(机房名 char(10) not null primary key,计算机数目int,管理员 varchar(20) not null)3、建立计算机信息表create table computer(计算机编号int not nul

18、l,机房名 char(10) not null,费率(元/小时)int,primary key(计算机编号,机房名)4、建立学生信息表create table stude nt(班级编号int not null,学号 int not null primary key,varchar(20) not null,性别 bit not null,民族 char(10),出生日期char(10),系别 varchar(20) not null,专业 varchar(30) not null,卡号int)5、建立课程信息表create table course( 专业 nvarchar(50) not

19、null, 课程名 nvarchar(50) not null, 教师 nvarchar(30) not null, 上课周次 char(35) not null, 上课时间 char(30) not null, 上机地点 char(15) not null, primary key (专业,课程)6、建立学生选课信息表create table sc( 学号 int not nuII, 课程名 nvarchar(50) not null, 班级编号 int n(50) not null, ot null, 成绩 char(10),primary key (学号,课程)7、建立充值卡信息表cre

20、ate table card( 卡号 int not n ull primary key, 充值日期n varchar(50) not null,充值金额 float not null, 经办人 varchar(20) not null, 余额float)8建立上机信息登记表 create table rein formatio n( 计算机编号int not null, 机房名 char(10) not null, 卡号 int not nuII, 上机日期 nvarchar(50) not null, 上机类型 nvarchar(50) not null, 起始时间 char(20) no

21、t null, 下机时间 char(20) not null, 消费金额 float not null, primary key(卡号,起始时间)第5章数据库完整性设计5.1主键及唯一性索引表名主键建立唯一性索引room(机房名)create unique in dex room_ in dex on room(机房名)computer(计算机编号,归属机房)create unique in dex computer, in dex on computer(计算机编号,归属机房)stude nt(学号)create unique in dex stude nt_in dex on stude

22、nt(学号)course(专业課程)create unique in dex course_i ndex on course(专业,课程)sc(学号課程)create unique in dex sc_in dex on sc(学号,课程)card(卡号,充值日期)create unique in dex card_i ndex on card(卡号,充值日期)rei nformatio n(卡号,起始时间)create unique in dex rein formati on_in dex on reinformation(卡号,起始时间)5.2 参照完整性设计1、sc表中将属性学号设计为

23、外键alter table sc add foreig n key 学号)refere nces stude nt学号)2、reinformation表中将属性卡号设计为外键alter table rein formatio n add foreig n key 卡号)refere nces card 卡号)3、computer表中将属性机房名设计为外键alter table computer add foreign key 机房名)references room机房名)4、student表中将属性卡号设计为外键alter table stude nt add foreig n key 卡号)

24、refere nces card 卡号)5.3 Check 约束1、student表中将性别进行 check约束:check(性别in (0,1)2、 sc表中将成绩进行 check约束:check(成绩=0 and成绩=100)5.4 Default 约束1、student表中性别默认值设为:1。default(1)2、student表中民族默认值设为:汉族。defaults汉族)5.5 触发器设计1、在room表中建立删改机房名触发器create trigger room_trigon room after update,deleteas beg inif (update(机房名)beg

25、inupdate computer set机房名=(select 机房名 from inserted) where 机房名=(select 机房名 from deleted)update reinformation set 机房名=(select 机房名 from inserted) where 机房名=(select 机房名 from deleted)endelse beg indelete from computerwhere 机房名 in (select 机房名 from deleted)delete from rei nformatio nwhere 机房名 in (select 机房

26、名 from deleted)endend2、在student表中建立删改学号触发器create trigger stude nt_trigon stude nt after update,deleteas beg inif (update(学号)update sc set 学号=(select 学号 from inserted)where 学号=(select 学号 from deleted)elsedelete from scwhere 学号 in (select 学号 from deleted)end3、在sc表中建立删改课程名触发器create trigger sc_trigon sc

27、 after update,deleteas beg inif (update(课程名)update course set课程名=(select 课程名 from inserted) where 课程名=(select 课程名 from deleted)elsedelete from coursewhere 课程名 in (select 课程名 from deleted) end4、在course表中建立删改课程名触发器create trigger course_trigon course after update,deleteas beg inif (update(课程名)update sc

28、 set 课程名=(select 课程名 from inserted) where 课程名=(select 课程名 from deleted) elsedelete from scwhere 课程名 in (select 课程名 from deleted)end5、在computer表中建立删改计算机编号触发器create trigger computer_trigon computer after update,deleteas beg inif (update(计算机编号)from in serted)update rei nformatio n set计算机编号 =(select 计算机

29、编号 where计算机编号=(select计算机编号from deleted) elsedelete from rei nformatio nwhere计算机编号in (select计算机编号from deleted) end6、在card表中建立删改卡号触发器create trigger card_trigon card after update,deleteas beg inif (update(卡号)update reinformation set 卡号=(select 卡号 from inserted) where 卡号=(select 卡号 from deleted)elsedele

30、te from rei nformatio nwhere 卡号 in (select 卡号 from deleted) end第6章数据库视图设计1、建立机房信息视图create view room_view as select * from room;2、建立计算机信息视图create view computer_view as select * from computer;3、建立学生信息视图create view stude nt_view asselect学号,,性别,民族,出生日期,系别,专业,班级编号,卡号from student;4、建立课程信息视图create view cou

31、rse_view as select * from course;5、建立学生选课信息视图create view sc_view as select * from sc;6、建立学生充值卡信息视图create view card_view as select * from card;7、建立上机信息登记视图create view rein formati on _view as select * from rein formati on;&建立学生上机信息视图create view stu_view asselect student学号,student.,course课程,教师,上课周次,上机

32、时间,上机地点from stude nt,sc,coursewhere student学号=sc.学号 and sc课程=course课程and stude nt专业=course 专业;9、建立班级上机信息视图create view cla_view asselect distinct student班级编号,course课程教师,上课周次,上机时间,上机地点 from stude nt,sc,coursewhere sc学号=student.学号 and student专业=course专业 and sc课程=course.课 程;10、建立班级学生选课信息视图create view cl

33、a_sc_view asselect student班级编号,student学号,course课程,成绩from stude nt,sc,coursewhere sc学号=student.学号 and student专业=course专业 and sc课程=course.课 程;11、建立机房费用统计信息视图create view rom_moy_view asselect机房名,上机日期,sum(消费金额)as总消费from rein formatio ngroup by机房名上机日期;第7章数据库存储过程设计1、建立添加机房存储过程create procedure roomadd(机房名c

34、har(10),计算机数目int,管理员varchar(20)as beg inin sert into roomvalues(机房名,计算机数目,管理员)endreturn2、建立添加计算机存储过程create procedure computeradd(计算机编号int,机房名char(10),(费率(元/小时)int)as beg inin sert into computervalues(计算机编号,机房名,(费率(元/小时)endreturn3、建立添加学生存储过程create procedure stude ntadd(班级编号int,学号int, varchar(20),性别bi

35、t,出生日期 char(10),系别 varchar(20), 专业 varchar(30),卡号 int,民族 char(10)as beg inin sert into stude ntvalues(班级编号,学号,,性别,出生日期,系别,专业,卡号,民族) endreturn4、建立添加课程存储过程create procedure courseadd(专业 nvarchar(50)课程名 nvarchar(50)教师 varchar(30)上课周次 char(35), 上机时间char(10),上机地点 char(15)as beg inin sert into coursevalues

36、(专业,课程名教师,上课周次,上机时间,上机地点)endreturn5、建立选课存储过程create procedure scadd(学号 int,课程名 nvarchar(50)成绩 char(10)as beg inin sert into scvalues(学号,课程名成绩)endreturn第8章权限设计1、给机房管理员授权:grant select,update,delete on room_view to机房管理员 grant select,update,delete on computer_view tc机房管理员 grant select on course_view to 机

37、房管理员grant select on sc_view to 机房管理员grant select on rei nformatio n_view to 机房管理员grant select on stu_view to 机房管理员grant select,update,delete on cla_view to机房管理员2、给充值人员授权:grant select on stude nt_view to 充值人员grant select,update,delete on card_view to充值人员 grant select,update,delete on rom_moy_view to 充值人员 grant select on rei nformatio n_view to 充值人员3、给学生授权grant select on course to 学生grant select,update on stude nt to学生grant in sert,delete,update on sc to学生grant select on card_view to 学生grant select on cla_view to 学生4、给教师授权grant select on s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论