网络游戏信息管理系统.docx
《网络游戏信息管理系统.docx》由会员分享,可在线阅读,更多相关《网络游戏信息管理系统.docx(17页珍藏版)》请在冰豆网上搜索。
网络游戏信息管理系统
大型数据库技术设计报告
题目:
网络游戏信息管理系统数据库设计
学生姓名:
易进
学号:
201317030119
专业班级:
网工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)查询模拟