当前位置:文档之家› 网吧管理系统数据库课程设计解析

网吧管理系统数据库课程设计解析

大型数据库课程设计设计报告题目:网吧管理系统数据库学号:学生姓名: 指导教师:提交时间: 2013-11-23第1章需求分析1.1需求分析任务1.2 需求分析过程1.3 数据字典和流程图1.4 系统功能分析第2章概念结构设计2.1 概念结构设计的方法与步骤2.2 数据抽象与局部视图设计2.3 视图的集成第3章逻辑结构设计3.1 E-R图向关系模型的转换3.2 数据模型的优化3.3 数据库的结构3.4 数据库关系图第4章数据库物理结构设计第5章数据库完整性设计5.1主键及唯一性索引5.2 参照完整性设计5.3Check约束5.5 触发器设计第6章数据库视图设计第7章数据库存储过程设计第8章权限设计总结参考文献第一章需求分析1.1 需求分析的任务调查网吧管理系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。

最重要的是调查、收集信息、分析用户信息和上网流程。

处理要求、数据的安全性与完整性要求。

1.2 需求分析的过程网吧管理人员为方便用户,需开发一个网吧管理系统。

为便于用户安全,快速的上网,网吧把用户信息,包括姓名、身份证号、卡号、上机时间、通过此次数据库的课程设计,进一步将理论与实际相结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对灵据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,能将SQL语言很好的运用,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的图书馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。

虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,不管怎么说,对这次做的课程设计自己觉得还算满意。

下机时间、级别等信息,输入网吧管理系统的客户端程序,系统经过查询网吧内电脑信息数据服务器后,为用户安排电脑。

在用户运行电脑期间,系统自动为用户计时,并根据不同用户的不同级别给出相应的单价,提示用户该缴纳的费用。

同时系统还给每个电脑分配电脑的网管进行电脑的维护,方便用户上网。

1.3数据字典与流程图调查用户需求1.普通用户管理需求功能:为每个上网用户登记信息,分配账号,有效而且安全的管理用户的信息。

2.费用管理需求交费功能:交费,上机时间,下机时间 3. 电脑管理需求管理查询功能:查询电脑编号,并且查看各个编号的电脑型号 4. 网管管理需求查询功能:网管编号,网管姓名,分区号 1.4系统功能分析在调查完了用户需求之后,就要开始分析用户需求。

在此,我们采用自顶向下的结构化分析方法。

首先,定义全局概念结构的框架,如图2.2所示。

图1.1网吧管理系统总框架图各子系统需要进一步细化。

旅客信息系统为例进一步细化,如图2.3所示。

图1.2用户信息系统细化以其中的查询用户信息功能为例进一步细化,如图2.4所示。

图1.3查询用户信息功能图1.4电脑信息系统细化图1.5费用信息系统细化图1.6分区信息系统细化图1.7网管信息系统细化将所有子系统全部细化。

将所有用户需求分析完毕之后,就要开始构造数据字典了。

经分析之后,本系统要用到五个基本表:用户信息表,电脑信息表,费用信息表,分区信息表,网管信息表。

数据结构定义如表2.1。

表1.8 数据结构定义第二章概念结构设计2.1 概念结构设计的方法与步骤2.1.1 概念结构设计的方法概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。

对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。

2.1.2 概念结构设计的步骤第一步是进行局部视图的设计:由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成。

因此我们先逐一的设计分E-R图。

第二步是进行视图的集成:各子系统的E-R图设计好之后,下一步就是要将所有的分E-R图合成一个系统的总E-R图,一般有两个方式,多个分E-R图一次集成,另一种是一次集成两个分E-R图。

我想采用一次集成两个分E-R图的方式。

2.2 数据抽象与局部视图设计按照图2.2系统总框架图,设计实体属性图以及局部E-R图。

图2.1用户信息实体属性图图2.2费用实体属性图图2.3电脑实体属性图图2.4分区实体属性图图2.5网管实体属性图图2.6用户花费局部E-R图图2.7用户使用电脑局部E-R图图2.8电脑所属分区局部E-R图图2.9网管管理电脑局部E-R图2.3视图的集成经过逐步细化再进行每两个一集成初步形成一个E-R图,最后得到图3.4总体概念结构E-R图。

图2.10系统总体结构E-R图第三章逻辑结构设计3.1 E-R图向关系模型的转换将图3.10总体概念结构E-R图转化成关系模型。

用户信息表(卡号,身份证号,用户名)电脑信息表(电脑编号,电脑名称,单价)费用信息表(卡号,电脑编号,上机时间,下机时间)分区信息表(分区号,电脑编号,分区名称)网管信息表(网管编号,分区号,网管姓名)3.2 数据模型的优化将转化的关系模式进行优化,最终达到第三范式。

