网吧管理系统数据库课程设计电子教案.docx

上传人:b****7 文档编号:10267247 上传时间:2023-02-09 格式:DOCX 页数:27 大小:172.58KB
下载 相关 举报
网吧管理系统数据库课程设计电子教案.docx_第1页
第1页 / 共27页
网吧管理系统数据库课程设计电子教案.docx_第2页
第2页 / 共27页
网吧管理系统数据库课程设计电子教案.docx_第3页
第3页 / 共27页
网吧管理系统数据库课程设计电子教案.docx_第4页
第4页 / 共27页
网吧管理系统数据库课程设计电子教案.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

网吧管理系统数据库课程设计电子教案.docx

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

网吧管理系统数据库课程设计电子教案.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.3 Check约束

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.1E-R图向关系模型的转换

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

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

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

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

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

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

3.2数据模型的优化

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

1、确定数据依赖

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最终分解成第三范式:

(卡号,用户名,身份证号)(电脑编号,电脑名称,单价)(分区号,电脑编号,分区名称)(网管编号,分区号,网管姓名)(卡号,电脑编号,上机时间,下机时间)

3.3数据库的结构

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

表3.1用户信息系统的结构

字段名

数据类型

长度

约束

描述

Cardnumber

Varchar

10

主键

卡号

Usernumber

Varchar

20

不为空

身份证号

Username

Varchar

30

不为空

用户名

表3.2电脑信息系统的结构

字段名

数据类型

长度

约束

描述

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\MicrosoftSQLServer\MSSQL.1\MSSQL\DATA\网吧管理系统.mdf',SIZE=3072KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB)

LOGON

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

\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\DATA\网吧管理系统_log.ldf',SIZE=1024KB,MAXSIZE=2048GB,FILEGROWTH=10%)

2、建立管理员信息表:

CREATETABLE[dbo].[admin](

[Managernumber][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[Areanumber][varbinary](16)NOTNULL,

[Managername][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,

CONSTRAINT[PK_admin]PRIMARYKEYCLUSTERED

[Managernumber]ASC

)WITH(IGNORE_DUP_KEY=OFF)ON[PRIMARY]

)ON[PRIMARY]

3、建立电脑信息表:

CREATETABLE[dbo].[computer](

[Computernumber][varchar](8)COLLATEChinese_PRC_CI_ASNOTNULL,

[Computername][varchar](30)COLLATEChinese_PRC_CI_ASNOTNULL,

[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,

[Username][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,

[Usernumber][varbinary](30)NOTNULL,

CONSTRAINT[PK_USER]PRIMARYKEYCLUSTERED

[Cardnumber]ASC

)WITH(IGNORE_DUP_KEY=OFF)ON[PRIMARY]

)ON[PRIMARY]

第五章 数据库完整性设计

6.1 主键及唯一性索引

表名

主键

建立唯一性索引

admin

([Managernumber])

createuniqueindexadmin

onadmin(Managernumber)

computer

([Computernumber])

createuniqueindexcomputer

oncomputer([Computernumber])

fenqu

([Areanumber])

createuniqueindexfenqu

onfenqu([Areanumber])

user

([Cardnumber])

createuniqueindexuser

onuser([Cardnumber])

expense

([Cardnumber],[Computernumber])

createuniqueindexexpense

onexpense([Cardnumber],[Computernumber])

5.2参照完整性设计

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

altertablefenquaddforeignkey([Computernumber])referencescomputer([Computernumber])

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

altertableadminaddforeignkey(Areanumber)referencesfenqu(Areanumber)

 

5.3 Check约束

用户信息表中将卡号进行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

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

USE网吧管理系统

GO

createtriggertable_delete

onDATABase

AFTERDROP_TABLE

AS

PRINT'不能删除表'

rollbacktransaction

 

3.

 

第6章数据库视图设计

1.建立用户信息视图:

CREATEVIEW[dbo].[用户信息]

AS

SELECTdbo.[user].*,[Cardnumber]ASExpr1,[Username]ASExpr2,[Usernumber]ASExpr3

FROMdbo.[user]

GO

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

CREATEVIEW[dbo].[管理员信息]

AS

SELECTdbo.admin.*,[Managernumber]ASExpr1,[Areanumber]ASExpr2,[Managername]ASExpr3

FROMdbo.admin

GO

3.建立电脑信息视图:

CREATEVIEW[dbo].[电脑信息]

AS

SELECTputer.*,[Computername]ASExpr1,[Computernumber]ASExpr2,priceASExpr3

FROMputer

GO

4.建立分区信息视图:

CREATEVIEW[dbo].[分区信息]

AS

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

FROMdbo.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

SELECTputer.price,puter.[Computernumber],dbo.fenqu.[Areanumber],puter.[Computername],dbo.fenqu.[Areaname]

FROMdbo.fenquINNERJOIN

puterONdbo.fenqu.[Computernumber]=puter.[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

insertintocomputer

values(

@[Managernumber],@[Areanumber],@[Managername]

END

GO

 

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

USE网吧管理系统

GO

createprocedurecomputeradd

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

AS

BEGIN

INSERTINTOCOMPUTER

VALUES(

@[Computernumber],@[Computername],price

END

RETURN

GO

第8章权限设计

.角色及权限的分配

按照SQLServer2008里固定的角色分配

根管理员:

db_owner

总结

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

当前位置:首页 > 成人教育 > 电大

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1