数据库大作业三国战略

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库设计报告

-------------------模拟三国策略游戏数据库

院系:软件学院

班级:软件0903班

组员:卢鹏洲(2)

组员:马英杰(4)

日期2011/11/1

一、业务规则

我们数据库设计的构思来自于平时玩的三国题材游戏。

根据游戏中武将、城池、势力、军队、人物关系等各种信息,以及建设、战斗、查看情报等各种功能,提出一种可以实现游戏部分功能的数据库设计方案。在此,我们首先分析游戏的要实现的功能

主要包括:

1.情报查看:用户(以下统称玩家)可以查看各个势力、军团、城池的情报。

2.任命太守:玩家将一名武将设置为一座城池的太守,太守可在城池中执

行内政命令。

3.城池经营:城池经营包涵两个分支功能,一个是内政,内政由城池的太

守执行(执行效果由智力决定),内政提高城市的治安,治

安越高兵粮增加越快。

另一个是征兵,选取一个武将对一只部队进行征兵,征兵

数量由武将武力决定。

4.攻打城池:选择己方的一个城池发动对敌方一个城池的进攻,攻打时以

部队为单位,每只部队由一到两名武将带领。

5.输送:将部队或武将由一个城池转移到另一个城池。

游戏过程中的主要功能为以上几种,我们的数据库就围绕上述功能设计,尽管要形成一个游戏还有很多细小零碎的功能,其余和数据库关系不大的功能在此就不赘述了。

二、业务流程

1.情报查看:玩家执行情报查看功能,相关数据操作如下:

“实力情报显示”玩家发出的查看命令,系统显示各势力总体情报。“军团情报显示”玩家选择一个势力,显示该势力军团情报。

“城池武将情报显示”选择一个军团,显示该军团城池武将情报。

图 1 玩家查看情报数据流图

2.任命太守:玩家指定一位武将,再指定一座己方城池,将该武将设置为该城池太守,玩家相关数据操作如下:

“城池列表显示”

“选择城池”玩家选择城池,选择信息传给系统

“武将列表显示”

“选择武将”玩家选择城池、和太守,选择信息传给系统

“修改武将所在”

“计算城池太守能力”系统根据玩家指令修改城池

“太守能力修改”生成新的太守数据。

图 2 太守任命数据流图

3.城池经营-内政:玩家选择城池,根据该城太守智力增加城池治安,相关数据操作如下:

“城池列表显示”

“城池选择”玩家根据系统给出的城池表选择城池,选择信息传给系统“治安计算”系统根据所选城池最大治安值和太守智力计算出新治安值,并修改城池数据

图 3 内政指令数据流图

4.城池经营-征兵:玩家选择城池,之后选择武将、部队,让该武将对该部队执行征兵,相关数据操作如下:

“城池列表显示”

“选择城池”根据系统提供城池表选择城池

“武将、部队显示”系统根据所选城池生成武将\部队表

“选择武将、部队”由玩家选择执行武将和部队

“计算征兵数”系统根据玩家选择计算,然后修改相应数据

图4 征兵指令数据流图

5.攻打城池:有玩家选择一个敌对城池,选择由己方武将和部队编成的军队,将所选数据交给系统,系统计算输赢,修改城池、武将、部队信息,数据流图如下:

图 5 攻城指令数据流图

6.输送:玩家选择一个城池的部队或武将,转移到另一城池,对两城数据以及转移武将、部队数据进行修改,数据流图如下:

图 6 输送指令数据流图

三、概念设计

图 7 整体ER图

四、逻辑设计

势力表:

军团表:

城池表:

部队表:

兵种表:

太守表:

武将关系表:

如图所示,有钥匙标示的是表的主键,如城池的城池名,有的表不含有主键只是作为外部键,如太守表、武将关系表中没有主键

五、规范化设计

第一范式

势力(势力名,君主,)

军团(军团名,所属势力,军团长)

城池(城池名,所属军团,所属势力,太守)

太守(镇守城,名字,战力值,农业值)

武将(武将名,驻守城,势力,武力,智力)

武将关系(武将名,关系武将,关系)

部队(部队名,兵种,驻扎城池)

兵种(兵种名,地战力,山战力,水战力,城战力)

第二范式同以上第一范式

第三范式

势力(势力名,君主,)

军团(军团名,所属势力,军团长)

城池(城池名,所属军团,太守)

武将(武将名,驻守城,武力,智力)

太守(镇守城,名字,战力值,农业值)

武将关系(武将名,关系武将,关系)

部队(部队名,兵种,驻扎城池)

兵种(兵种名,地战力,山战力,水战力,城战力)

BC范式同以上第三范式

六、物理设计

建表语句:

CREATE TABLE [dbo].[势力](

[势力名] [char](20) NOT NULL,

[君主] [char](20) NULL,

CONSTRAINT [PK_势力_1] PRIMARY KEY CLUSTERED

(

[势力名] ASC

)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY]

CREATE TABLE [dbo].[兵种](

[兵种名] [char](20) NOT NULL,

[地战力] [int] NULL,

[水战力] [int] NULL,

[山战力] [int] NULL,

[城战力] [int] NULL,

CONSTRAINT [PK_兵种] PRIMARY KEY CLUSTERED

(

[兵种名] ASC

)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]

相关文档
最新文档