1、确定数据依赖用户信息表(卡号,身份证号,用户名)根据这个关系写出数据依赖卡号→用户名,卡号→身份证号电脑信息表(电脑编号,电脑名称,单价)电脑编号→电脑名称,电脑编号→单价费用信息表(卡号,电脑编号,上机时间,下机时间)(卡号,电脑编号)→上机时间,(卡号,电脑编号)→下机时间分区信息表(分区号,电脑编号,分区名称)分区号→电脑编号,分区号→分区名称,网管信息表(网管编号,分区号,网管姓名)网管编号→分区号,网管编号→网管姓名2、对各关系模式间数据依赖进行极小化处理,消除冗余卡号→用户名,卡号→身份证号,电脑编号→电脑名称电脑编号→单价,(卡号,电脑编号)→上机时间,(卡号,电脑编号)→下机时间分区号→电脑编号,分区号→分区名称,网管编号→分区号,网管编号→网管姓名3、看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解最终分解成第三范式:(卡号,用户名,身份证号)(电脑编号,电脑名称,单价)(分区号,电脑编号,分区名称)(网管编号,分区号,网管姓名)(卡号,电脑编号,上机时间,下机时间)3.3 数据库的结构根据总体结构图设计各表的结构,其相应标的定义如下:表3.1用户信息系统的结构表3.2 电脑信息系统的结构表3.3 费用信息表系统的结构表3.4分区信息表系统的结构表3.5网管信息表系统结构3.4 数据库关系图:第四章数据库物理设计4.1实现该设计的环境为Windows XP Professional + MS SQL Server 2005 或以上版本。

1、建立网吧管理系统数据库:CREATE DATABASE [网吧管理系统] ON PRIMARY(NAME= N'网吧管理系统',FILENAME= N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\网吧管理系统.mdf',SIZE= 3072KB ,MAXSIZE= UNLIMITED,FILEGROWTH= 1024KB )LOG ON(NAME= N'网吧管理系统_log',FILENAME= N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\网吧管理系统_log.ldf',SIZE=1024KB ,MAXSIZE =2048GB,FILEGROWTH=10%)2、建立管理员信息表:CREATE TABLE [dbo].[admin]([Manager number] [varchar](10)COLLATE Chinese_PRC_CI_AS NOT NULL, [Area number] [varbinary](16)NOT NULL,[Manager name] [varchar](20)COLLATE Chinese_PRC_CI_AS NOT NULL, CONSTRAINT [PK_admin] PRIMARY KEY CLUSTERED([Manager number] ASC)WITH(IGNORE_DUP_KEY =OFF)ON [PRIMARY])ON [PRIMARY]3、建立电脑信息表:CREATE TABLE [dbo].[computer]([Computer number] [varchar](8)COLLATE Chinese_PRC_CI_AS NOT NULL, [Computer name] [varchar](30)COLLATE Chinese_PRC_CI_AS NOT NULL, [price] [money] NOT NULL,CONSTRAINT [PK_computer] PRIMARY KEY CLUSTERED([Computer number] ASC)WITH(IGNORE_DUP_KEY =OFF)ON [PRIMARY])ON [PRIMARY]4、建立消费表:CREATE TABLE [dbo].[expence]([Card number] [char](16)COLLATE Chinese_PRC_CI_AS NOT NULL, [Computer number] [varchar](12)COLLATE Chinese_PRC_CI_AS NOT NULL, [[start time] [datetime] NOT NULL,[end time] [datetime] NOT NULL,CONSTRAINT [PK_expence] PRIMARY KEY CLUSTERED([Card number] ASC)WITH(IGNORE_DUP_KEY =OFF)ON [PRIMARY])ON [PRIMARY]5、建立分区表:CREATE TABLE [dbo].[fenqu]([Area number] [varchar](8)COLLATE Chinese_PRC_CI_AS NOT NULL, [Computer number] [varchar](16)COLLATE Chinese_PRC_CI_AS NOT NULL, [Area name] [varchar](50)COLLATE Chinese_PRC_CI_AS NOT NULL, CONSTRAINT [PK_member] PRIMARY KEY CLUSTERED([Area number] ASC)WITH(IGNORE_DUP_KEY =OFF)ON [PRIMARY])ON [PRIMARY]6. 建立用户表:CREATE TABLE [dbo].[USER]([Card number] [varchar](10)COLLATE Chinese_PRC_CI_AS NOT NULL,[User name] [varchar](20)COLLATE Chinese_PRC_CI_AS NOT NULL,[User number] [varbinary](30)NOT NULL,CONSTRAINT [PK_USER] PRIMARY KEY CLUSTERED([Card number] ASC)WITH(IGNORE_DUP_KEY =OFF)ON [PRIMARY])ON[PRIMARY]第五章数据库完整性设计6.1 主键及唯一性索引5.2参照完整性设计1、分区信息表中将属性电脑号设计为外键alter table fenqu add foreign key ([Computer number]) references computer ([Computer number])2、网管信息表中将属性分区号设计为外键alter table admin add foreign key (Area number) references fenqu (Area number)5.3 Check约束用户信息表中将卡号进行check约束:check ([Card number]< 90)因为现今网吧只有90台电脑,。

相关主题