网络游戏信息管理系统

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

大型数据库技术设计报告

题目:网络游戏信息管理系统数据库设计学生姓名:易进

学号: 2

专业班级: 网工13101班

指导教师: 刘波涛

设计时间: 2015年下学期

指导老师意见:

评定成绩:

签名:日期:

目录

1、?需求分析.......................................................................................................................... 1

2、 .......................................................................................................................概念模型设计?1

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

2、?游戏信息E—R图(如图2所示)?2

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

4、................................................................................. 交易信息E—R图(如图4所示)?3

5、?游戏币信息E—R图(如图5所示)?3

6、整体简洁E-R图(如图6所示)?4

7、?用户信息E-R图(如图7所示) (4)

3、?逻辑结构设计 (5)

1、关系模型设计5

2、?数据库表结构得设计 .............................................................................................. 5

4、数据库得实现 (7)

1、?创建玩家信息表 ...................................................................................................... 7

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

3、?在表空间上创建游戏表?9

4、?向游戏表中插入记录 (9)

5、创建排行信息表?9

6、向排行信息表中插入记录 (10)

107、........................................................................................................ 创建交易信息表?8、向交易信息表中插入记录10

9、创建游戏币信息表.............................................................................................. 11

10、向游戏币信息表中插入记录 (11)

11、创建用户信息表 (11)

12

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

13、建立外键与CHCEK约束 ................................................................................ 125、?主要代码?13

1、查询代码13

2、?创建视图?17

18

3、创建存储过程?

6、数据库备份?20

1、导出数据?20

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.创建玩家信息表

CREATETABLE player

(

pidintprimarykey,

pname varchar(10),

sexvarchar(2),

gid int,

levelsint,

money int

);

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

