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

上传人:b****4 文档编号:24543525 上传时间:2023-05-28 格式:DOCX 页数:19 大小:332.15KB
下载 相关 举报
网络游戏信息管理系统.docx_第1页
第1页 / 共19页
网络游戏信息管理系统.docx_第2页
第2页 / 共19页
网络游戏信息管理系统.docx_第3页
第3页 / 共19页
网络游戏信息管理系统.docx_第4页
第4页 / 共19页
网络游戏信息管理系统.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

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

《网络游戏信息管理系统.docx》由会员分享,可在线阅读,更多相关《网络游戏信息管理系统.docx(19页珍藏版)》请在冰豆网上搜索。

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

网络游戏信息管理系统

大型数据库技术设计报告

题目:

网络游戏信息管理系统数据库设计

学生:

易进

学号:

9

专业班级:

网工13101班

指导教师:

波涛

设计时间:

2015年下学期

指导老师意见:

签名:

日期:

评定成绩:

s

1.需求分析

要现玩家信息管理、游戏介绍、成绩排行等功能,包括玩家信息的添加、修改、删除及查询;按游戏类型、关键字等实现网络游戏的灵活查询;实现游戏币销售等功能。

2.概念模型设计

1.玩家信息E-R图(如图1所示)

图1玩家信息E-R图

2.游戏信息E-R图(如图2所示)

图2游戏信息E-R图

3.排行信息E-R图(如同3所示)

图3排行信息E-R图

4.交易信息E-R图(如图4所示)

图4职务信息E-R图

5.游戏币信息E-R图(如图5所示)

图5考勤信息E-R图

6.整体简洁E-R图(如图6所示)

图6整体简洁E-R图

7.用户信息E-R图(如图7所示)

用户

密码

权限

用户名

图7用户信息E-R图

 

3.逻辑结构设计

1.关系模型设计

1)玩家信息对应的关系模型

玩家(玩家编号(主键),,性别,游戏编号(外键),等级,充值总金额

2)游戏信息对应的关系模型

游戏(游戏编号(主键),游戏名称,运营公司,上线时间)

3)排行信息对应的关系模型

排行(游戏编号(外键),游戏人数,充值总金额)

4)交易信息对应的关系模型

交易(交易编号(主键),玩家编号,游戏编号,RMB金额,交易时间)

5)考勤信息对应的关系模型

考勤(员工编号(主键一部分),日期(主键一部分),请假次数,迟到次数,缺勤次数)

6)用户信息对应的关系模型

用户(用户名,密码,权限)

2.数据库表结构的设计

1)玩家信息表结构

2)游戏信息表结构

3)排行信息表结构

4)交易信息表结构

5)游戏币信息表结构

4.数据库的实现

1.创建玩家信息表

CREATETABLEplayer

pidintprimarykey,

pnamevarchar(10),

sexvarchar

(2),

gidint,

levelsint,

moneyint

);

2.向玩家信息表中插入记录

insertintoplayervalues(1,'三','男',1,58,51);

insertintoplayervalues(2,'四','男',1,59,58);

insertintoplayervalues(3,'王五','男',2,27,65);

insertintoplayervalues(4,'六','男',2,25,25);

insertintoplayervalues(5,'徐涛','男',2,29,5);

insertintoplayervalues(6,'石头','男',3,27,53);

insertintoplayervalues(7,'子文','男',3,25,5);

insertintoplayervalues(8,'王灿','女',4,66,35);

insertintoplayervalues(9,'徐香气','女',4,66,25);

insertintoplayervalues(10,'郭俊明','男',5,6,45);

insertintoplayervalues(11,'王一','男',4,66,35);

insertintoplayervalues(12,'王二','女',3,6,5);

insertintoplayervalues(13,'王三','男',4,66,30);

insertintoplayervalues(14,'王四','女',2,76,35);

insertintoplayervalues(15,'王五五','女',4,66,35);

insertintoplayervalues(16,'王六','女',1,89,3);

insertintoplayervalues(17,'王七','女',4,54,35);

insertintoplayervalues(18,'王八','男',2,66,31);

insertintoplayervalues(19,'王九','女',4,86,35);

insertintoplayervalues(20,'王十','女',1,66,37);

insertintoplayervalues(21,'一','男',4,66,54);

insertintoplayervalues(22,'二','女',3,66,35);

insertintoplayervalues(23,'三','男',1,69,38);

insertintoplayervalues(24,'四','男',5,66,39);

insertintoplayervalues(25,'五','女',4,60,5);

3.在表空间上创建游戏表

CREATETABLEgame

gidintprimarykey,

gnamevarchar(10),

typevarchar(5)NOTNULL,

operating_companyvarchar(10),

birth_datedate

);

4.向游戏表中插入记录

insertintogamevalues(1,'吞噬天地','网游','网易','2014-9-1');

insertintogamevalues(2,'英雄联盟','竞技','腾讯','2010-5-20');

insertintogamevalues(3,'DOTA2','竞技','暴雪','2006-1-30');

insertintogamevalues(4,'炫舞','休闲','腾讯','2012-6-1');

insertintogamevalues(5,'模拟人生','模拟','腾讯','2010-2-25');

5.创建排行信息表

CREATETABLErank

gidint,

peoplesumint,

moneysumint

);

6.向排行信息表中插入记录

insertintorankvalues(1,25216020,35000);

insertintorankvalues(2,26514260,250000);

insertintorankvalues(3,215656560,205000);

insertintorankvalues(4,2515540,350000);

