收藏 分享(赏)

网络游戏信息管理系统.doc

上传人:tangtianxu1 文档编号:2895285 上传时间:2018-09-29 格式:DOC 页数:23 大小:327.81KB
下载 相关 举报
网络游戏信息管理系统.doc_第1页
第1页 / 共23页
网络游戏信息管理系统.doc_第2页
第2页 / 共23页
网络游戏信息管理系统.doc_第3页
第3页 / 共23页
网络游戏信息管理系统.doc_第4页
第4页 / 共23页
网络游戏信息管理系统.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、大型数据库技术设计报告题 目:网络游戏信息管理系统数据库设计学生姓名: 易进 学 号: 201317030119 专业班级: 网工13101班 指导教师: 刘波涛 设计时间: 2015年下学期 指导老师意见:签名: 日期:评定成绩:目录1. 需求分析 .12. 概念模型设计 11. 玩家信息 E-R 图(如图 1 所示) .12. 游戏信息 E-R 图(如图 2 所示) .23. 排行信息 E-R 图(如同 3 所示) .24. 交易信息 E-R 图(如图 4 所示) .35. 游戏币信息 E-R 图(如图 5 所示) .36. 整体简洁 E-R 图(如图 6 所示) .47. 用户信息 E-

2、R 图(如图 7 所示) .43. 逻辑结构设计 51. 关系模型设计 52. 数据库表结构的设计 54. 数据库的实现 71. 创建玩家信息表 72. 向玩家信息表中插入记录 83. 在表空间上创建游戏表 94. 向游戏表中插入记录 95. 创建排行信息表 96. 向排行信息表中插入记录 107. 创建交易信息表 108. 向交易信息表中插入记录 109. 创建游戏币信息表 1110. 向游戏币信息表中插入记录 1111. 创建用户信息表 1112. 向用户信息表中插入记录 1213. 建立外键和 CHCEK 约束 125. 主要代码 .131. 查询代码 132. 创建视图 173. 创建

3、存储过程 186. 数据库备份 .201. 导出数据 20s11.需求分析要求实现玩家信息管理、游戏介绍、成绩排行等功能,包括玩家信息的添加、 修改、删除及查询;按游戏类型、关键字等实现网络游戏的灵活查询;实现游戏 币销售等功能。2.概念模型设计1. 玩家信息 E-R 图(如图 1 所示)等级玩家昵称玩家编号充值总金额游戏编号性别图 1 玩家信息 E-R 图22. 游戏信息 E-R 图(如图 2 所示)游戏名称游戏类型 游戏上线时间 游戏编号运营公司图 2 游戏信息 E-R 图3. 排行信息 E-R 图(如同 3 所示)排行充值总金额游戏编号游戏人数图 3 排行信息 E-R 图34. 交易信息

4、 E-R 图(如图 4 所示)玩家编号交易交易编号玩家编号RMB交易时间图 4 职务信息 E-R 图5. 游戏币信息 E-R 图(如图 5 所示)游戏币游戏编号游戏币RMB4图 5 考勤信息 E-R 图6. 整体简洁 E-R 图(如图 6 所示)玩家游戏交易信息排行游戏编号玩家编号图 6 整体简洁 E-R 图7. 用户信息 E-R 图(如图 7 所示)用户密码权限用 户 名图 7 用户信息 E-R 图53.逻辑结构设计1. 关系模型设计1) 玩家信息对应的关系模型玩家(玩家编号(主键) ,姓名,性别,游戏编号(外键) ,等级,充值总金额2) 游戏信息对应的关系模型游戏(游戏编号(主键) ,游戏

5、名称,运营公司,上线时间)3) 排行信息对应的关系模型排行(游戏编号(外键) ,游戏人数,充值总金额)4) 交易信息对应的关系模型交易(交易编号(主键) ,玩家编号,游戏编号,RMB 金额,交易时间)5) 考勤信息对应的关系模型考勤(员工编号(主键一部分),日期(主键一部分) ,请假次数,迟到次数,缺勤次数)6) 用户信息对应的关系模型用户(用户名,密码,权限)2. 数据库表结构的设计1) 玩家信息表结构62) 游戏信息表结构3) 排行信息表结构4) 交易信息表结构75) 游戏币信息表结构4.数据库的实现1. 创建玩家信息表CREATE TABLE player(pid int primary

6、 key,pname varchar(10),sex varchar(2),gid int,levels int,money int);82. 向玩家信息表中插入记录insert into player values(1,张三, 男,1,58,51);insert into player values(2,李四, 男,1,59,58);insert into player values(3,王五, 男,2,27,65);insert into player values(4,赵六, 男,2,25,25);insert into player values(5,徐涛, 男,2,29,5);ins