insertinto player values(1,'张三',’男',1,58,51);

insert into playervalues(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);

insert intoplayer values(6,'石头’,’男',3,27,53);

insertintoplayer values(7,’陈子文','男',3,25,5);insert into player values(8,’王灿','女’,4,66,35);

insertinto player values(9,’徐香气’,'女',4,66,25);insert into player values(10,’郭俊明',’男',5,6,45);

insert into player values(11,’王一','男',4,66,35);

insert intoplayer values(12,'王二',’女’,3,6,5);

insert into playervalues(13,'王三’,'男',4,66,30);

insert into player values(14,'王四',’女',2,76,35);

insert into player values(15,'王五五’,'女',4,66,35);

insertintoplayer values(16,’王六’,'女’,1,89,3);

insert into playervalues(17,'王七',’女',4,54,35);insert intoplayervalues(18,’王八’,’男',2,66,31); insert intoplayervalues(19,’王九',’女',4,86,35);

insert into player values(20,’王十','女',1,66,37);

insert intoplayer values(21,’赵一’,'男',4,66,54);

insert into playervalues(22,’赵二’,'女',3,66,35);

insertinto playervalues(23,’赵三',’男',1,69,38);

insert intoplayer values(24,'赵四','男',5,66,39);

insert into player values(25,'赵五’,'女’,4,60,5);

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

CREATE TABLE game

(

gid int primary key,

gname varchar(10),

typevarchar(5) NOT NULL,

operating_pany varchar(10),

birth_date date

);

4.向游戏表中插入记录

insert into gamevalues(1,'吞噬天地','网游','网易', '2014-9-1’);

insert into game values(2,'英雄联盟’,'竞技',’腾讯',’2010—5-20’);

insert into game values(3,'DOTA2’,'竞技’,'暴雪', ’2006-1-30’);

insert into gamevalues(4,'炫舞’,’休闲’,'腾讯’, '2012—6—1');

insertinto game values(5,’模拟人生’,'模拟’,’腾讯',’2010—2—25'); 5.创建排行信息表

CREATE TABLE rank

gid int,

peoplesum int,

moneysum int

);

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

insert into rank values(1,25216020,35000);

insert into rank values(2,26514260,250000);

insert intorank values(3,215656560,205000);

insert into rank values(4,2515540,350000);

insert into rank values(5,1655620,3000);

7.创建交易信息表

CREATE TABLE salerecord

saleid int primary key,

pidint,

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 values(3,3,4,205000,'2014-9—12');insert into salerecord values(4,4,1,350000,'2012-7-21');

insert intosalerecord values(5,5,4,7000,'2014-9-3');

insert into salerecord values(6,11,4,35050,'2010—3—1');

insertinto salerecord values(7,6,5,50010,'2014-4-17'); insert intosalerecord values(8,9,2,935000,’2009-8-5');insertinto salerecord values(9,6,3,835000,'2015-3-14');

insert into salerecord values(10,18,1,3215000,'2010-3-11');

insertintosalerecord values(11,22,2,1325000,’2014-3-1');

9.创建游戏币信息表

CREATETABLEgameb

gid int,

RMBint,

gameb int

);

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

insert into gameb values(1,8,800);

insert into gameb values(2,9,9000);

insert into gameb values(3,65,6500);

insert intogameb 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,

jurischar(30)

);

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

insert into users(username,password,juris)values(’YH’,’123',’所有权限’);

insert intousers(username,password,juris)values('YH00’,’123',’查询');

13.建立外键与CHCEK约束

alter table player

addconstraint player_game foreignkey(gid)

references game(gid);

alter table rank

add constraint rank_game foreign key(gid)

references game(gid);

alter table salerecord

add constraint salerecord_playerforeign key(pid)references player(pid);

alter table salerecord

add constraint salerecord_game foreign key(gid)

references game(gid);

alter table player

add constraint check_sex check (sexin(’男’,'女'));5.主要代码

1.查询代码

1)查询王五得等级

select levels from player

where player、pname=’王五';

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

select operating_pany fromYH、dbo、game

where game、gname ='模拟人生';

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

select distinct game、gname,rank、peoplesum,rank、moneysum from YH、dbo、game,YH、dbo、rank

where rank、gid= game、gid

order by peoplesumdesc;

4)查询DOTA2所有玩家信息

select player、* from YH、dbo、player,YH、dbo、game

where game、gname='DOTA2’andgame、gid= player、gid;

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

selectplayer、pid,player、pname,game、gname,player、levels from YH、dbo、player,YH、dbo、game

where player、gid=game、gid;

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

select salerecord、* from YH、dbo、salerecord,YH、dbo、player

whereplayer、pname='李四'and player、pid=salerecor d、pid;

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

select player、*from YH、dbo、player,YH、dbo、game

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

order by levels desc;

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

select sum(player、money) 炫舞充值总金额 from YH、dbo、game,YH、dbo、player

where game、gname='炫舞' and player、gid =game、gid;

9)查瞧所有充值金额超过50得玩家得名称与游戏

select game、gname,player、pname,salerecord、RMBf rom YH、dbo、game,YH、dbo、salerecord,YH、dbo、player

where salerecord、RMB〉50 and salerecord、pid=player、pidan d player、gid=game、gid;

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

select player、*,salerecord、RMB from YH、dbo、salerecord,YH、dbo、game,YH、dbo、player

where game、gname='吞噬天地’ and game、gid=salerecord、g id and salerecord、pid = player、pid

order by salerecord、RMB desc;

2.创建视图

1)创建视图统计各个游戏得玩家数量。按玩家编号升序排列

createview vw_count as

select distinct game、gid,game、gname,count(player、pid) player

fromYH、dbo、game,YH、dbo、player

where game、gid= player、gid

group by game、gid,game、gname

order by game、gid;

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

select *from vw_count;

3.创建存储过程

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

create procedure levelup

pname varchar(10)

as

begin

update YH、dbo、player set player、levels=player、level s+1

where player、pname=pname;

end;

张三升级了

exec leveluppname=’张三';

相关主题
相关文档
最新文档