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

上传人:b****1 文档编号:14508465 上传时间:2023-06-24 格式:DOCX 页数:30 大小:369.73KB
下载 相关 举报
网吧管理系统数据库课程设计解析.docx_第1页
第1页 / 共30页
网吧管理系统数据库课程设计解析.docx_第2页
第2页 / 共30页
网吧管理系统数据库课程设计解析.docx_第3页
第3页 / 共30页
网吧管理系统数据库课程设计解析.docx_第4页
第4页 / 共30页
网吧管理系统数据库课程设计解析.docx_第5页
第5页 / 共30页
网吧管理系统数据库课程设计解析.docx_第6页
第6页 / 共30页
网吧管理系统数据库课程设计解析.docx_第7页
第7页 / 共30页
网吧管理系统数据库课程设计解析.docx_第8页
第8页 / 共30页
网吧管理系统数据库课程设计解析.docx_第9页
第9页 / 共30页
网吧管理系统数据库课程设计解析.docx_第10页
第10页 / 共30页
网吧管理系统数据库课程设计解析.docx_第11页
第11页 / 共30页
网吧管理系统数据库课程设计解析.docx_第12页
第12页 / 共30页
网吧管理系统数据库课程设计解析.docx_第13页
第13页 / 共30页
网吧管理系统数据库课程设计解析.docx_第14页
第14页 / 共30页
网吧管理系统数据库课程设计解析.docx_第15页
第15页 / 共30页
网吧管理系统数据库课程设计解析.docx_第16页
第16页 / 共30页
网吧管理系统数据库课程设计解析.docx_第17页
第17页 / 共30页
网吧管理系统数据库课程设计解析.docx_第18页
第18页 / 共30页
网吧管理系统数据库课程设计解析.docx_第19页
第19页 / 共30页
网吧管理系统数据库课程设计解析.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《网吧管理系统数据库课程设计解析.docx》由会员分享,可在线阅读,更多相关《网吧管理系统数据库课程设计解析.docx(30页珍藏版)》请在冰点文库上搜索。

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

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

大型数据库课程设计

设计报告

题目:

网吧管理系统数据库

学号:

学生姓名:

指导教师:

提交时间:

2013-11-23

第1章需求分析

1.1需求分析任务

1.2需求分析过程

1.3数据字典和流程图

1.4系统功能分析

第2章概念结构设计

2.1概念结构设计的方法与步骤

2.2数据抽象与局部视图设计

2.3视图的集成

第3章逻辑结构设计

3.1E-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.3查询用户信息功能

1.4电脑信息系统细化

1.5费用信息系统细化

 

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网管实体属性图

 

卡号身份证号

级别用户

1

花费

1

卡号

费用

电脑编号

上机时间

图2.6用户花费局部

卡号身份证号

级别用户

1

使用

1

电脑

单价电脑名称

用户名

下机时间

E-R图

用户名

电脑编号

 

电脑编号

电脑

m

所属

1

分区号

分区

图2.8电脑所属分区局部

分区号

分区

1

管理

1

网管

网管编号

分区号

电脑名称

单价

电脑编号

分区名称

E-R图

电脑编号

分区名称

网管姓名

 

2.3视图的集成

经过逐步细化再进行每两个一集成初步形成一个E-R图,最后得到图3.4总体概念结构

E-R图。

图2.10系统总体结构E-R图

第三章逻辑结构设计

 

将图3.10总体概念结构E-R图转化成关系模型。

用户信息表(卡号,身份证号,用户名)

电脑信息表(电脑编号,电脑名称,单价)

费用信息表(卡号,电脑编号,上机时间,下机时间)

分区信息表(分区号,电脑编号,分区名称)

网管信息表(网管编号,分区号,网管姓名)

3.2数据模型的优化

将转化的关系模式进行优化,最终达到第三范式。

1、确定数据依赖

用户信息表(卡号,身份证号,用户名)根据这个关系写出数据依赖

卡号→用户名,卡号→身份证号

电脑信息表(电脑编号,电脑名称,单价)

电脑编号→电脑名称,电脑编号→单价

费用信息表(卡号,电脑编号,上机时间,下机时间)

(卡号,电脑编号)→上机时间,(卡号,电脑编号)→下机时间

分区信息表(分区号,电脑编号,分区名称)

分区号→电脑编号,分区号→分区名称,

网管信息表(网管编号,分区号,网管姓名)

网管编号→分区号,网管编号→网管姓名

2、对各关系模式间数据依赖进行极小化处理,消除冗余

卡号→用户名,卡号→身份证号,电脑编号→电脑名称

电脑编号→单价,(卡号,电脑编号)→上机时间,(卡号,电脑编号)→下

机时间

分区号→电脑编号,分区号→分区名称,网管编号→分区号,网管编号→网