7、ert into player values(6,石头, 男,3,27,53);insert into player values(7,陈子文, 男,3,25,5);insert into player values(8,王灿, 女,4,66,35);insert into player values(9,徐香气, 女,4,66,25);insert into player values(10,郭俊明 ,男,5,6,45);insert into player values(11,王一 ,男,4,66,35);insert into player values(12,王二 ,女,3,6,5);

8、insert into player values(13,王三 ,男,4,66,30);insert into player values(14,王四 ,女,2,76,35);insert into player values(15,王五五 ,女,4,66,35);insert into player values(16,王六 ,女,1,89,3);insert into player values(17,王七 ,女,4,54,35);insert into player values(18,王八 ,男,2,66,31);insert into player values(19,王九 ,女,4

9、,86,35);insert into player values(20,王十 ,女,1,66,37);insert into player values(21,赵一 ,男,4,66,54);insert into player values(22,赵二 ,女,3,66,35);insert into player values(23,赵三 ,男,1,69,38);insert into player values(24,赵四 ,男,5,66,39);9insert into player values(25,赵五 ,女,4,60,5);3. 在表空间上创建游戏表CREATE TABLE ga

10、me( gid int primary key,gname varchar(10),type varchar(5) NOT NULL,operating_company varchar(10),birth_date date);4. 向游戏表中插入记录insert into game values(1,吞噬天地,网游,网易, 2014-9-1);insert into game values(2,英雄联盟,竞技,腾讯, 2010-5-20);insert into game values(3,DOTA2,竞技,暴雪, 2006-1-30);insert into game values(4,炫

11、舞,休闲,腾讯, 2012-6-1);insert into game values(5,模拟人生, 模拟,腾讯, 2010-2-25);5. 创建排行信息表CREATE TABLE rank(gid int,peoplesum int,moneysum int);106. 向排行信息表中插入记录insert into rank values(1,25216020,35000);insert into rank values(2,26514260,250000);insert into rank values(3,215656560,205000);insert into rank value

12、s(4,2515540,350000);insert into rank values(5,1655620,3000);7. 创建交易信息表CREATE TABLE salerecord(saleid int primary key,pid int,gid int,RMB int,saledate date );8. 向交易信息表中插入记录insert into salerecord values(1,1,2,35000,2014-9-1);insert into salerecord values(2,2,3,250000,2013-8-12);insert into salerecord

13、values(3,3,4,205000,2014-9-12);insert into salerecord values(4,4,1,350000,2012-7-21);insert into salerecord values(5,5,4,7000,2014-9-3);insert into salerecord values(6,11,4,35050,2010-3-1);insert into salerecord values(7,6,5,50010,2014-4-17);insert into salerecord values(8,9,2,935000,2009-8-5);inser

