《大连交大数据库网吧管理系统说明书.doc》由会员分享,可在线阅读,更多相关《大连交大数据库网吧管理系统说明书.doc(19页珍藏版)》请在三一办公上搜索。
1、摘 要当人们收集了大量的数据后,应该把它们保存起来做进一步的处理和信息的抽取。当年人们把数据存放在文件柜中,可现在随着社会的发展,数据量急剧增长,现在人们就借助计算机和数据库技术来科学地保存大量的数据,以便能更好的利用这些数据资源。暴风网吧管理系统是为暴风网吧工作人员和客户提供的管理系统,以实现暴风网吧管理的自动化,本课题的目的是为了巩固数据库原理与应用课程中所学的知识,体现理论指导实践的原则,为机票预订系统设计后台数据库,通过需求分析,概念设计,逻辑设计,物理设计及数据库的实施和运行等阶段,体现数据库设计的全过程。关键词:SQL SERVER;数据库设计;暴风网吧管理系统目录第一章 绪论11
2、.1课题简介11.2设计目的11.3设计内容1第二章 需求分析22.1 需求分析的任务22.2 需求分析的过程22.3数据字典与流程图2第三章 概念结构设计53.1 概念结构设计的方法与步骤53.2 数据抽象与局部视图设计53.3视图的集成6第四章 逻辑结构设计74.1 E-R图向关系模型的转换74.2 基本表结构7第五章 数据库的实现95.1数据库的建立95.2 数据库基本结构的建立95.3安全性的实现95.4完整性的实现105.5恢复技术的实现10第六章 运行与结果116.1简单查询和连接查询116.2嵌套查询116.3统计查询11第一章 绪论1.1课题简介经过三年的学习,我们对计算机方面
3、的知识有了很大的提升,本着理论联系实际的宗旨,通过学校提供的这次课程设计实践的机会,在指导教师的帮助下,历经两周时间,我自行设计一套暴风网吧管理系统,在下面的各章中,我将以这套暴风网吧管理系统为例,谈谈其开发过程和所涉及到的问题。1.2设计目的实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识、SQL SERVER的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。1.3设计内容选择课题并且对课题的相关信息有一定的了解,对于我选
4、的课题来说,我必须了解暴风网吧管理系统的构造以及用户的信息还有网吧内电脑的相关信息。将这些信息输入到数据库中,使之能够进行查询、修改、删除并且与暴风网吧系统执行相同的操作。在需求分析阶段,需要完成暴风网吧系统的具体分类和实施过程流图。概念设计阶段要完成数据抽象与局部视图设计以及视图的集成。逻辑结构设计阶段要把E-R图转化为关系模式。最后是数据库的实施和运行。第二章 需求分析2.1 需求分析的任务调查机票预定系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。最重要的是调查、收集信息、分析购票人信息和飞机预定流程。处理要求、数据的安全性与完整性要求
5、。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。2.2 需求分析的过程暴风网吧管理人员为方便用户,需开发一个网吧管理系统。为便于用户安全,快速的上网,网吧把用户信息,包括姓名、身份证号、卡号、上机时间、下机时间、级别等信息,输入暴风网吧管理系统的客户端程序,系统经过查询网吧内的电脑信息数据服务器后,为用户安排电脑。在用户运行电脑期间,系统自动为用户计时,并根据不同用户的不同级别给出相应的不同级别给出相应的单价,提示用户改缴纳的费用。同时系统还给每个电脑分配电脑的网管进行电脑的维护,方便用户上网。通过此次数据库的课程设计,进一步
6、将理论与实际相结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统知识积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,能将SQL语言很好的运用,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主键与外键的定义,约束项的设置,要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。1业务流程分析经过可行性分析和初步需求调查,抽象出该
7、系统业务流程图,结合该实例具体情况,给出旅客信息、订票信息和取票通知的具体需求。用户去网吧上网在收银台登记信息输入卡号登陆电脑网管管理维护电脑上网结束产生费用 图2.1 用户上网流程图 调查用户需求 用户管理需求 功能:为每个上网用户登记信息,分配卡号,有效而且安全的管理用户的信息。 统计功能: 按上网电脑统计用户人数 按卡号查找出用户名和级别 费用管理需求l 交费功能:u 交费u 上机时间,下机时间 电脑管理需求l 管理查询功能:l 查询不同电脑编号的不同名称及其单价并加以管理 网管管理需求l 查询功能:u 网管编号u 网管姓名u 网管性别u 网管年龄2系统模块分析在调查完了用户需求之后,就
8、要开始分析用户需求。在此,我们采用自顶向下的结构化分析方法(SA方法)。首先,定义全局概念结构的框架,如图2.2所示。 网吧管理系统用户信息系统电脑信息系统费用信息系统分区信息系统网管信息系统 图2.2暴风网吧管理系统总框架图 各子系统需要进一步细化。用户信息系统为例进一步细化,如图2.3所示。 用户信息系统统计人数查询用户信息 图2.3用户信息系统细化以其中的查询用户信息功能为例进一步细化,如图2.4所示。 查询用户信息查询卡号查询身份证号查询用户名查询级别图2.4查询用户信息功能 电脑信息系统查询电脑编号查询电脑名称查询单价图2.5电脑信息系统细化 费用信息系统查询卡号查询电脑编号查询上机
9、时间查询下机时间 图2.6费用信息系统细化 分区信息系统查询分区号查询电脑编号查询分区名称 图2.7分区信息系统细化 网管信息系统查询网管编号查询分区号查询网管姓名 图2.8网管信息系统细化3数据字典将所有子系统全部细化。将所有用户需求分析完毕之后,就要开始构造数据字典了。经分析之后,本系统要用到六个基本表:管理员表,分区表,计算机表,用户表,费用表,选择表。数据结构定义如表2.1所示。 数据结构名 含义说明 组成管理员定义了网管有关信息管理员编号、名字、性别、年龄分区定义了计算机分区有关信息分区号、分区名、管理员编号计算机定义了计算机有关信息计算机编号、计算机名、单价、分区号用户定义了用户的
10、有关信息用户编号、用户名、级别、计算机编号、身份证号费用定义了上网费用等有关信息费用编号、上机时间、下机时间、计算机编号、费用选择定义了用户与分区联系相关信息用户编号、分区号表2.1 数据结构定义第三章 概念结构设计3.1 概念结构设计的方法与步骤概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。3.2 数据抽象与局部视图设计按照图2.2暴风网吧管理系统总框架图,设计实体属性图以及局部E-R图。性别姓名管理员编号年龄 管理员 图3.1管理员信息实体图计算机编号用户卡号身份证号用户名级
11、别 图3.2用户实体属性费用 费用卡号电脑编号上机时间下机时间图3.3 费用实体属性图计算机编号计算机名称单价 计算机分区号图3.4计算机实体属性图 分区分区号电脑编号分区名称 图3.5分区实体属性图费用计算机编号 用户费用花费卡号身份证号用户名级别电脑编号上机时间下机时间卡号11 图3.6用户花费局部E-R图 分区号计算机编号用户电脑使用卡号身份证号用户名级别电脑编号电脑名称单价11 图3.7用户使用计算机局部E-R图分区号计算机分区所属计算机编号计算机名称单价计算机编号分区名称分区号m11 年龄 图3.8计算及所属分区局部E-R图分区管理员管理电脑编号分区名称分区号网管编号性别网管姓名11
12、年龄 图3.9管理员管理计算机局部E-R图3.3视图的集成 经过逐步细化再进行每两个一集成初步形成一个E-R图,最后得到图3.4总体概念结构E-R图。nm选择图3.10系统总体结构E-R图第四章 逻辑结构设计4.1 E-R图向关系模型的转换将图3.4总体概念结构E-R图转化成关系模型。将转化的关系模式进行优化,最终达到第三范式。(至少包括4张表,每个表都有主键,设必要的外键。)管理员信息表(管理员编号,管理员姓名,年龄,性别)计算机信息表(计算机编号,计算机名字,单价,分区号)分区信息表(分区号,分区名,管理员编号)用户信息表(用户编号,姓名,级别,计算机编号,身份证号)费用信息表(费用号,上
13、机时间,下机时间,用户编号,费用)选择信息表(用户编号,分区号)外键引用用户表的用户编号,引用分区表的分区编号4.2 基本表结构根据总体结构图设计各表的结构,其相应表的定义如下:表4-1管理员表的结构字段名数据类型长度是否为空主/外键 描述MIDvarchar20否主键管理员编号MNamevarchar20否管理员姓名Msexvarchar2否性别Magevarchar10否年龄 表4-2 分区表的结构字段名数据类型长度是否为空主/外键描述 AIDvarchar20否主键分区号 ANamevarchar30否分区名 MIDvarchar20否外键管理员编号表4-3计算机表的结构字段名数据类型长
14、度是否为空主/外键描述 PCIDvarchar20否主键计算机编号PCNamevarchar20否计算机名Pricevarchar12否单价 AIDvarchar20否外键分区号表4.4用户表的结构字段名数据类型长度是否为空主/外键描述 CIDvarchar20否主键用户编号 CNamevarchar20否用户名 CLevelvarchar5否级别 PCIDvarchar20否外键计算机编号 IDvarchar20身份证号表4-5费用表的结构字段名数据类型长度是否为空主/外键描述 FIDvarchar20否主键计算机编号Online Timevarchar14否计算机名Offline Time
15、varchar14否单价 CIDvarchar20否外键分区号 fee decimal(10,2)否费用 表4.5 选择表的结构字段名数据类型长度是否为空主/外键描述 CIDvarchar20否主键外键用户编号 AIDvarchar20否外键分区号 第五章 数据库的实现5.1数据库的建立写出相关的SQL语句。5.2 数据库基本结构的建立1、基本表的建立create table 管理员表 (MID varchar(20) primary key, MName varchar(20) not null,Msex varchar(2) not null,Mage varchar(10) not nu
16、ll)2、 添加数据insert into 管理员表values(M1,花花,男,24) insert into 分区表values(A1,一号区,M1)insert into 计算机表values(PC1,宏碁,3780,A1) insert into 用户表values(C1,金圣圭,A,PC1,210211198904281234)insert into 费用表values(F1,15:30,20:00,C1,10) insert into 选择表values(C1,A1)3、 视图的建立create view V_PC1. as .select CID,CName,CLevel,ID.
17、from 用户表 .where PCID=PC1with check option4、 索引的建立create clustered index 级别 on 用户表(CID asc,CLevel desc) create unique index 级别on 用户表(CID asc,CLevel desc)5、 游标的建立declare PC_Cursor scroll cursor for select * from 用户表 where PCID=PC3open PC_Cursor fetch absolute 2 from PC_Cursor update 用户表 set CLevel=Ewh
18、ere current of PC_Cursor6、存储过程的建立4create procedure 费用 用户表_Name varchar(20) as select CName,ID,feefrom 用户表join 费用表on 用户表.CID=费用表.CID and CName=用户表_Name7、 触发器的建立(1)create trigger del_count (2)create trigger limited1on 用户表 on 计算机表for delete for update,delete As asdeclare count varchar(20) print 不允许对计算机
19、表进行修改select count=str(rowcount)+个用户被删除select count5.3安全性的实现1、 利用图形化工具系统用户:baekSQL SERVER用户:baek 角色名:BAEKPCbaek数据库用户:FY2、利用Transact-SQLexec sp_addlogin baek,000000,FY0306,简体中文exec sp_grantdbaccess baek,kyuexec sp_addrolemember db_ddladmin,kyuq5.4完整性的实现1、 UNIQUE约束 Alter table 用户表 add constraint WY_ID
20、unique (ID,CName)2、 CHECK约束 alter table 用户 add constraint JC_ID check(LEN(ID)=18 and patindex(%0-9%,ID)=0)3、DEFAULT约束 alter table 用户 add constraint DF_CLevel default 1 for CLevel4、 NOT NULL约束 CName varchar(20) not null5.5恢复技术的实现完成所有数据的设计工作后,备份数据库,写出备份文件存放位置和文件名。C:Program FilesMicrosoft SQL ServerMSS
21、QL.1MSSQLBackupFY0306.bak 第六章 运行与结果6.1简单查询和连接查询1、简单查询 select MName,Msex select CName,ID from 管理员表 from 用户表 where PCID=PC2 图6.1管理员 图6.2使用PC2用户 2、 连接查询select 用户表.*,费用表.* from 用户表inner join 费用表 on 用户表.CID=费用表.CID 图6.3用户及费用select 用户表.CName,分区表.AName,费用表.fee from 用户表join 费用表on 用户表.CID=费用表.CID and fee=10
22、join 选择表on 费用表.CID=选择表.CIDjoin 分区表on 选择表.AID=分区表.AID 图6.4超10元的用户3、 嵌套查询select CID,CName,CLevel 2、 select PCName,Pricefrom 用户表 from 计算机表where PCID in where AID in(select PCID (select AID from 用户表 from 分区表inner join 管理员表where CName=金圣圭) on 分区表.MID=管理员表.MID and 管理员表.MName=小明) 图6.5和金圣圭使用同款计算机的人 图6.6管理员小明所管理 区域使用的计算机4、 统计查询(1)select CLevel as 级别, count (CID) as 人数 (2) select sum(fee) as 收入from 用户表 from 费用表group by CLevelhaving count(CID)=3 图6.7人数在三人已上 图6.8暴风网吧总收入 级别是哪些