四川城市职业学院数据库技术(MySql)课程网吧管理项目设计报告2016年6月分院汽车与信息工程学院专业软件技术班级2015级软件技术一班学号2015035116姓名陈杰成绩1数据库技术(mysql)课程期末设计报告目录一、需求分析……………………………………………2二、概念结构设计………………………………………2三、逻辑结构设计………………………………………4四、功能处理……………………………………………8五、系统设计小结………………………………………112数据库技术(mysql)课程期末设计报告一、需求分析随着信息产业的飞速发展,信息化管理已经引入并应用到各行业管理领域,高速的网络信息不断改变、影响着人们的价值观念和生活方式。对于一个企业来说,争取最大的利益才是最大的任务,这就需要提高企业的管理水平,设计一个适合于本企业的管理系统十分有必要。我们设计的这个网吧管理系统,是针对于网吧的的管理体系,对于网吧的管理层面有较为全面的考虑,对于提高网吧的管理有很大帮助,有助于其加快管理步伐,提高竞争能力,争取更大的经济利益。模块功能分析:1服务端(包括管理员管理,用户信息管理)2客户端(用户使用计算机的所有情况)3系统数据的初始化,查询,修改,删除。二、概念结构设计概念结构设计的任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。概念模型使设计者的注意力能够从复杂的实现细节中解脱出来,而只集中在最重要的信息的组织结构和处理模式上。本系统的E-R图如下:用户上机费用年龄余额密码账号注册日期3数据库技术(mysql)课程期末设计报告各实体间关系的e-r图如下:、关系图图4.2详细E-R图余额年龄用户账号密码注册日期上机费用管理员密码性别年龄账号年龄计算机计算机名使用管理管理11n11n管理员账号年龄性别密码4数据库技术(mysql)课程期末设计报告:三、逻辑结构设计1、基本表表4-1用户表列名数据类型允许空字段说明帐号Char(10)否主键密码Char(10)否登录密码余额Money是用户余额上机费用Money否每分钟费用注册日期Datetime是注册日期表4-2管理员表列名数据类型允许空字段说明帐号Char(10)否主键密码Char(10)是登陆密码姓名Varchar(50)是管理员姓名年龄Varchar(50)是管理员年龄性别Char(10)是管理员性别表4-3消费表列名数据类型允许空字段说明5数据库技术(mysql)课程期末设计报告登陆帐号Char(10)否主键登陆时间Datetime是登陆时间下机时间Datetime是下机时间计算机名Varchar(50)是计算机名花费money是花费2网吧管理基本数据账号账号名姓名密码性别年龄A李明242男21B刘丽443女24用户用户名余额花费李南107曲波14012徐思8021许微1026数据库技术(mysql)课程期末设计报告用户号花费徐思21李南7许微2曲波123、创建数据库和表①建库createdatabase网吧管理信息系统②建表createtable用户表(账号char(10)primarykey,密码char(10),花费money,余额money);createtable管理员表(账号char(20)primarykey,性别verchar(8);姓名verchar(8);密码char(10));createtable消费表(登陆账号char(5)primarykey,姓名char(10),性别varchar(8);花费money,)7数据库技术(mysql)课程期末设计报告③添加记录insertinto管理values('071011','A管理',1000000,1200000);insertinto管理values('071021','B管理',1500000,1300000);insertinto管理values('071012','A管理',1250000,1500000);insertinto管理values('071022','B管理',2000000,1800000);insertinto账号values('V账号',1200000,'071011',7500);insertinto账号values('C账号',1400000,'071012',15500);insertinto账号values('X账号',1900000,'071021',11000);insertinto账号values('Z账号',1100000,'071022',17000);insertinto用户values('0610','李明','男',27,1500,'');insertinto用户values('0611','刘丽','女',29,1600,'');insertinto用户values('0612','张新','男',28,1600,'');insertinto用户values('0613','李南','男',29,1500,'');insertinto用户values('0614','曲波','男',32,2000,'');insertinto用户values('0615','徐思','女',33,1800,'');insertinto用户values('0616','许微','女',28,1700,');insertinto用户values('0617','天蓝','女',30,1700,'');8数据库技术(mysql)课程期末设计报告四、功能处理1.索引①建立索引createuniqueindexid_ixon用户(姓名);createuniqueindexim_inon管理员createuniqueindexik_ilon消费②删除索引dropindex仓库.ik_il;2.视图①创建视图createviewview_1asselect用户号,姓名,性别,年龄from用户createviewview_2asselect用户from用户表where上机时间=7500createviewview_3asselect用户.用户名,from用户,账号where用户.用户号=账号.用户号②视图的撤消9数据库技术(mysql)课程期末设计报告dropviewview_1;③视图的查询select*fromview_3;select*fromview_2;④视图的更新insertintoview_1values('0621','陈雨','女',29);3.存储过程①创建存储过程createprocproc_zgasselect用户号,姓名,年龄from用户where性别='女';createprocproc_071012@khvarchar(10)asselectx.账号名,用户号,from账号x,密码ywherex.账号名=y.账号名②存储过程的查询execproc_zg;execproc_071012'071021';③存储过程的修改alterprocproc_zgasselect用户号,姓名,性别from用户where账号=账号10数据库技术(mysql)课程期末设计报告5、数据更新①插入(前面已插入)②修改update用户set花费=0.8*花费where花费30and花费2000;③删除deletefrom用户where姓名='徐蕾';5.数据查询select用户from用户;select账号名from账号where花费130;select用户号from用户,账号where用户.账号名=账号.账号名orderby花费selectdistinct账号名from账号;select用户号,姓名,花费,年龄from用户where年龄between30and32;select*from账号,select姓名,性别,年龄from用户where账号名in(select账号名from账号where用户号='071022');select姓名,年龄from用户11数据库技术(mysql)课程期末设计报告where姓名like'徐%';select账号名,count(*)as账号人数from用户groupby账号名havingcount(*)1;selectavg(花费)as平均花费from用户groupby账号名;五、系统设计小结通过这次的课程设计实验,我发现自己对数据库课程的兴趣有了很大提高,而且对课本的知识更加的了解并有了一定的掌握,通过实验我懂得了如何创建索引、视图、存储过程以及触发器。以前不懂为何要创建触发器、视图等,现在终于知道它们的优点了。在自己没做数据库课程设计以前,总是觉得自己什么都不懂什么都不会,但是现在做出来了,所以我觉得自己还是有能力做一些实际操作方面的东西。我相信以后通过自己自学其它课程,我一定会做出一个更好的数据库。