14、t into salerecord values(9,6,3,835000,2015-3-14);insert into salerecord values(10,18,1,3215000,2010-3-11);insert into salerecord values(11,22,2,1325000,2014-3-1);119. 创建游戏币信息表CREATE TABLE gameb(gid int,RMB int,gameb int);10. 向游戏币信息表中插入记录insert into gameb values(1,8,800);insert into gameb values(2,9,

15、9000);insert into gameb values(3,65,6500);insert into gameb values(4,5,500);insert into gameb values(5,25,25000);insert into gameb values(6,25,2500);insert into gameb values(7,25,2500);11. 创建用户信息表create table users(username char(10) not null,password char(30) not null,juris char(30);1212. 向用户信息表中插入记

16、录insert into users(username,password,juris)values(YH,123,所有权限);insert into users(username,password,juris)values(YH00,123,查询);13. 建立外键和 CHCEK 约束alter table playeradd constraint player_game foreign key (gid)references game(gid);alter table rankadd constraint rank_game foreign key (gid)references game(

17、gid);alter table salerecordadd constraint salerecord_player foreign key (pid)references player(pid);alter table salerecordadd constraint salerecord_game foreign key (gid)references game(gid);alter table playeradd constraint check_sex check (sex in(男,女);135.主要代码1. 查询代码1) 查询王五的等级select levels from pla

18、yerwhere player.pname=王五;2) 查询模拟戏人生的运营公司select operating_company from YH.dbo.gamewhere game.gname =模拟人生; 3) 查看游戏排行按游戏人数排列select distinct game.gname,rank.peoplesum,rank.moneysum from YH.dbo.game,YH.dbo.rankwhere rank.gid= game.gid14order by peoplesum desc;4) 查询 DOTA2 所有玩家信息select player.* from YH.dbo

19、.player,YH.dbo.gamewhere game.gname=DOTA2 and game.gid = player.gid; 5) 查询玩家及玩家所玩游戏名称select player.pid,player.pname,game.gname,player.levels from YH.dbo.player,YH.dbo.game15where player.gid=game.gid; 6) 查询李四玩家的所有交易记录select salerecord.* from YH.dbo.salerecord,YH.dbo.playerwhere player.pname=李四and pla

20、yer.pid=salerecord.pid;7) 查询英雄联盟的玩家排行表按等级排列select player.* from YH.dbo.player,YH.dbo.gamewhere game.gname=英雄联盟 and player.gid=game.gid16order by levels desc;8) 查询炫舞玩家的总充值金额select sum(player.money) 炫舞充值总金额 from YH.dbo.game,YH.dbo.playerwhere game.gname=炫舞 and player.gid =game.gid;9) 查看所有充值金额超过 50 的玩家

21、的名称和游戏select game.gname,player.pname,salerecord.RMB from YH.dbo.game,YH.dbo.salerecord,YH.dbo.player17where salerecord.RMB50 and salerecord.pid=player.pid and player.gid=game.gid;10) 查询与吞噬天地有交易的玩家的信息 按交易金额降序排列select player.*,salerecord.RMB from YH.dbo.salerecord,YH.dbo.game,YH.dbo.playerwhere game.g

22、name=吞噬天地 and game.gid=salerecord.gid and salerecord.pid = player.pidorder by salerecord.RMB desc;2. 创建视图1) 创建视图统计各个游戏的玩家数量。按玩家编号升序排列 create view vw_count asselect distinct game.gid,game.gname,count(player.pid) player from YH.dbo.game,YH.dbo.playerwhere game.gid= player.gid18group by game.gid,game.g

23、nameorder by game.gid;2) 调用视图(sal_avg)中的记录select * from vw_count;3. 创建存储过程1) 创建存储过程,使某玩家升级(levelup)create procedure leveluppname varchar(10)asbeginupdate YH.dbo.player set player.levels=player.levels+1where player.pname=pname;end;张三升级了exec levelup pname=张三;192) 创建一个删除玩家的存储过程create procedure delpid intasbegindelete YH.dbo.salerecord where salerecord.pid=pid;delete YH.dbo.player where player.pid=pid;commit;end;执行存储过程exec del pid=3;206.数据库备份1. 导出数据

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报