




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 大型数据库课程设计设计报告题 目: 网吧管理系统数据库 学 号: 学生姓名: 指导教师: 提交时间: 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章 数据库存储
2、过程设计第8章 权限设计总结参考文献 第一章 需求分析1.1 需求分析的任务调查网吧管理系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。最重要的是调查、收集信息、分析用户信息和上网流程。处理要求、数据的安全性与完整性要求。1.2 需求分析的过程网吧管理人员为方便用户,需开发一个网吧管理系统。为便于用户安全,快速的上网,网吧把用户信息,包括姓名、身份证号、卡号、上机时间、通过此次数据库的课程设计,进一步将理论与实际相结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对灵据库设计理念及思
3、想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,能将SQL语言很好的运用,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的图书馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮
4、助,不管怎么说,对这次做的课程设计自己觉得还算满意。 下机时间、级别等信息,输入网吧管理系统的客户端程序,系统经过查询网吧内电脑信息数据服务器后,为用户安排电脑。在用户运行电脑期间,系统自动为用户计时,并根据不同用户的不同级别给出相应的单价,提示用户该缴纳的费用。同时系统还给每个电脑分配电脑的网管进行电脑的维护,方便用户上网。1.3数据字典与流程图调查用户需求1.普通用户管理需求l功能:为每个上网用户登记信息,分配账号,有效而且安全的管理用户的信息。2.费用管理需求l 交费功能:交费,上机时间,下机时间3. 电脑管理需求l管理查询功能:查询电脑编号,并且查看各个编号的电脑型号4. 网管管理需求
5、l查询功能:网管编号,网管姓名,分区号1.4系统功能分析在调查完了用户需求之后,就要开始分析用户需求。在此,我们采用自顶向下的结构化分析方法。首先,定义全局概念结构的框架,如图2.2所示。 图1.1网吧管理系统总框架图网吧管理系统用户信息系统电脑信息系统费用信息系统分区信息系统网管信息系统各子系统需要进一步细化。旅客信息系统为例进一步细化,如图2.3所示。 用户信息系统统计人数查询用户信息 图1.2用户信息系统细化以其中的查询用户信息功能为例进一步细化,如图2.4所示。 查询用户信息查询卡号查询身份证号查询用户名查询级别 图1.3查询用户信息功能 电脑信息系统查询电脑编号查询电脑名称查询单价
6、图1.4电脑信息系统细化 费用信息系统查询卡号查询电脑编号查询上机时间查询下机时间 图1.5费用信息系统细化 分区信息系统查询分区号查询电脑编号查询分区名称 图1.6分区信息系统细化网管信息系统查询网管编号查询分区号查询网管姓名 图1.7网管信息系统细化 将所有子系统全部细化。将所有用户需求分析完毕之后,就要开始构造数据字典了。经分析之后,本系统要用到五个基本表:用户信息表,电脑信息表,费用信息表,分区信息表,网管信息表。数据结构定义如表2.1。 表1.8 数据结构定义数据结构名 含义说明 组成用户信息定义了用户的有关信息 卡号,身份证号,用户名,,级别电脑信息定义了电脑有关信息 电脑编号,电
7、脑名称,单价费用信息表定义了上网费用的有关信息 卡号,电脑编号,上机时间,下机时间分区信息表定义了电脑分区的有关信息 分区号,电脑编号,分区名称网管信息表定义了网管有关信息 网管编号,分区号,网管姓名 第二章 概念结构设计2.1 概念结构设计的方法与步骤 2.1.1 概念结构设计的方法 概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。 2.1.2 概念结构设计的步骤 第一步是进行局部视图的设计:由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成
8、。因此我们先逐一的设计分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网管实体属性图用户
9、费用花费卡号身份证号用户名级别电脑编号上机时间下机时间卡号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.1 E-R图向关系模型的转换将图3.10总体概念结构E-R图转化成关
10、系模型。 用户信息表(卡号,身份证号,用户名) 电脑信息表(电脑编号,电脑名称,单价) 费用信息表(卡号,电脑编号,上机时间,下机时间) 分区信息表(分区号,电脑编号,分区名称) 网管信息表(网管编号,分区号,网管姓名)3.2 数据模型的优化将转化的关系模式进行优化,最终达到第三范式。1、确定数据依赖 用户信息表(卡号,身份证号,用户名)根据这个关系写出数据依赖 卡号用户名,卡号身份证号 电脑信息表(电脑编号,电脑名称,单价) 电脑编号电脑名称,电脑编号单价 费用信息表(卡号,电脑编号,上机时间,下机时间) (卡号,电脑编号)上机时间,(卡号,电脑编号)下机时间 分区信息表(分区号,电脑编号,
11、分区名称) 分区号电脑编号,分区号分区名称, 网管信息表(网管编号,分区号,网管姓名) 网管编号分区号,网管编号网管姓名2、对各关系模式间数据依赖进行极小化处理,消除冗余 卡号用户名,卡号身份证号,电脑编号电脑名称 电脑编号单价,(卡号,电脑编号)上机时间,(卡号,电脑编号)下机时间 分区号电脑编号,分区号分区名称,网管编号分区号,网管编号网管姓名3、看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解 最终分解成第三范式: (卡号,用户名,身份证号)(电脑编号,电脑名称,单价)(分区号,电脑编号,分区名称)(网管编号,分区号,网管姓名)(卡号,电脑编号,上机时间,下机时间)3.3 数
12、据库的结构根据总体结构图设计各表的结构,其相应标的定义如下: 表3.1用户信息系统的结构字段名数据类型 长度约束描述Card numberVarchar10主键卡号User numberVarchar20不为空身份证号User nameVarchar30不为空用户名 表3.2 电脑信息系统的结构字段名 数据类型长度 约束 描述 Computer numberVarchar 10主键 电脑编号 Computer name Varchar 30 不为空 电脑名称Price Varchar 20 不为空单价 表3.3 费用信息表系统的结构字段名数据类型数据类型长度约束描述Card numberVar
13、char10 主键 卡号Computer numberVarchar10 不为空 电脑编号start timeVarchar20 可为空上机时间end timeVarchar20 可为空下机时间 表3.4分区信息表系统的结构字段名数据类型长度约束描述 Area numberVarchar10主键分区号Computer numberVarchar10外键电脑编号 Area nameVarchar30不为空分区名称 表3.5网管信息表系统结构字段名数据类型 长度 约束 描述 Manager numberVarchar10主键 网管编号Area number Varchar 10 外键分区号 Man
14、ager nameVarchar30不为空网管名字3.4 数据库关系图: 第四章 数据库物理设计4.1实现该设计的环境为Windows XP Professional + MS SQL Server 2005 或以上版本。1、 建立网吧管理系统数据库:CREATE DATABASE 网吧管理系统 ON PRIMARY (NAME = N'网吧管理系统', FILENAME = N'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATA网吧管理系统.mdf',SIZE = 3072KB , MAXSIZE= UNLI
15、MITED, FILEGROWTH = 1024KB )LOG ON (NAME = N'网吧管理系统_log', FILENAME = N'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATA网吧管理系统_log.ldf' , SIZE = 1024KB , MAXSIZE =2048GB,FILEGROWTH =10%)2、 建立管理员信息表:CREATE TABLE dbo.admin(Manager number varchar(10) COLLATE Chinese_PRC_CI_AS NOT NULL
16、,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 PRIMARY3、 建立电脑信息表:CREATE TABLE puter(Computer number varchar(8) COLLATE Chinese_PRC_CI_AS N
17、OT 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,Com
18、puter 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 PRIMARY5、 建立分区表:CREATE TABLE dbo.fenqu(Area number varchar(8) COLLATE Chinese_P
19、RC_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(
20、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)ONPRIMARY第五章数据库完整性设计6.1主键及唯一性索引表名主键建立唯一性索引admin(Manager number)create u
21、nique index adminon admin (Manager number)computer(Computer number)create unique index computeron computer (Computer number)fenqu(Area number)create unique index fenqu on fenqu (Area number)user(Card number)create unique index user on user (Card number)expense(Card number,Computer number)create uniq
22、ue index expenseon expense (Card number,Computer number)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.3Check约束用户信息表中将卡号进行check约束:
23、check (Card number< 90)因为现今网吧只有90台电脑,。5.4触发器设计:1、在用户信息表中建立删除用户触发器create trigger 删除用户 on 用户信息for delete asdeclare 卡号 varchar(12)select 卡号= Card number from deleteddeclare 卡号varchar(12)select 卡号= Card number from 用户信息where Card number=(select Card number from 消费信息)begindelete from 用户信息 where Card n
24、umber=卡号if(卡号=卡号)begindelete from Card number where Card number=卡号delete from User name where Card number卡号delete from User number where Card number=卡号endend2.创建DDL触发器,当删除数据库一个表时,提示“不能删除表”,并会滚是删除表的操作。USE 网吧管理系统GOcreate trigger table_delete on DATABaseAFTER DROP_TABLEASPRINT '不能删除表'rollback t
25、ransaction3.第6章 数据库视图设计1.建立用户信息视图:CREATE VIEW dbo.用户信息ASSELECT dbo.user.*, Card number AS Expr1, User name AS Expr2, User number AS Expr3FROM dbo.userGO2. 建立管理员信息视图:CREATE VIEW dbo.管理员信息ASSELECT dbo.admin.*, Manager number AS Expr1, Area number AS Expr2, Manager name AS Expr3FROM dbo.adminGO3.建立电脑信息
26、视图:CREATE VIEW dbo.电脑信息ASSELECT puter.*, Computer name AS Expr1, Computer number AS Expr2, price AS Expr3FROM puterGO4. 建立分区信息视图:CREATE VIEW dbo.分区信息ASSELECT dbo.fenqu.*, Area number AS Expr1, Computer number AS Expr2, Area name AS Expr3FROM dbo.fenquGO5.建立查看还在上网人信息视图:CREATE VIEW dbo.查看还在上网的人信息ASSEL
27、ECT dbo.user.Card number AS Expr1, dbo.user.User name, dbo.user.User number, dbo.expense.start time, dbo.expense.Computer numberFROM dbo.user INNER JOIN dbo.expense ON dbo.user.Card number = dbo.expense.Card numberWHERE (dbo.expense.end time IS NULL)GO5.建立查看00区电脑信息视图:CREATE VIEW dbo.查看分区的电脑信息ASSELEC
28、T puter.price, puter.Computer number, dbo.fenqu.Area number, puter.Computer name, dbo.fenqu.Area nameFROM dbo.fenqu INNER JOIN puter ON dbo.fenqu.Computer number = puter.Computer numberWHERE (dbo.fenqu.Area number = '00')GO第7章 数据库存储过程设计1、建立增加管理员信息存储过程SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER
29、ONGOCREATE PROCEDURE adminadd(Manager number varchar(10),Area number varchar(50),Manager name varchar(20)ASBEGINinsert into computer values(Manager number,Area number,Manager name)ENDGO1、建立增加电脑信息存储过程USE 网吧管理系统GOcreate procedure computeradd(Computer numbervarchar(50),Computer namevarchar(30),price mo
30、ney)ASBEGIN INSERT INTO COMPUTER VALUES( Computer number,Computer name,price)ENDRETURNGO第8章 权限设计.角色及权限的分配按照SQL Server 2008里固定的角色分配根管理员:db_owner总结通过三周的数据库课程设计实习,我受益匪浅,从中学到了许多新知识,这些知识是在课堂中不能学到或者说很难学到的。并且对数据库应用这一门课程有了更深一步的理解。在做课程设计中,我们可以把课堂上所学的理论知识和实践联系起来,在所要开发的系统中渐渐学会了融会贯通。同样通过对SQL的应用,也使我们熟练和巩固了对SQL的理解。这样我们对开发
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国PA6T项目投资风险研究报告
- 2025至2031年中国画毡行业投资前景及策略咨询研究报告
- 2025年中国滴定架市场调查研究报告
- 2025-2030年中国DC电子负载器市场现状分析与竞争战略研究报告
- 许昌陶瓷职业学院《卫生管理统计学》2023-2024学年第一学期期末试卷
- 烟台黄金职业学院《电气工程及其自动化专业英语》2023-2024学年第一学期期末试卷
- 2025至2031年中国电动锁具行业投资前景及策略咨询研究报告
- 学前语文教学工作总结
- 2025至2031年中国玻璃罩餐吊灯行业投资前景及策略咨询研究报告
- 婚后夫妻财产公证的协议书
- 氧化反应工艺安全操作规程
- 子宫肌瘤病例讨论
- 门窗安装施工方案07785
- 土壤氡检测方案
- 2025年宽带网络拓展合作协议书
- 氧化镓雪崩光电探测器的研究进展
- 【9语期末】黄山市歙县2024-2025学年九年级上学期期末语文试题
- 2024年重庆高考物理卷试题真题解读及答案详解(精校打印)
- 居间合同协议书范本标准版
- 2024年孝感市(中心)人民医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- VL3000系列高性能矢量型变频器用户手册上海沃陆电气有限公司
评论
0/150
提交评论