网吧管理系统数据库课程设计_第1页
网吧管理系统数据库课程设计_第2页
网吧管理系统数据库课程设计_第3页
网吧管理系统数据库课程设计_第4页
网吧管理系统数据库课程设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大型数据库课程设计设计报告题目:网吧管理系统数据库学号:学生姓名:指导教师:提交时间:2013-11-23第1章需求分析1.1 需求分析任务1.2 需求分析过程1.3 数据字典和流程图1.4 系统功能分析第2章概念结构设计5 概念结构设计的方法与步骤5 数据抽象与局部视图设计5 视图的集成第3章逻辑结构设计4.1 E-R图向关系模型的转换4.2 数据模型的优化4.3 数据库的结构4.4 数据库关系图第4章数据库物理结构设计第5章数据库完整性设计主键及唯一性索引参照完整性设计Check约束触发器设计第6章数据库视图设计第7章数据库存储过程设计第8章权限设计总结参考文献第一章需求分析需求分析的任务

2、调查网吧管理系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。最重要的是调查、收集信息、分析用户信息和上网流程。处理要求、数据的安全性与完整性要求。需求分析的过程网吧管理人员为方便用户,需开发一个网吧管理系统。为便于用户安全,快速的上网,网吧把用户信息,包括姓名、身份证号、卡号、上机时间、通过此次数据库的课程设计,进一步将理论与实际相结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对灵据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,

3、懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,能将SQL语言很好的运用,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的图书馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,不管怎么说,对这次做的课程设计自己觉得还算满意。下机时间、级别等信息,输入网吧管

4、理系统的客户端程序,系统经过查询网吧内电脑信息数据服务器后,为用户安排电脑。在用户运行电脑期间,系统自动为用户计时,并根据不同用户的不同级别给出相应的单价,提示用户该缴纳的费用。同时系统还给每个电脑分配电脑的网管进行电脑的维护,方便用户上网。数据字典与流程图调查用户需求.普通用户管理需求功能:为每个上网用户登记信息,分配账号,有效而且安全的管理用户的信息。.费用管理需求交费功能:交费,上机时间,下机时间.电脑管理需求管理查询功能:查询电脑编号,并且查看各个编号的电脑型号.网管管理需求查询功能:网管编号,网管姓名,分区号1.4系统功能分析在调查完了用户需求之后,就要开始分析用户需求。在此,我们采

5、用自顶向下的结构化分析方法。首先,定义全局概念结构的框架,如图2.2所示。图1.1网吧管理系统总框架图各子系统需要进一步细化。旅客信息系统为例进一步细化,如图2.3所示。图1.2用户信息系统细化以其中的查询用户信息功能为例进一步细化,如图2.4所示。图1.3查询用户信息功能图1.4电脑信息系统细化图1.5费用信息系统细化网管信息系统图1.7网管信息系统细化将所有子系统全部细化。将所有用户需求分析完毕之后,就要开始构造数据字典了。经分析之后,本系统要用到五个基本表:用户信息表,电脑信息表,费用信息表,分区信息表,网管信息表。数据结构定义如表2.1。表1.8数据结构定义数据结构名含义说明组成用户信

6、息定义了用户的有关信息卡号,身份证号,用户名,级别电脑信息定义了电脑有关信息电脑编号,电脑名称,单价费用信息表定义了上网费用的有美信息卡号,电脑编号,上机时间,下机时间分区信息表定义了电脑分区的有美信息分区号,电脑编号,分区名称网管信息表定义了网管有美信息网管编号,分区号,网管姓名第二章概念结构设计概念结构设计的方法与步骤概念结构设计的方法概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。概念结构设计的步骤第一步是进行局部视图的设计:由于高层的数据流图只能反映系统的概貌,而中层流图能

