版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大型数据库课程设计设计报告题目:网吧管理系统数据库学号:学生姓名:指导教师:提交时间: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。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网管实体属性图用户用户费用花费卡号身份证号用户名级别电脑编号上机时间下机时间卡号11图2。6用户花费局部E-R图用户电脑用户电脑使用卡号身份证号用户名级别电脑编号电脑名称单价11图2.7用户使用电脑局部E—R图电脑电脑分区所属电脑编号电脑名称单价电脑编号分区名称分区号m1图2。8电脑所属分区局部E—R图分区分区网管管理电脑编号分区名称分区号网管编号分区号网管姓名11图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用户信息系统的结构字段名数据类型长度约束描述CardnumberVarchar10主键卡号UsernumberVarchar20不为空身份证号UsernameVarchar30不为空用户名表3.2电脑信息系统的结构字段名数据类型长度约束描述ComputernumberVarchar10主键电脑编号ComputernameVarchar30不为空电脑名称PriceVarchar20不为空单价表3.3费用信息表系统的结构字段名 数据类型数据类型长度约束描述CardnumberVarchar10主键卡号ComputernumberVarchar10不为空电脑编号starttimeVarchar20可为空上机时间endtimeVarchar20可为空下机时间表3.4分区信息表系统的结构字段名数据类型长度约束描述AreanumberVarchar10主键分区号ComputernumberVarchar10外键电脑编号AreanameVarchar30不为空分区名称表3。5网管信息表系统结构字段名数据类型长度约束描述ManagernumberVarchar10主键网管编号AreanumberVarchar10外键分区号ManagernameVarchar30不为空网管名字3.4数据库关系图:第四章数据库物理设计4。1实现该设计的环境为WindowsXPProfessional+MSSQLServer2005或以上版本。建立网吧管理系统数据库: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%)建立管理员信息表: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]建立电脑信息表: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]建立分区表: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])createuniqueindexadminonadmin(Managernumber)computer([Computernumber])createuniqueindexcomputeroncomputer([Computernumber])fenqu([Areanumber])createuniqueindexfenquonfenqu([Areanumber])user([Cardnumber])createuniqueindexuseronuser([Cardnumber])expense([Cardnumber],[Computernumber])createuniqueindexexpenseonexpense([Cardnumber],[Computernumber])5.2参照完整性设计1、分区信息表中将属性电脑号设计为外键altertablefenquaddforeignkey([Computernumber])referencescomputer([Computernumber])2、网管信息表中将属性分区号设计为外键altertableadminaddforeignkey(Areanumber)referencesfenqu(Areanumber)5.3Check约束用户信息表中将卡号进行check约束:check([Cardnumber]<90)因为现今网吧只有90台电脑,。5。4触发器设计:1、在用户信息表中建立删除用户触发器createtrigger删除用户on用户信息fordeleteasdeclare@卡号varchar(12)select@卡号=[Cardnumber]fromdeleteddeclare@卡号varchar(12)select@卡号=[Cardnumber]from用户信息where[Cardnumber]=(select[Cardnumber]from消费信息)begindeletefrom用户信息where[Cardnumber]=@卡号if(@卡号=@卡号)begindeletefrom[Cardnumber]where[Cardnumber]=@卡号deletefrom[Username]where[Cardnumber]@卡号deletefrom[Usernumber]where[Cardnumber]=@卡号endend2.创建DDL触发器,当删除数据库一个表时,提示“不能删除表”,并会滚是删除表的操作。USE网吧管理系统GOcreatetriggertable_deleteonDATABaseAFTERDROP_TABLEASPRINT'不能删除表'rollbacktransaction3.第6章数据库视图设计1。建立用户信息视图:CREATEVIEW[dbo]。[用户信息]ASSELECTdbo。[user].*,[Cardnumber]ASExpr1,[Username]ASExpr2,[Usernumber]ASExpr3FROMdbo.[user]GO2。建立管理员信息视图:CREATEVIEW[dbo]。[管理员信息]ASSELECTdbo.admin.*,[Managernumber]ASExpr1,[Areanumber]ASExpr2,[Managername]ASExpr3FROMdbo。adminGO3.建立电脑信息视图:CREATEVIEW[dbo].[电脑信息]ASSELECTputer.*,[Computername]ASExpr1,[Computernumber]ASExpr2,priceASExpr3FROMputerGO4.建立分区信息视图:CREATEVIEW[dbo]。[分区信息]ASSELECTdbo.fenqu.*,[Areanumber]ASExpr1,[Computernumber]ASExpr2,[Areaname]ASExpr3FROMdbo。fenquGO5.建立查看还在上网人信息视图:CREATEVIEW[dbo]。[查看还在上网的人信息]ASSELECTdbo。[user].[Cardnumber]ASExpr1,dbo。[user]。[Username],dbo。[user]。[Usernumber],dbo.expense。[starttime],dbo.expense。[Computernumber]FROMdbo.[user]INNERJOINdbo。expenseONdbo.[user]。[Cardnumber]=dbo.expense.[Cardnumber]WHERE(dbo.expense。[endtime]ISNULL)GO5。建立查看00区电脑信息视图:CREATEVIEW[dbo].[查看分区的电脑信息]ASSELECTputer.price,puter。[Computernumber],dbo.fenqu.[Areanumber],puter。[Computername],dbo.fenqu。[Areaname]FROMdbo.fenquINNERJOINputerONdbo。fenqu。[Computernumber]=puter.[Computernumber]WHERE(dbo。fenqu。[Areanumber]=’00')GO第7章数据库存储过程设计1、建立增加管理员信息存储过程SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEPROCEDUREadminadd(@[Managernumber]varchar(10),@[Areanumber]varchar(50),@[Managername]varchar(20)) ASBEGIN insertintocomputervalues(@[Managernumber],@[Areanumber],@[Managername])ENDGO1、建立增加电脑信息存储过程USE网吧管理系统GOcreateprocedurecomputeradd(@[Computernumber]varchar(50),@[Computername]varchar(30),@pricemoney)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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年贵州省黔南州中考历史试卷附答案
- 部编版小学四升五语文暑假衔接作业完整版 字词+阅读+作文 含答案可打印
- 建筑工程施工技术(下篇共上下2篇)619
- 抹账协议书样本
- 辽宁家庭团聚协议书
- 同居分割协议书
- 小院出卖协议书
- 2026数据安全治理面试题及答案
- 湘美版(2024)初中美术七年级上册《非遗“潮”起来》教学课件
- 2026卫建财务面试题及答案大全
- 2025年宿迁市宿豫区事业编单位人员招聘考试试题及答案详解
- 2026年主管护师职称考试试题及答案
- 2026年考评员考试试题含答案解析
- 2026云南昆明市五华区人民法院招聘第三批合同制司法辅助人员3人笔试参考题库及答案详解
- 厦门市2025年福建厦门市思明区部分单位联合招聘非在编工作人员16人考试笔试历年参考题库典型考点附带答案详解
- 2026年同性恋测试题心理测试及答案
- 2026服装印花行业市场深度调研及发展趋势与投资价值评估研究报告
- 2025-2026学年初中人教版七年级地理下学期经典题专练之日本
- 2026版《国有企业领导人员廉洁从业规定》全文+新旧对比+高频考点+习题答案详解
- 2026年度全国“安全生产月”知识培训测试及答案
- 银行储蓄存款业务流程汇报材料
评论
0/150
提交评论