资源描述
。
摘 要
当人们收集了大量的数据后,应该把它们保存起来做进一步的处理和信息的抽取。当年人们把数据存放在文件柜中,可现在随着社会的发展,数据量急剧增长,现在人们就借助计算机和数据库技术来科学地保存大量的数据,以便能更好的利用这些数据资源。
宿舍管理系统是为宿舍管理人员和学生的住宿有关的管理系统,以实现宿舍管理的自动化,本课题的目的是为了巩固《数据库原理与应用》课程中所学的知识,体现理论指导实践的原则,为宿舍管理系统设计后台数据库,通过需求分析,概念设计,逻辑设计,物理设计及数据库的实施和运行等阶段,体现数据库设计的全过程。
关键词:IBM DB2;数据库设计;宿舍管理系统
-可编辑修改-
。
目录
第一章 绪论 1
1.1课题简介 1
1.2设计目的 1
1.3设计内容 1
第二章 需求分析 2
2.1 需求分析的任务 2
2.2 需求分析的过程 2
2.3数据字典与流程图 2
第三章 概念结构设计 5
3.1 概念结构设计的方法与步骤 5
3.2 数据抽象与局部视图设计 5
3.3视图的集成 6
第四章 逻辑结构设计 7
4.1 E-R图向关系模型的转换 7
4.2 数据库的结构 7
4.3触发器的设计 9
4.4视图的设计 9
4.5约束的设计 9
第五章 数据库的实施 10
5.1表空间的建立 10
5.2 索引的建立 10
5.3表的建立与数据的载入 10
5.4 数据库的运行 13
第六章 结束语.....................................................................................16
-可编辑修改-
。
第一章 绪论
1.1课题简介
经过三年的学习,我们对计算机方面的知识有了很大的提升,本着理论联系实际的宗旨,通过学校提供的这次课程设计实践的机会,在指导教师的帮助下,历经两周时间,我自行设计一套宿舍管理系统,在下面的各章中,我将以这套宿舍管理系统为例,谈谈其开发过程和所涉及到的问题。
1.2设计目的
实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识、DB2的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。
1.3设计内容
选择课题并且对课题的相关信息有一定的了解,对于我选的课题来说,我必须了解宿舍管理系统的构造以及管理员的信息还有学生的相关信息。将这些信息输入到数据库中,使之能够进行查询、修改、删除。在需求分析阶段,需要完成宿舍管理系统的具体分类和实施过程流图。概念设计阶段要完成数据抽象与局部视图设计以及视图的集成。逻辑结构设计阶段要把E-R图转化为关系模式。最后是数据库的实施和运行。
。
第二章 需求分析
2.1 需求分析的任务
调查宿舍管理系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。最重要的是调查、收集信息、分析管理员信息和学生住宿信息。处理要求、数据的安全性与完整性要求。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求管理层的界面要简单明了,易于操作,服务器程序利于维护。
2.2 需求分析的过程
学校为方便管理学生住宿问题,需开发一个宿舍管理系统。为便于查找到相应的寝室和寝室内学生的信息,管理员把学生的信息,包括学号、姓名、性别、专业、所在班级、所在学院,输入到管理系统中,系统经过查询寝室楼内寝室信息的数据服务器后,为学生安排寝室,并安排寝室长和相应的管理员。系统可方便查询到某个寝室的相关学生信息,也可以查询某个学号的学生所属的寝室,方便管理者查询信息。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求管理层的界面要简单明了,易于操作,服务器程序利于维护。
2.3数据字典与流程图
1.业务流程分析
经过可行性分析和初步需求调查,抽象出该系统业务流程图,结合该实例具体情况,查询学生信息,学生所在寝室信息。
查询某学生所在寝室
学生信息表
寝室表信息
所在寝室号
寝室长姓名
寝室电话
图2.1 查询学生所在寝室流程图
查询寝室内学生信息
住宿信息表
学生信息表
学生学号
学生姓名
专业,班级
图2.2 查询寝室内学生信息流程图
(1) 查询某学生所在寝室的信息:
① 查询学生信息表
l 功能:可以找到该学生的相关信息,如学号,姓名,性别,所在院校,专业和所在班级的信息。
② 查询住宿表信息
l 功能:可以找到相应学号的学生所在的寝室号。
③ 查询寝室信息表
l 功能:可以找到该生所在寝室的相关信息,如寝室号,寝室长和寝室联系电话。
(2) 查询某寝室内所包含的学生信息:
① 查询寝室信息表
l 功能:可以找到该寝室的相关信息,如如寝室号,寝室长和寝室联系电话。
② 查询住宿表信息
l 功能:可以找到属于该寝室的相关学生学号。
③ 查询学生信息表
l 功能:可以找到相应学生的相关信息,如学号,姓名,性别,所在院校,专业和所在班级的信息。
2.数据字典
表2.1 宿舍管理系统的数据字典
关系名
含义说明
组成
管理员
定义管理员的有关信息
员工号,管理员姓名,性别,联系电话
学生
定义了学生有关信息
学生姓名,学号,性别,
专业,所在班级,所在学院
寝室
定义了寝室有关信息
寝室号,寝室电话,寝室长姓名
管理表
定义了管理员管理寝室有关信息
管理员员工号,寝室号
住宿信息表
定义了学生住宿有关信息
学生学号,寝室号,所要交的住宿费用
。
第三章 概念结构设计
3.1 概念结构设计的方法与步骤
概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。
3.2 数据抽象与局部视图设计
设计实体属性图以及局部E-R图。
学生
学号
姓名
性别
所在学院
专业
班级
图3.1学生实体属性图
管理员
员工号
姓名
性别
联系电话
图3.2管理员实体属性图
寝室
寝室号
寝室长姓名
寝室电话
图3.3寝室实体属性图
住宿
学生
专业
所在学院
班级
学号
姓名
性别
寝室
寝室号
寝室长姓名
寝室电话
住宿费
图3.4学生住宿局部E-R图
管理员
员工号
姓名
联系电话
性别
寝室
寝室号
寝室长姓名
寝室电话
管理
图3.5管理员管理寝室局部E-R图
3.3视图的集成
经过逐步细化再进行每两个一集成初步形成一个E-R图,最后得到图3.4总体概念结构E-R图。
1
M
1
N
住宿
学生
专业
所在学院
班级
学号
姓名
性别
寝室
寝室号
寝室长姓名
寝室电话
住宿费
管理员
员工号
姓名
联系电话
性别
管理
图3.6系统总体结构E-R图
第四章 逻辑结构设计
4.1 E-R图向关系模型的转换
将图3.6总体概念结构E-R图转化成关系模型。将转化的关系模式进行优化,最终达到第三范式。(至少包括5张表,每个表都有主键,设必要的外键。)
学生(学号,姓名,性别,专业,班级,学院)
管理员(员工号,姓名,性别,联系电话)
寝室(寝室号,寝室长,寝室电话)
管理(员工号,寝室号)员工号是外键
住宿(学号,寝室号,住宿费)寝室号是外键
4.2 数据库的结构
给出宿舍管理系统基本表结构图。
USER.STUDENT
Stuno
Stuname
Stusex
Stumajor
Stuclass
depname
varchar
varchar
varchar
varchar
varchar
character
Check Constraint
Stay.staprice>=1200
USER.STAY
Stuno
Rno
Staprice
varchar
varchar
varchar
USER.ROOM
Rno
Rheader
Rphoneno
varchar
varchar
Ater
update
Trigger:chufaqi
varchar
When Manage.rno=’411’
Set manage.rno=’421’
USER.MANAGE
Worno
new
Rno
varchar
varchar
USER.MANAGER
Worno
Worname
Worsex
Worphoneno
varchar
varchar
varchar
varchar
根据总体结构图设计各表的结构,其相应表的定义如下:
表4-1学生信息系统的结构
字段名
数据类型
长度
是否可空
主/外键
描述
STUNO
VARCHAR
12
否
主键
学生学号
STUNAME
VARCHAR
30
是
学生姓名
STUSEX
VARCHAR
20
否
性别
STUMAJOR
VARCHAR
30
是
专业
STUCLASS
VARCHAR
3
否
班级
DEPNAME
CHARACTER
30
是
所在学院
表4-2 管理员系统的结构
字段名
数据类型
长度
是否为空
主/外键
描述
WORNO
VARCHAR
6
否
主键
员工号
WORNAME
VARCHAR
30
否
员工姓名
WORSEX
VARCHAR
10
否
性别
WORPHONENO
VARCHAR
12
是
联系电话
表4-3 宿舍信息表系统的结构
字段名
数据类型
长度
是否为空
主/外键
描述
RNO
VARCHAR
5
否
主键
宿舍号
RHEADER
VARCHAR
30
是
寝室长
RPHONENO
VARCHAR
10
是
寝室电话
表4.4学生住宿系统的结构
字段名
数据类型
长度
是否为空
主/外键
描述
STUNO
VARCHAR
12
否
主键
外键
学号
RNO
VARCHAR
5
是
外键
寝室号
STAPRICE
SMALLINT
是
住宿费
表4.5管理员管理寝室信息表
字段名
数据类型
长度
是否为空
主/外键
描述
WORNO
VARCHAR
5
否
主键
外键
员工号
RNO
VARCHAR
6
否
外键
寝室号
4.3触发器的设计
CREATE TRIGGER "USER".CHUFAQI NO CASCADE BEFORE UPDATE OF RNO ON "USER".MANAGE REFERENCING OLD AS a NEW AS b FOR EACH ROW MODE DB2SQL
WHEN ( a.rno='411' )
BEGIN ATOMIC
set b.rno='421' ;
END
4.4视图的设计
CREATE VIEW STUDENTS STAY
AS
SELECT STUNAME,STUSEX,STUMAJOR,STUCLASS,DEPNAME,RNO,STAPRICE
FROM USER.STUDENT,USER.STAY
WHERE USER.STUDENT.STUNO=USER.STAY.STUNO
4.5约束的设计
CONNECT TO HP02 USER "user";
ALTER TABLE "USER"."STAY" ADD CONSTRAINT CC1326272287859 CHECK (staprice>=1200) ENFORCED ENABLE QUERY OPTIMIZATION ;
CONNECT RESET;
(只显示出“STAY”表中STAPRICE大于等于1200的信息)
第五章 数据库的实施
5.1表空间的建立
Connect to HP02;
CREATE REGULAR TABLESPACE HP01 PAGESIZE 4 K MANAGED BY DATABASE USING ( FILE 'C:\PROGRA~1\IBM\SQLLIB\hp01\hp01' 5120 ) EXTENTSIZE 16 OVERHEAD 12.67 PREFETCHSIZE 16 TRANSFERRATE 0.18 BUFFERPOOL IBMDEFAULTBP DROPPED TABLE RECOVERY ON;
create regular tablespace hp02 managed by database
using (file 'c:\hp\hp02' 14) extentsize 2;
create long tablespace hp03 managed by database using
(file 'c:\ hp\ hp03' 728) extentsize 8;
create regular tablespace hp04
managed by database using (file 'c:\ hp\ hp04'
22)
extentsize 2;
create regular tablespace hp05
managed by database using (file 'c:\ hp\ hp05'
16)
extentsize 2;
create regular tablespace hp06
managed by database using (file 'c:\hp\hp06'
40)
extentsize 4;
create regular tablespace ss01
managed by system using
('c:\sms\sms01','c:\ss\ss02')
extentsize 4;
CONNECT RESET;
5.2 索引的建立
CONNECT TO HP02;
CREATE UNIQUE INDEX "USER".NAME ON "USER".STUDENT (STUNAME ASC) PCTFREE 10 MINPCTUSED 10 ALLOW REVERSE SCANS PAGE SPLIT SYMMETRIC COLLECT SAMPLED DETAILED STATISTICS ;
(唯一索引)
CREATE INDEX "USER".WORKER ON "USER".WORKER (WORNO ASC, WORNAME ASC, WORSEX ASC) CLUSTER PCTFREE 10 ALLOW REVERSE SCANS PAGE SPLIT SYMMETRIC COLLECT SAMPLED DETAILED STATISTICS
CONNECT RESET;
(聚簇索引)
5.3表的建立与数据的载入
图5.1 学生信息表
收录了10名学生的信息,姓名,学号,性别,专业,班级,所在学院。
图5.2寝室信息表
收录了10个寝室的寝室号,寝室长姓名,电话号。
图5.3 管理员管理寝室表
收录了10个寝室所对应的员工号。
图5.4 管理员信息表
收录了10位管理员的员工号,姓名,性别和联系电话。
图5.5 学生住宿表
收录了10位学生所住的寝室寝室号,所需要交的住宿费。
5.4 数据库的运行
1 select stuno,stuname,stusex,stumajor,stuclass
from student
where stuname='Wang meng';
图5.6对查询学生姓名为“Wang meng”的相关信息
2 insert into student
values('0918080202','Huo pei','男','交通工程','02','软件学院')
(将“Huo pei”的相关信息插入到STUDENT表中)
select *
from student
(再对STUDENT表进行查询操作)
图5.7对student表插入数据后进行查询操作
3 update student
set stuname='Wang Shihui',
stusex='女',stumajor='英语',stuclass='08',depname='外语学院'
where stuno='0918080202';
对学号为“0918080202”的学生修改数据)
select *
from student
where stuno='0918080202'
(对修改后的数据进行查询)
图5.8查询结果
4 delete from student
where stuno='0918080202';
(删除学生学号为“0918080202”的学生的相关信息)
select *
from student;
图5.9对删除数据后的STUDENT表查询结果
5 select rno
from manage
where worno='227275';
(查询员工号为“227275”的员工所管理的寝室)
图5.10查询结果
第六章
结束语:
经过连日的开发与研究,学生宿舍管理系统基本完成,其功能基本符合要求,能够完成学生住宿档案。并提供部分系统维护功能,使用户方便进行数据备份和恢复,数据删除,对数据的一致性问题也通过程序进行了有效解决。
THANKS !!!
致力为企业和个人提供合同协议,策划案计划书,学习课件等等
打造全网一站式需求
欢迎您的下载,资料仅供参考
展开阅读全文