insertintorankvalues(5,1655620,3000);

7.创建交易信息表

CREATETABLEsalerecord

saleidintprimarykey,

pidint,

gidint,

RMBint,

saledatedate

);

8.向交易信息表中插入记录

insertintosalerecordvalues(1,1,2,35000,'2014-9-1');

insertintosalerecordvalues(2,2,3,250000,'2013-8-12');

insertintosalerecordvalues(3,3,4,205000,'2014-9-12');

insertintosalerecordvalues(4,4,1,350000,'2012-7-21');

insertintosalerecordvalues(5,5,4,7000,'2014-9-3');

insertintosalerecordvalues(6,11,4,35050,'2010-3-1');

insertintosalerecordvalues(7,6,5,50010,'2014-4-17');

insertintosalerecordvalues(8,9,2,935000,'2009-8-5');

insertintosalerecordvalues(9,6,3,835000,'2015-3-14');

insertintosalerecordvalues(10,18,1,3215000,'2010-3-11');

insertintosalerecordvalues(11,22,2,1325000,'2014-3-1');

9.创建游戏币信息表

CREATETABLEgameb

gidint,

RMBint,

gamebint

);

10.向游戏币信息表中插入记录

insertintogamebvalues(1,8,800);

insertintogamebvalues(2,9,9000);

insertintogamebvalues(3,65,6500);

insertintogamebvalues(4,5,500);

insertintogamebvalues(5,25,25000);

insertintogamebvalues(6,25,2500);

insertintogamebvalues(7,25,2500);

11.创建用户信息表

createtableusers

(usernamechar(10)notnull,

passwordchar(30)notnull,

jurischar(30)

);

12.向用户信息表中插入记录

insertintousers(username,password,juris)values('YH','123','所有权限');

insertintousers(username,password,juris)values('YH00','123','查询');

13.建立外键和CHCEK约束

altertableplayer

addconstraintplayer_gameforeignkey(gid)

referencesgame(gid);

altertablerank

addconstraintrank_gameforeignkey(gid)

referencesgame(gid);

altertablesalerecord

addconstraintsalerecord_playerforeignkey(pid)

referencesplayer(pid);

altertablesalerecord

addconstraintsalerecord_gameforeignkey(gid)

referencesgame(gid);

altertableplayer

addconstraintcheck_sexcheck(sexin('男','女'));

5.主要代码

1.查询代码

1)查询王五的等级

selectlevelsfromplayer

whereplayer.pname='王五';

2)查询模拟戏人生的运营公司

selectoperating_companyfromYH.dbo.game

wheregame.gname='模拟人生';

3)查看游戏排行按游戏人数排列

selectdistinctgame.gname,rank.peoplesum,rank.moneysumfromYH.dbo.game,YH.dbo.rank

whererank.gid=game.gid

orderbypeoplesumdesc;

4)查询DOTA2所有玩家信息

selectplayer.*fromYH.dbo.player,YH.dbo.game

wheregame.gname='DOTA2'andgame.gid=player.gid;

5)查询玩家及玩家所玩游戏名称

selectplayer.pid,player.pname,game.gname,player.levelsfromYH.dbo.player,YH.dbo.game

whereplayer.gid=game.gid;

6)查询四玩家的所有交易记录

selectsalerecord.*fromYH.dbo.salerecord,YH.dbo.player

whereplayer.pname='四'andplayer.pid=salerecord.pid;

7)查询英雄联盟的玩家排行表按等级排列

selectplayer.*fromYH.dbo.player,YH.dbo.game

wheregame.gname='英雄联盟'andplayer.gid=game.gid

orderbylevelsdesc;

8)查询炫舞玩家的总充值金额

selectsum(player.money)炫舞充值总金额fromYH.dbo.game,YH.dbo.player

wheregame.gname='炫舞'andplayer.gid=game.gid;

9)查看所有充值金额超过50的玩家的名称和游戏

selectgame.gname,player.pname,salerecord.RMBfromYH.dbo.game,YH.dbo.salerecord,YH.dbo.player

wheresalerecord.RMB>50andsalerecord.pid=player.pidandplayer.gid=game.gid;

10)查询与吞噬天地有交易的玩家的信息按交易金额降序排列

selectplayer.*,salerecord.RMBfromYH.dbo.salerecord,YH.dbo.game,YH.dbo.player

wheregame.gname='吞噬天地'andgame.gid=salerecord.gidandsalerecord.pid=player.pid

orderbysalerecord.RMBdesc;

2.创建视图

1)创建视图统计各个游戏的玩家数量。

按玩家编号升序排列

createviewvw_countas

selectdistinctgame.gid,game.gname,count(player.pid)player

fromYH.dbo.game,YH.dbo.player

wheregame.gid=player.gid

groupbygame.gid,game.gname

orderbygame.gid;

2)调用视图(sal_avg)中的记录

select*fromvw_count;

3.创建存储过程

1)创建存储过程,使某玩家升级(levelup)

createprocedurelevelup

pnamevarchar(10)

as

begin

updateYH.dbo.playersetplayer.levels=player.levels+1

whereplayer.pname=pname;

end;

三升级了

execleveluppname='三';

2)创建一个删除玩家的存储过程

createproceduredel

pidint

as

begin

deleteYH.dbo.salerecordwheresalerecord.pid=pid;

deleteYH.dbo.playerwhereplayer.pid=pid;

commit;

end;

执行存储过程

execdelpid='3';

 

6.数据库备份

1.导出数据

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1