7、较好的反映系统中各局部应用的子系统组成。因此我们先逐一的设计分E-R图。第二步是进行视图的集成:各子系统的E-R图设计好之后,下一步就是要将所有的分E-R图合成一个系统的总E-R图,一般有两个方式,多个分E-R图一次集成,另一种是一次集成两个分E-R图。我想采用一次集成两个分E-R图的方工数据抽象与局部视图设计按照图2.2系统总框架图,设计实体属性图以及局部E-R图。图2.1用户信息实体属性图图2.2费用实体属性图图2.3电脑实体属性图图2.4分区实体属性图图2.5网管实体属性图(身份证号一用户i1'费用上(上机时间图2.6用户花费局部一用户工J使用1电脑时间E-R图>(电脑编号

8、)图2.8电脑所属分区局部E-R图2.3视图的集成经过逐步细化再进行每两个一集成初步形成一个E-R图,最后得到图3.4总体概念结构E-R图。尸、身份证号)(R(组别)/J»限腼色翩/广(电脑编博)(单价1j1r11/费田、r厂上、(分区号a脑编(匕机时吵、,<(图2.10系统总体结构E-R图第三章逻辑结构设计1m*力区号j-r、y1、肺编?)j分号3.1E-R图向关系模型的转换将图3.10总体概念结构E-R图转化成关系模型。用户信息表(卡号,身份证号,用户名)电脑信息表(电脑编号,电脑名称,单价)费用信息表(卡号,电脑编号,上机时间,下机时间)分区信息表(分区号,电脑编号,分区

9、名称)网管信息表(网管编号,分区号,网管姓名)3.2数据模型的优化将转化的关系模式进行优化,最终达到第三范式。1、确定数据依赖用户信息表(卡号,身份证号,用户名)根据这个关系写出数据依赖卡号一用户名,卡号一身份证号电脑信息表(电脑编号,电脑名称,单价)电脑编号一电脑名称,电脑编号一单价费用信息表(卡号,电脑编号,上机时间,下机时间)(卡号,电脑编号)一上机时间,(卡号,电脑编号)一下机时间分区信息表(分区号,电脑编号,分区名称)分区号一电脑编号,分区号一分区名称,网管信息表(网管编号,分区号,网管姓名)网管编号一分区号,网管编号一网管姓名2、对各关系模式间数据依赖进行极小化处理,消除冗余卡号一

10、用户名,卡号一身份证号,电脑编号一电脑名称电脑编号一单价,(卡号,电脑编号)一上机时间,(卡号,电脑编号)一下机时间分区号一电脑编号,分区号一分区名称,网管编号一分区号,网管编号一网管姓名3、看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解最终分解成第三范式:(卡号,用户名,身份证号)(电脑编号,电脑名称,单价)(分区号,电脑编号,分区名称)(网管编号,分区号,网管姓名)(卡号,电脑编号,上机时间,下机时间)数据库的结构根据总体结构图设计各表的结构,其相应标的定义如下:表3.1用户信息系统的结构字段名数据类型长度约束描述CardnumberVarchar10主键Usernumber

11、Varchar20不为空身份证号UsernameVarchar30不为空用户名表3.2电脑信息系统的结构字段名数据类型长度约束描述ComputernumberVarchar10主键电脑编pComputernameVarchar30不为空电脑名称PriceVarchar20不为空单价表3.3费用信息表系统的结构字段名数据类型数据类型长度约束描述CardnumberVarchar10主键ComputernumberVarchar10不为空电脑编pstarttimeVarchar20可为空上机时间endtimeVarchar20可为空下机时间表3.4分区信息表系统的结构字段名数据类型长度约束描述Ar

12、eanumberVarchar10主键分区号ComputernumberVarchar10外键电脑编pAreanameVarchar30不为空分区名称表3.5网管信息表系统结构字段名数据类型长度约束描述ManagernumberVarchar10主键网管编号AreanumberVarchar10外键分区号ManagernameVarchar30不为空网管名字数据库关系图:第四章数据库物理设计实现该设计的环境为WindowsXPProfessional+MSSQLServer2005或以上版本。1、建立网吧管理系统数据库:CREATEDATABASE网吧管理系统ONPRIMARY(NAME=N&

13、#39;网吧管理系统:FILENAME=N'C:ProgramFilesMicrosoftSQL网吧管理系统.mdf',SIZE=3072KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB)LOGON(NAME=N'网吧管理系统_log',FILENAME=N'C:ProgramFilesMicrosoftSQL网吧管理系统_log.ldf',SIZE=1024KB,MAXSIZE=2048GB,FILEGROWTH=10%)2、建立管理员信息表:CREATETABLEdbo.admin(Managernumbervar

14、charAreanumbervarbinaryManagernamevarcharCONSTRAINTPK_admin(Managernumber(10)COLLATEChinese_PRC_CI_AS(16)NOTNULL,(20)COLLATEChinese_PRC_CI_ASPRIMARYKEYCLUSTEREDASC)WITH(IGNORE_DUP_KEY=OFF)ONPRIMARY)ONPRIMARY3、建立电脑信息表:CREATETABLEputer(Computernumbervarchar(8)COLLATEChinese_PRC_CI_ASComputernam

15、evarchar(30)COLLATEChinese_PRC_CI_ASNOTNULL,NOTNULL,NOTNULL,NOTNULL,pricemoneyNOTNULL,CONSTRAINTPK_computerPRIMARYKEYCLUSTERED(ComputernumberASC)WITH(IGNORE_DUP_KEY=OFF)ONPRIMARY)ONPRIMARY4、建立消费表:CREATETABLEdbo.expence(Cardnumberchar(16)COLLATEChinese_PRC_CI_ASNOTNULL,starttimedatetimeNOTNULL,endtim

16、edatetimeNOTNULL,CONSTRAINTPK_expencePRIMARYKEYCLUSTERED(CardnumberASC)WITH(IGNORE_DUP_KEY=OFF)ONPRIMARY)ONPRIMARY5、建立分区表:CREATETABLEdbo.fenqu(Areanumbervarchar(8)COLLATEChinese_PRC_CI_ASNOTNULL,Computernumbervarchar(16)COLLATEChinese_PRC_CI_ASNOTNULL,Areanamevarchar(50)COLLATEChinese_PRC_CI_ASNOTNU

17、LL,CONSTRAINTPK_memberPRIMARYKEYCLUSTERED(AreanumberASC)WITH(IGNORE_DUP_KEY=OFF)ONPRIMARY)ONPRIMARY6.建立用户表:CREATETABLEdbo.USER(Cardnumbervarchar(10)COLLATEChinese_PRC_CI_ASNOTNULL,Computernumbervarchar(12)COLLATEChinese_PRC_CI_ASNOTNULL,UsernamevarcharUsernumbervarbinaryCONSTRAINTPK_USER(20)COLLATEC

18、hinese_PRC_CI_AS(30)NOTNULL,PRIMARYKEYCLUSTEREDNOTNULL,CardnumberASC)WITH(IGNORE_DUP_KEY=OFF)ONPRIMARY)ONPRIMARY第五章数据库完整性设计主键及唯一性索引表名主键建立唯一性索引admin(Managernumber)createuniqueindexadminonadmin(Managernumber)computer(Computernumber)createuniqueindexcomputeroncomputer(Computernumber)fenqu(Areanumber)cr

19、eateuniqueindexfenquonfenqu(Areanumber)user(Cardnumber)createuniqueindexuseronuser(Cardnumber)expense(Cardnumber,Computernumber)createuniqueindexexpenseonexpense(Cardnumber,Computernumber)参照完整性设计1、分区信息表中将属性电脑号设计为外键altertablefenquaddforeignkey(Computernumber)referencescomputer(Computernumber)2、网管信息表中

20、将属性分区号设计为外键altertableadminaddforeignkey(Areanumber)referencesfenqu(Areanumber)Check约束用户信息表中将卡号进行check约束:check(Cardnumber<90)因为现今网吧只有90台电脑,。触发器设计:1、在用户信息表中建立删除用户触发器createtrigger删除用户on用户信息fordeleteasdeclare卡号varchar(12)select卡号=Cardnumberfromdeleteddeclare卡号varchar(12)select卡号=Cardnumberfrom用户信息whe

21、reCardnumber=(selectCardnumberfrom消费信息)begindeletefrom用户信息whereCardnumber=卡号if(卡号=饼号)begindeletefromCardnumberwhereCardnumber=卡号deletefromUsernamewhereCardnumber卡号deletefromUsernumberwhereCardnumber=卡号endend2.创建DDL触发器,当删除数据库一个表时,提示“不能删除表”,并会滚是删除表的操作。USE网吧管理系统GOcreatetriggertable_deleteonDATABaseAFTE

22、RDROP_TABLEASPRINT'不能删除表rollbacktransaction3.第6章数据库视图设计.建立用户信息视图:CREATEVIEWASdbo.用户信息SELECTdboUsernumberFROMdbo.user.*,CardnumberASExpr3.userASExpri,UsernameASExpr2GO.建立管理员信息视图:CREATEVIEWASdbo.管理员信息SELECTdboManagernameFROMdbo.admin.*,ManagernumberASExpri,AreanumberASExpr3.adminASExpr2,GO.建立电脑信息视

23、图:CREATEVIEWdbo.电脑信息ASSELECTdboExpr2,FROMputer.*,ComputernameASExpri,ComputerASEputernumberASGO.建立分区信息视图:CREATEVIEWASdbo.分区信息SELECTdboAreanameFROMdbo.fenqu.*,AreanumberASExpri,ComputernumberASExpr2,ASExpr3.fenquGO.建立查看还在上网人信息视图:CREATEVIEWdbo.查看还在上网的人信息ASSELECTdbo.user.CardnumberA

24、SExpri,dbo.user.Username,dbo.user.Usernumber,dbo.expense.starttime,dbo.expense.ComputernumberFROMdbo.userINNERJOINdbo.expenseONdbo.user.Cardnumber=dbo.expense.CardnumberWHERE(dbo.expense.endtimeISNULL)GO.建立查看00区电脑信息视图:CREATEVIEWdbo.查看分区的电脑信息ASSELECTputer.price,puter.Computernumber,dbo.fenqu.Areanumb

25、er,puter.Computername,dbo.fenqu.AreanameFROMdbo.fenquINNERJOINputerONdbo.fenqu.Computernumber=puter.ComputernumberWHERE(dbo.fenqu.Areanumber="00')GO第7章数据库存储过程设计1、建立增加管理员信息存储过程SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEPROCEDUREadminadd(Managernumbervarchar(10),Areanumbervarchar(50),Mana

26、gernamevarchar(20)ASBEGINinsertintocomputervalues(Managernumber,Areanumber,Managername)ENDGO1、建立增加电脑信息存储过程moneyUSE网吧管理系统GOcreateprocedurecomputeradd(Computernumbervarchar(50),Computernamevarchar(30),price)ASBEGININSERTINTOCOMPUTERVALUES(Computernumber,Computername,price)ENDRETURNGO第8章权限设计.角色及权限的分配按照SQLServer2008里固定的角色分配根管理员:db_owner总结通过三周的数据库课程设计实习,我受益匪浅,从中学到了许多新知识,这些知识是在课堂中不能学到或者说很难学到的。并且对数据库应用这一门课程有了更深一步的理解。在做课程设计中,我们可以把课堂上所学的理论知识和实践联系起来,在所要开发的系统中渐渐学会了融会贯通。同样通过对SQL的应用,也使我们熟练和巩固了对SQL的理解。这样我们对开发系统的整个过程也有了一个系统的了解。这次课程设计,我选择的课题是网吧管理系统,在吧管理系统的开发中采用了完整的数据库设计的全过程,从需求分析

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论