收藏 分销(赏)

网吧管理系统数据库课程设计.doc

上传人:w****g 文档编号:3991691 上传时间:2024-07-24 格式:DOC 页数:19 大小:149.54KB 下载积分:8 金币
下载 相关 举报
网吧管理系统数据库课程设计.doc_第1页
第1页 / 共19页
网吧管理系统数据库课程设计.doc_第2页
第2页 / 共19页


点击查看更多>>
资源描述
大型数据库课程设计 设计报告 题 目: 网吧管理系统数据库 学 号: 学生姓名: 指导教师: 提交时间: 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。3 Check约束 5.5 触发器设计 第6章 数据库视图设计 第7章 数据库存储过程设计 第8章 权限设计 总结 参考文献 第一章 需求分析 1.1 需求分析的任务 调查网吧管理系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书.最重要的是调查、收集信息、分析用户信息和上网流程。处理要求、数据的安全性与完整性要求。 1。2 需求分析的过程 网吧管理人员为方便用户,需开发一个网吧管理系统。为便于用户安全,快速的上网,网吧把用户信息,包括姓名、身份证号、卡号、上机时间、通过此次数据库的课程设计,进一步将理论与实际相结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对灵据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少 有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,能将SQL语言很好的运用,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的图书馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新.虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,不管怎么说,对这次做的课程设计自己觉得还算满意。 下机时间、级别等信息,输入网吧管理系统的客户端程序,系统经过查询网吧内电脑信息数据服务器后,为用户安排电脑。在用户运行电脑期间,系统自动为用户计时,并根据不同用户的不同级别给出相应的单价,提示用户该缴纳的费用。同时系统还给每个电脑分配电脑的网管进行电脑的维护,方便用户上网。 1。3数据字典与流程图 调查用户需求 1.普通用户管理需求 l 功能:为每个上网用户登记信息,分配账号,有效而且安全的管理用户的信息. 2。费用管理需求 l 交费功能:交费,上机时间,下机时间 3。 电脑管理需求 l 管理查询功能:查询电脑编号,并且查看各个编号的电脑型号 4. 网管管理需求 l 查询功能:网管编号,网管姓名,分区号 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网管实体属性图 用户 费用 花费 卡号 身份证号 用户名 级别 电脑编号 上机时间 下机时间 卡号 1 1 图2.6用户花费局部E—R图 用户 电脑 使用 卡号 身份证号 用户名 级别 电脑编号 电脑名称 单价 1 1 图2。7用户使用电脑局部E-R图 电脑 分区 所属 电脑编号 电脑名称 单价 电脑编号 分区名称 分区号 m 1 图2.8电脑所属分区局部E-R图 分区 网管 管理 电脑编号 分区名称 分区号 网管编号 分区号 网管姓名 1 1 图2。9网管管理电脑局部E-R图 2。3视图的集成 经过逐步细化再进行每两个一集成初步形成一个E—R图,最后得到图3。4总体概念结构E-R图。 图2。10系统总体结构E-R图 第三章 逻辑结构设计 3。1 E—R图向关系模型的转换 将图3。10总体概念结构E-R图转化成关系模型. 用户信息表(卡号,身份证号,用户名) 电脑信息表(电脑编号,电脑名称,单价) 费用信息表(卡号,电脑编号,上机时间,下机时间) 分区信息表(分区号,电脑编号,分区名称) 网管信息表(网管编号,分区号,网管姓名) 3。2 数据模型的优化 将转化的关系模式进行优化,最终达到第三范式。 1、确定数据依赖 用户信息表(卡号,身份证号,用户名)根据这个关系写出数据依赖 卡号→用户名,卡号→身份证号 电脑信息表(电脑编号,电脑名称,单价) 电脑编号→电脑名称,电脑编号→单价 费用信息表(卡号,电脑编号,上机时间,下机时间) (卡号,电脑编号)→上机时间,(卡号,电脑编号)→下机时间 分区信息表(分区号,电脑编号,分区名称) 分区号→电脑编号,分区号→分区名称, 网管信息表(网管编号,分区号,网管姓名) 网管编号→分区号,网管编号→网管姓名 2、 对各关系模式间数据依赖进行极小化处理,消除冗余 卡号→用户名,卡号→身份证号,电脑编号→电脑名称 电脑编号→单价,(卡号,电脑编号)→上机时间,(卡号,电脑编号)→下机时间 分区号→电脑编号,分区号→分区名称,网管编号→分区号,网管编号→网管姓名 3、 看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解 最终分解成第三范式: (卡号,用户名,身份证号)(电脑编号,电脑名称,单价)(分区号,电脑编号,分区名称)(网管编号,分区号,网管姓名)(卡号,电脑编号,上机时间,下机时间) 3。3 数据库的结构 根据总体结构图设计各表的结构,其相应标的定义如下: 表3.1用户信息系统的结构 字段名 数据类型 长度 约束 描述 Card number Varchar 10 主键 卡号 User number Varchar 20 不为空 身份证号 User name Varchar 30 不为空 用户名 表3。2 电脑信息系统的结构 字段名 数据类型 长度 约束 描述 Computer number Varchar 10 主键 电脑编号 Computer name Varchar 30 不为空 电脑名称 Price Varchar 20 不为空 单价 表3。3 费用信息表系统的结构 字段名 数据类型 数据类型 长度 约束 描述 Card number Varchar 10 主键 卡号 Computer number Varchar 10 不为空 电脑编号 start time Varchar 20 可为空 上机时间 end time Varchar 20 可为空 下机时间 表3.4分区信息表系统的结构 字段名 数据类型 长度 约束 描述 Area number Varchar 10 主键 分区号 Computer number Varchar 10 外键 电脑编号 Area name Varchar 30 不为空 分区名称 表3。5网管信息表系统结构 字段名 数据类型 长度 约束 描述 Manager number Varchar 10 主键 网管编号 Area number Varchar 10 外键 分区号 Manager name Varchar 30 不为空 网管名字 3.4 数据库关系图: 第四章 数据库物理设计 4。1实现该设计的环境为Windows XP Professional + MS SQL Server 2005 或以上版本。 1、 建立网吧管理系统数据库: CREATE DATABASE [网吧管理系统] ON PRIMARY (NAME = N'网吧管理系统’, FILENAME = N’C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\网吧管理系统.mdf',SIZE = 3072KB , MAXSIZE= UNLIMITED, FILEGROWTH = 1024KB ) LOG ON (NAME = N'网吧管理系统_log', FILENAME = N’C:\Program Files\Microsoft SQL Server\MSSQL。1\MSSQL\DATA\网吧管理系统_log.ldf’ , SIZE = 1024KB , MAXSIZE =2048GB,FILEGROWTH =10%) 2、 建立管理员信息表: CREATE TABLE [dbo].[admin]( [Manager number] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL, [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 [PRIMARY] 3、 建立电脑信息表: CREATE TABLE [dbo]。[computer]( [Computer number] [varchar](8) COLLATE Chinese_PRC_CI_AS NOT 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, [Computer 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 [PRIMARY] 5、 建立分区表: CREATE TABLE [dbo]。[fenqu]( [Area number] [varchar](8) COLLATE Chinese_PRC_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](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] )ON[PRIMARY] 第五章 数据库完整性设计 6.1 主键及唯一性索引 表名 主键 建立唯一性索引 admin ([Manager number]) create unique index admin on admin (Manager number) computer ([Computer number]) create unique index computer on 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 unique index expense on 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。3 Check约束 用户信息表中将卡号进行check约束:check ([Card number]〈 90)因为现今网吧只有90台电脑,。 5.4触发器设计: 1、在用户信息表中建立删除用户触发器 create trigger 删除用户 on 用户信息 for delete as declare @卡号 varchar(12) select @卡号= [Card number] from deleted declare @卡号varchar(12) select @卡号= [Card number] from 用户信息 where [Card number]=(select [Card number] from 消费信息) begin delete from 用户信息 where [Card number]=@卡号 if(@卡号=@卡号) begin delete from [Card number] where [Card number]=@卡号 delete from [User name] where [Card number]@卡号 delete from [User number] where [Card number]=@卡号 end end 2。创建DDL触发器,当删除数据库一个表时,提示“不能删除表”,并会滚是删除表的操作。 USE 网吧管理系统 GO create trigger table_delete on DATABase AFTER DROP_TABLE AS PRINT '不能删除表’ rollback transaction 3。 第6章 数据库视图设计 1。建立用户信息视图: CREATE VIEW [dbo]。[用户信息] AS SELECT dbo。[user]。*, [Card number] AS Expr1, [User name] AS Expr2, [User number] AS Expr3 FROM dbo.[user] GO 2. 建立管理员信息视图: CREATE VIEW [dbo].[管理员信息] AS SELECT dbo.admin。*, [Manager number] AS Expr1, [Area number] AS Expr2, [Manager name] AS Expr3 FROM dbo.admin GO 3.建立电脑信息视图: CREATE VIEW [dbo]。[电脑信息] AS SELECT puter。*, [Computer name] AS Expr1, [Computer number] AS Expr2, price AS Expr3 FROM dbo。computer GO 4。 建立分区信息视图: CREATE VIEW [dbo].[分区信息] AS SELECT dbo.fenqu。*, [Area number] AS Expr1, [Computer number] AS Expr2, [Area name] AS Expr3 FROM dbo。fenqu GO 5.建立查看还在上网人信息视图: CREATE VIEW [dbo].[查看还在上网的人信息] AS SELECT dbo。[user]。[Card number] AS Expr1, dbo。[user]。[User name], dbo.[user].[User number], dbo.expense.[start time], dbo。expense。[Computer number] FROM dbo.[user] INNER JOIN dbo.expense ON dbo.[user]。[Card number] = dbo.expense。[Card number] WHERE (dbo。expense。[end time] IS NULL) GO 5。建立查看00区电脑信息视图: CREATE VIEW [dbo]。[查看分区的电脑信息] AS SELECT dbo。computer.price, dbo。computer.[Computer number], dbo.fenqu.[Area number], puter。[Computer name], dbo。fenqu。[Area name] FROM dbo。fenqu INNER JOIN dbo。computer ON dbo.fenqu.[Computer number] = dbo。computer。[Computer number] WHERE (dbo.fenqu.[Area number] = '00’) GO 第7章 数据库存储过程设计 1、建立增加管理员信息存储过程 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE adminadd ( @[Manager number] varchar(10),@[Area number] varchar(50),@[Manager name] varchar(20) ) AS BEGIN insert into computer values( @[Manager number],@[Area number],@[Manager name] ) END GO 1、建立增加电脑信息存储过程 USE 网吧管理系统 GO create procedure computeradd ( @[Computer number]varchar(50),@[Computer name]varchar(30),@price money ) AS BEGIN INSERT INTO COMPUTER VALUES( @[Computer number],@[Computer name],price ) END RETURN GO 第8章 权限设计 。角色及权限的分配 按照SQL Server 2008里固定的角色分配 根管理员:db_owner 总结 通过三周的数据库课程设计实习,我受益匪浅,从中学到了许多新知识,这些知识是在课堂中不能学到或者说很难学到的.并且对数据库应用这一门课程有了更深一步的理解。在做课程设计中,我们可以把课堂上所学的理论知识和实践联系起来,在所要开发的系统中渐渐学会了融会贯通。同样通过对SQL的应用,也使我们熟练和巩固了对SQL的理解。这样我们对开发系统的整个过程也有了一个系统的了解. 这次课程设计,我选择的课题是《网吧管理系统》,在吧管理系统的开发中采用了完整的数据库设计的全过程,从需求分析到概念结构设计,到逻辑结构设计,再到物理结构设计,最后到数据库的实施和维护,每一步都认真的分析和实施.当然,在本次课程设计的成果中还存在许多的不足之处,这就需要我们学习更多的知识,进行更深研究。 在这次实习中,我们完全投入到了开发系统的世界里。结束后明白了理论和实践要想充分地结合,需要非常扎实的基本功。这就说明学好基础知识是理论付诸实践的前提。在开发教务管理系统中我学到了很多,希望在以后能充分利用实习的机会充实自己,用所学的理论知识充分去实践,在实践中又要努力去巩固理论知识。只有这样,才能把一门课程甚至一门学科学精、学透 参考文献: 1. 王珊,萨师煊 .数据库系统概论[M]. 高等教育出版社,2005 2. 郑阿奇等。 SQLserver实用教程(第3版)[M] . 电子工业出版社,2009 3. 赵乃真等. 信息系统设计与应用。 清华大学出版社,2005 《大型数据库课程设计》报告评分标准 选题及功能设计 选题合理,功能简单 (D) 有一定的工作量和实用价值 (C) 功能设计丰富,有一定的难度系数 (B) 功能设计合理全面,能体现数据库的存储和整理数据的功能 (A) 数据表和数据量 具备基本的数据表,数据量较少,但能够实现系统基本需要 (D) 具备基本的数据表,数据量适中,实现了一定的数据完整性 (C) 有多个数据表,数据量适中,有完善的数据完整性(B) 有多个数据表,数据量充足,具有较强的数据安全性和数据完整性 (A) 数据库对象 具备基本的数据表,有主外键约束 (D) 创建了若干种的数据库对象,并加以利用 (C) 在实际应用中合理利用了各类数据库对象 (B) 具有身份验证、数据备份等较复杂的数据管理功能(A) 功能实现 利用存储过程实现了各种查询功能 (D) 除查询功能,还实现了各种数据操作功能 (C) 在上一条基础上,还实现了数据统计汇总功能 (B) 合理利用函数、存储过程、触发器实现各种数据查询、操作、管理功能 (A) 设计报告 完成设计报告,阐述了系统功能,结构较完整 (D) 开题报告反映设计思路,结构完整,格式较规范 (C) 报告内容完整,图表使用准确,格式清晰,功能描述详尽 (B) 报告内容完整,图表使用准确,描述详细,代码阐述清楚,反映系统执行流程 (A) 教师签字: 总评成绩:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服