1、5.4 数据库的运行 13第一章 绪论1.1课题简介经过三年的学习,我们对计算机方面的知识有了很大的提升,本着理论联系实际的宗旨,通过学校提供的这次课程设计实践的机会,在指导教师的帮助下,历经两周时间,我自行设计一套宿舍管理系统,在下面的各章中,我将以这套宿舍管理系统为例,谈谈其开发过程和所涉及到的问题。1.2设计目的实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识、DB2的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。1
2、.3设计内容选择课题并且对课题的相关信息有一定的了解,对于我选的课题来说,我必须了解宿舍管理系统的构造以及管理员的信息还有学生的相关信息。将这些信息输入到数据库中,使之能够进行查询、修改、删除。在需求分析阶段,需要完成宿舍管理系统的具体分类和实施过程流图。概念设计阶段要完成数据抽象与局部视图设计以及视图的集成。逻辑结构设计阶段要把E-R图转化为关系模式。最后是数据库的实施和运行。第二章 需求分析2.1 需求分析的任务调查宿舍管理系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。最重要的是调查、收集信息、分析管理员信息和学生住宿信息。处理要求、数
3、据的安全性与完整性要求。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求管理层的界面要简单明了,易于操作,服务器程序利于维护。2.2 需求分析的过程学校为方便管理学生住宿问题,需开发一个宿舍管理系统。为便于查找到相应的寝室和寝室内学生的信息,管理员把学生的信息,包括学号、姓名、性别、专业、所在班级、所在学院,输入到管理系统中,系统经过查询寝室楼内寝室信息的数据服务器后,为学生安排寝室,并安排寝室长和相应的管理员。系统可方便查询到某个寝室的相关学生信息,也可以查询某个学号的学生所属的寝室,方便管理者查询信息。2.3数据字典与流程图1业务流程分析经过可行性分析和初步需求调查,抽象出该系
4、统业务流程图,结合该实例具体情况,查询学生信息,学生所在寝室信息。图2.1 查询学生所在寝室流程图图2.2 查询寝室内学生信息流程图(1) 查询某学生所在寝室的信息: 查询学生信息表 功能:可以找到该学生的相关信息,如学号,姓名,性别,所在院校,专业和所在班级的信息。 查询住宿表信息可以找到相应学号的学生所在的寝室号。 查询寝室信息表可以找到该生所在寝室的相关信息,如寝室号,寝室长和寝室联系电话。(2) 查询某寝室内所包含的学生信息: 查询寝室信息表可以找到该寝室的相关信息,如如寝室号,寝室长和寝室联系电话。可以找到属于该寝室的相关学生学号。 查询学生信息表可以找到相应学生的相关信息,如学号,
5、姓名,性别,所在院校,专业和所在班级的信息。2数据字典 表2.1 宿舍管理系统的数据字典关系名含义说明组成管理员定义管理员的有关信息员工号,管理员姓名,性别,联系电话学生定义了学生有关信息学生姓名,学号,性别,专业,所在班级,所在学院寝室定义了寝室有关信息寝室号,寝室电话,寝室长姓名管理表定义了管理员管理寝室有关信息管理员员工号,寝室号住宿信息表定义了学生住宿有关信息学生学号,寝室号,所要交的住宿费用第三章 概念结构设计3.1 概念结构设计的方法与步骤概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成
6、一个全局概念模式。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图。图3.6系统总体结构E-R图第四章 逻辑结构设计4.1 E-R图向关系模型的转换将图3.6总体概念结构E-R图转化成关系模型。将转化的关系模式进行优化,最终达到第三范式。(至少包括5张表,每个表都有主键,设必要的外键。)学生(学号,姓名,性别,专业,班级,学院)管理员(员工号,
7、姓名,性别,联系电话)寝室(寝室号,寝室长,寝室电话)管理(员工号,寝室号)员工号是外键住宿(学号,寝室号,住宿费)寝室号是外键4.2 数据库的结构 给出宿舍管理系统基本表结构图。 USER.STUDENTStunoStunameStusexStumajorStuclassdepnamevarcharcharacterCheck ConstraintStay.staprice=1200 USER.STAYRnoStaprice USER.ROOMRheaderRphonenoAterupdateTrigger:chufaqiWhen Manage.rno=411Set manage.rno=4
8、21 USER.MANAGEWornonew USER.MANAGERWornameWorsexWorphoneno根据总体结构图设计各表的结构,其相应表的定义如下:表4-1学生信息系统的结构字段名数据类型长度是否可空主/外键描述STUNOVARCHAR12否主键学生学号STUNAME30是学生姓名STUSEX20性别STUMAJOR专业STUCLASS3班级DEPNAMECHARACTER所在学院表4-2 管理员系统的结构是否为空WORNO6员工号WORNAME员工姓名WORSEX10WORPHONENO联系电话 表4-3 宿舍信息表系统的结构RNO5宿舍号RHEADER寝室长RPHONEN
9、O寝室电话表4.4学生住宿系统的结构外键学号寝室号STAPRICESMALLINT住宿费表4.5管理员管理寝室信息表4.3触发器的设计CREATE TRIGGER USER.CHUFAQI NO CASCADE BEFORE UPDATE OF RNO ON .MANAGE REFERENCING OLD AS a NEW AS b FOR EACH ROW MODE DB2SQL WHEN ( a.rno=411 )BEGIN ATOMICset b.rno=421 ;END4.4视图的设计CREATE VIEW STUDENTS STAYAS SELECT STUNAME,STUSEX,S
10、TUMAJOR,STUCLASS,DEPNAME,RNO,STAPRICEFROM USER.STUDENT,USER.STAYWHERE USER.STUDENT.STUNO=USER.STAY.STUNO4.5约束的设计CONNECT TO HP02 USER user;ALTER TABLE .STAY ADD CONSTRAINT CC1326272287859 CHECK (staprice=1200) ENFORCED ENABLE QUERY OPTIMIZATION ;CONNECT RESET;(只显示出“STAY”表中STAPRICE大于等于1200的信息)第五章 数据库的
11、实施5.1表空间的建立Connect to HP02;CREATE REGULAR TABLESPACE HP01 PAGESIZE 4 K MANAGED BY DATABASE USING ( FILE C:PROGRA1IBMSQLLIBhp01hp01 5120 ) EXTENTSIZE 16 OVERHEAD 12.67 PREFETCHSIZE 16 TRANSFERRATE 0.18 BUFFERPOOL IBMDEFAULTBP DROPPED TABLE RECOVERY ON;create regular tablespace hp02 managed by databas
12、eusing (file c:hphp02 14) extentsize 2;create long tablespace hp03 managed by database using(file hp hp03 728) extentsize 8;create regular tablespace hp04 managed by database using (file hp hp0422) extentsize 2;create regular tablespace hp05 hp hp0516)create regular tablespace hp06hphp0640) extentsi
13、ze 4;create regular tablespace ss01 managed by system using (smssms01,ssss025.2 索引的建立CONNECT TO HP02;CREATE UNIQUE INDEX .NAME ON .STUDENT (STUNAME ASC) PCTFREE 10 MINPCTUSED 10 ALLOW REVERSE SCANS PAGE SPLIT SYMMETRIC COLLECT SAMPLED DETAILED STATISTICS ;(唯一索引)CREATE INDEX .WORKER ON .WORKER (WORNO
14、 ASC, WORNAME ASC, WORSEX ASC) CLUSTER PCTFREE 10 ALLOW REVERSE SCANS PAGE SPLIT SYMMETRIC COLLECT SAMPLED DETAILED STATISTICS(聚簇索引)5.3表的建立与数据的载入 图5.1 学生信息表 收录了10名学生的信息,姓名,学号,性别,专业,班级,所在学院。 图5.2寝室信息表 收录了10个寝室的寝室号,寝室长姓名,电话号。图5.3 管理员管理寝室表 收录了10个寝室所对应的员工号。图5.4 管理员信息表 收录了10位管理员的员工号,姓名,性别和联系电话。图5.5 学生住宿表
15、 收录了10位学生所住的寝室寝室号,所需要交的住宿费。5.4 数据库的运行1 select stuno,stuname,stusex,stumajor,stuclassfrom studentwhere stuname=Wang meng 图5.6对查询学生姓名为“Wang meng”的相关信息2 insert into studentvalues(0918080202Huo pei男交通工程02软件学院(将“Huo pei”的相关信息插入到STUDENT表中)select *(再对STUDENT表进行查询操作)图5.7对student表插入数据后进行查询操作 3 update studentset stuname=Wang Shihui,stusex=女,stumajor=英语,stuclass=08,depname=外语学院where stuno=对学号为“0918080202”的学生修改数据)(对修改后的数据进行查询)图5.8查询结果4 delete from student(删除学生学号为“0918080202”的学生的相关信息)from student;图5.9对删除数据后的STUDENT表查询结果 5 select rnofrom managewhere worno=227275(查询员工号为“227275”的员工所管理的寝室)图5.10查询结果
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1