管姓名

3、看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解

最终分解成第三范式:

(卡号,用户名,身份证号)(电脑编号,电脑名称,单价)(分区号,电脑

编号,分区名称)(网管编号,分区号,网管姓名)(卡号,电脑编号,上机时间,

下机时间)

3.3数据库的结构

根据总体结构图设计各表的结构,其相应标的定义如下:

表3.1用户信息系统的结构

字段名

数据类型

长度

约束

描述

Cardnumber

Varchar

10

主键

卡号

Usernumber

Varchar

20

不为空

身份证号

Username

Varchar

30

不为空

用户名

字段名

数据类型

长度

约束

描述

Computernumber

Varchar

10

主键

电脑编号

Computername

Varchar

30

不为空

电脑名称

Price

Varchar

20

不为空

单价

表3.3费用信息表系统的结构

 

字段名数据类型

数据类型

长度

约束

描述

Cardnumber

Varchar

10

主键

卡号

Computernumber

Varchar

10

不为空

电脑编号

starttime

Varchar

20

可为空

上机时间

endtime

Varchar

20

可为空

下机时间

 

表3.4分区信息表系统的结构

字段名

数据类型

长度

约束

描述

Areanumber

Varchar

10

主键

分区号

Computernumber

Varchar

10

外键

电脑编号

Areaname

Varchar

30

不为空

分区名称

 

表3.5网管信息表系统结构

字段名

数据类型

长度

约束

描述

Managernumber

Varchar

10

主键

网管编号

Areanumber

Varchar

10

外键

分区号

Managername

Varchar

30

不为空

网管名字

3.4数据库关系图:

第四章数据库物理设计

4.1实现该设计的环境为WindowsXPProfessional+MSSQLServer2005或以上版本。

1、建立网吧管理系统数据库:

CREATEDATABASE[网吧管理系统]ONPRIMARY

(NAME=N'网吧管理系统',FILENAME=N'C:

\ProgramFiles\MicrosoftSQL

网吧管理系统.mdf',SIZE=3072KB,MAXSIZE=

UNLIMITED,FILEGROWTH=1024KB)

LOGON

(NAME=N'网吧管理系统_log',FILENAME=N'C:

\ProgramFiles\MicrosoftSQL

网吧管理系统_log.ldf',SIZE=1024KB,MAXSIZE

=2048GB,FILEGROWTH=10%)

2、建立管理员信息表:

CREATETABLE[dbo].[admin](

[Managernumber][varchar]

[Areanumber][varbinary]

[Managername][varchar]CONSTRAINT[PK_admin]

[Managernumber]

(10)COLLATEChinese_PRC_CI_AS

(16)NOTNULL,

(20)COLLATEChinese_PRC_CI_ASPRIMARYKEYCLUSTERED

ASC

NOTNULL,

NOTNULL,

)WITH(IGNORE_DUP_KEY=OFF)ON[PRIMARY]

)ON[PRIMARY]

3、建立电脑信息表:

CREATETABLE[dbo].[computer](

[Computernumber][varchar](8)COLLATEChinese_PRC_CI_AS

[Computername][varchar](30)COLLATEChinese_PRC_CI_AS

NOTNULL,

NOTNULL,

[price][money]NOTNULL,

CONSTRAINT[PK_computer]PRIMARYKEYCLUSTERED

[Computernumber]ASC

)WITH(IGNORE_DUP_KEY=OFF)ON[PRIMARY]

)ON[PRIMARY]

4、建立消费表:

CREATETABLE[dbo].[expence](

[Cardnumber][char](16)COLLATEChinese_PRC_CI_ASNOTNULL,

[Computernumber][varchar](12)COLLATEChinese_PRC_CI_ASNOTNULL,

[[starttime][datetime]

NOTNULL,

 

[endtime][datetime]NOTNULL,

CONSTRAINT[PK_expence]PRIMARYKEYCLUSTERED

[Cardnumber]ASC

)WITH(IGNORE_DUP_KEY=OFF)ON[PRIMARY]

)ON[PRIMARY]

5、建立分区表:

CREATETABLE[dbo].[fenqu](

[Areanumber][varchar](8)COLLATEChinese_PRC_CI_ASNOTNULL,

[Computernumber][varchar](16)COLLATEChinese_PRC_CI_ASNOTNULL,

[Areaname][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,

CONSTRAINT[PK_member]PRIMARYKEYCLUSTERED

[Areanumber]ASC

)WITH(IGNORE_DUP_KEY=OFF)ON[PRIMARY]

)ON[PRIMARY]

6、建立用户表:

CREATETABLE[dbo].[USER](

[Cardnumber][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

(20)COLLATEChinese_PRC_CI_AS

(30)NOTNULL,

PRIMARYKEYCLUSTERED

)ON[PRIMARY]

第五章数据库完整性设计

6.1主键及唯一性索引

表名

主键

建立唯一性索引

admin

([Managernumber])

createuniqueindexadmin

onadmin(Managernumber)

computer

([Computernumber])

createuniqueindexcomputer

oncomputer([Computernumber])

fenqu

([Areanumber])

createuniqueindexfenquonfenqu([Areanumber])

user

([Cardnumber])

createuniqueindexuseronuser([Cardnumber])

expense

([Cardnumber],

[Computernumber])

createuniqueindexexpense

onexpense([Cardnumber],[Computernumber])

5.2参照完整性设计

1、分区信息表中将属性电脑号设计为外键

altertablefenquaddforeignkey([Computernumber])referencescomputer([Computer

number])

2、网管信息表中将属性分区号设计为外键

altertableadminaddforeignkey(

Areanumber)referencesfenqu(Areanumber)

5.3Check约束

用户信息表中将卡号进行check约束:

check([Cardnumber]<90)因为现今网吧只有90台

电脑,。

5.4触发器设计:

1、在用户信息表中建立删除用户触发器

createtrigger删除用户on用户信息

fordeleteas

declare@卡号varchar(12)

select@卡号=[Cardnumber]fromdeleted

declare@卡号varchar(12)

select@卡号=[Cardnumber]from用户信息

where[Cardnumber]=(select[Cardnumber]from消费信息)

begin

deletefrom用户信息where[Cardnumber]=@卡号

if(@卡号=@卡号)

begin

deletefrom[Cardnumber]where[Cardnumber]=@卡号

deletefrom[Username]where[Cardnumber]@卡号

deletefrom[Usernumber]where[Cardnumber]=@卡号

end

end

5.5建DDL触发器,当删除数据库一个表时,提示“不能删除表”,并会滚是删除表的操作。

USE网吧管理系统

GO

createtriggertable_delete

onDATABase

AFTERDROP_TABLE

AS

PRINT'不能删除表'

rollbacktransaction

3.

1.建立用户信息视图:

CREATEVIEW

AS

SELECTdbo

[Usernumber]

FROMdbo

GO

2.建立管理员信息视图:

CREATEVIEW

AS

SELECTdbo

[Managername]

FROMdbo

GO

3.建立电脑信息视图:

CREATE

VIEW

AS

SELECT

dbo

第6章数据库视图设计

[dbo].[用户信息]

.[user].*,[Cardnumber]

ASExpr3

.[user]

ASExpr1,[Username]

ASExpr2

[dbo].[管理员信息]

.admin.*,[Managernumber]ASExpr1,[Areanumber]

ASExpr3

.admin

[dbo].[电脑信息]

ASExpr2,

Expr2,FROM

price

dbo

.computer.*,[Computername]ASExpr1,[Computer

ASExpr3

.computer

number]AS

GO

4.建立分区信息视图:

CREATEVIEW

AS

[dbo].[分区信息]

SELECTdbo

[Areaname]

FROMdbo

.fenqu.*,[Areanumber]ASExpr1,[Computernumber]ASExpr2,ASExpr3

.fenqu

GO

 

5.建立查看还在上网人信息视图:

CREATEVIEW[dbo].[查看还在上网的人信息]

AS

SELECTdbo.[user].[Cardnumber]ASExpr1,dbo.[user].[Username],dbo.[user].[Usernumber],dbo.expense.[starttime],dbo.expense.[Computernumber]FROMdbo.[user]INNERJOIN

dbo.expenseONdbo.[user].[Cardnumber]=

dbo.expense.[Cardnumber]

WHERE(dbo.expense.[endtime]ISNULL)

GO

5.建立查看00区电脑信息视图:

CREATEVIEW[dbo].[查看分区的电脑信息]

AS

SELECTdbo.computer.price,dbo.computer.[Computernumber],dbo.fenqu.[Areanumber],dbo.computer.[Computername],dbo.fenqu.[Areaname]FROMdbo.fenquINNERJOIN

dbo.computerONdbo.fenqu.[Computernumber]=

dbo.computer.[Computernumber]

WHERE(dbo.fenqu.[Areanumber]='00')

GO

第7章数据库存储过程设计

1、建立增加管理员信息存储过程

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

CREATEPROCEDUREadminadd

@[Managernumber]varchar(10),@[Areanumber]varchar(50),@[Managername]varchar(20))AS

BEGIN

insertintocomputervalues(

@[Managernumber],@[Areanumber],@[Managername])END

GO

1、建立增加电脑信息存储过程

USE网吧管理系统GO

createprocedurecomputeradd(

money

@[Computernumber]varchar(50),@[Computername]varchar(30),@price)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 外语学习 > 英语学习

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2