资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
数据库设计报告-模拟三国策略游戏数据库院系: 软件学院 班级: 软件 0903 班 组员: 卢鹏洲(200992042 )组员: 马英杰(200992214 ) 日期 2011/11/1一、业务规则我们数据库设计的构思来自于平时玩的三国题材游戏。根据游戏中武将、城池、势力、军队、人物关系等各种信息,以及建设、战斗、查看情报等各种功能,提出一种可以实现游戏部分功能的数据库设计方案。 在此,我们首先分析游戏的要实现的功能主要包括:1.情报查看:用户( 以下统称玩家)可以查看各个势力、军团、城池的情报。2.任命太守:玩家将一名武将设置为一座城池的太守,太守可在城池中执行内政命令。3.城池经营:城池经营包涵两个分支功能,一个是内政,内政由城池的太守执行(执行效果由智力决定) ,内政提高城市的治安,治安越高兵粮增加越快。另一个是征兵,选取一个武将对一只部队进行征兵,征兵数量由武将武力决定。 4.攻打城池:选择己方的一个城池发动对敌方一个城池的进攻,攻打时以部队为单位,每只部队由一到两名武将带领。5.输送:将部队或武将由一个城池转移到另一个城池。游戏过程中的主要功能为以上几种,我们的数据库就围绕上述功能设计,尽管要形成一个游戏还有很多细小零碎的功能,其余和数据库关系不大的功能在此就不赘述了。二、 业务流程1.情报查看:玩家执行情报查看功能,相关数据操作如下:1.1“实力情报显示 ”玩家发出的查看命令,系统显示各势力总体情报。1.2“军团情报显示 ”玩家选择一个势力,显示该势力军团情报。1.3“城池武将情报显示 ”选择一个军团,显示该军团城池武将情报。势力情报显示势力数据信息玩家势力信息势力选择指令势力列表军团情报信息军团情报显示查看情报命令军团信息军团数据信息军团选择指令城池武将情报信息城池情报信息城池数据信息军团信息城池信息城池信息武将数据信息武将信息军团选择信息势力选择信息图 1 玩家查看情报数据流图2任命太守:玩家指定一位武将,再指定一座己方城池,将该武将设置为该城池太守,玩家相关数据操作如下:1.1“城池列表显示 ”1.2“选择城池 ”玩家选择城池,选择信息传给系统2.1“武将列表显示 ”2.2“选择武将 ”玩家选择城池、和太守,选择信息传给系统3.1“修改武将所在 ”3.2“计算城池太守能力 ”系统根据玩家指令修改城池3.3“太守能力修改 ”生成新的太守数据。玩家选择武将选择城池计算城池太守能力修改武将所在城池数据信息武将数据信息城池选择指令武将选择指令城池 、 太守信息城池选择信息赴任城池信息城池太守信息新任太守信息武将所在修改信息城池表城池列表显示城池列表武将列表显示武将列表武将表选城指令选将指令太守能力修改太守能力信息太守数据信息图 2 太守任命数据流图3.城池经营-内政:玩家选择城池,根据该城太守智力增加城池治安,相关数据操作如下:1.1“城池列表显示 ”1.2“城池选择 ”玩家根据系统给出的城池表选择城池,选择信息传给系统2.1“治安计算 ”系统根据所选城池最大治安值和太守智力计算出新治安值,并修改城池数据玩家城池选择城池列表城池选择信息城池列表显示选城指令太守数据信息城池数据信息治安计算城池表指定城池信息 所选城池太守信息新治安值治安最大值图 3 内政指令数据流图4.城池经营-征兵:玩家选择城池,之后选择武将、部队,让该武将对该部队执行征兵,相关数据操作如下:1.1“城池列表显示 ”1.2“选择城池 ”根据系统提供城池表选择城池2.1“武将、部队显示 ”系统根据所选城池生成武将部队表2.2“选择武将、部队 ”由玩家选择执行武将和部队3.1“计算征兵数 ”系统根据玩家选择计算,然后修改相应数据玩家选择武将 、 部队选择城池计算征兵数城池数据信息武将数据信息城池选择指令城池选择信息武将 、 部队信息城池兵力增加信息城池表城池列表显示城池列表武将 、部队显示武将 、 部队列表武将表选城指令武将信息备选武将信息武将 、 部队选择指令部队数据信息部队表部队增编信息图 4 征兵指令数据流图5.攻打城池:有玩家选择一个敌对城池,选择由己方武将和部队编成的军队,将所选数据交给系统,系统计算输赢,修改城池、武将、部队信息,数据流图如下:玩家1 . 1攻城指令处理攻城指令2 . 1选攻处理2 . 2选派处理己方选派指令选攻城池指令城池数据信息可选敌对城池表选攻信息选派表单选派信息敌城表我方城池表选派部队信息2 . 3计算生成军队被攻打城池信息2 . 4攻城计算处理军队信息武将数据信息部队数据信息武将候选表部队候选表2 . 5战果处理战役数据城池更新数据武将所属修改数据部队更新数据图 5 攻城指令数据流图6.输送:玩家选择一个城池的部队或武将,转移到另一城池,对两城数据以及转移武将、部队数据进行修改,数据流图如下:玩家1 . 1起点城处理输送指令表单生成指令2 . 1生成输送候选表城池数据信息部队数据信息武将数据信息候选城池表候选部队表候选武将表执行指令2 . 2输送处理部队修改信息武将修改信息城池修改信息图 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 PRIMARYCREATE 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) ON PRIMARYCREATE TABLE dbo.关系(武将名 char(20) NULL,关系 char(20) NULL,关系武将 char(20) NULL) ON PRIMARYCREATE TABLE dbo.太守(镇守城 char(20) NULL,名字 char(20) NOT NULL,战力值 int NULL,农业值 int NULL) ON PRIMARYCREATE TABLE dbo.武将(武将名 char(20) NOT NULL,武力 int NULL,智力 int NULL,势力 char(20) NULL,驻守城 char(20) NULL,CONSTRAINT PK_武将 PRIMARY KEY CLUSTERED (武将名 ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARYCREATE TABLE dbo.军团(军团名 char(20) NOT NULL,军团长 char(20) NULL,所属势力 char(20) NULL,CONSTRAINT PK_军团 PRIMARY KEY CLUSTERED (军团名 ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARYCREATE TABLE dbo.城池(城池名 char(20) NOT NULL,太守名 char(20) NULL,军团名 char(20) NULL,势力名 char(20) NULL,兵数 int NULL,CONSTRAINT PK_城池 PRIMARY KEY CLUSTERED (城池名 ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARYCREATE TABLE dbo.部队(部队名 char(20) NOT NULL,驻扎城池 char(20) NULL,兵种 char(20) NULL,CONSTRAINT PK_部队 PRIMARY KEY CLUSTERED (部队名 ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARY关系语句:ALTER TABLE dbo.关系 WITH CHECK ADD CONSTRAINT FK_关系_武将 FOREIGN KEY(武将名)REFERENCES dbo.武将 (武将名)ALTER TABLE dbo.关系 CHECK CONSTRAINT FK_关系_武将ALTER TABLE dbo.太守 WITH CHECK ADD CONSTRAINT FK_太守_城池 FOREIGN KEY(镇守城)REFERENCES dbo.城池 (城池名)ALTER TABLE dbo.太守 CHECK CONSTRAINT FK_太守_城池ALTER TABLE dbo.太守 WITH CHECK ADD CONSTRAINT FK_太守_武将 FOREIGN KEY(名字)REFERENCES dbo.武将 (武将名)ALTER TABLE dbo.太守 CHECK CONSTRAINT FK_太守_武将ALTER TABLE dbo.武将 WITH CHECK ADD CONSTRAINT FK_武将_城池 FOREIGN KEY(驻守城)REFERENCES dbo.城池 (城池名)ALTER TABLE dbo.武将 CHECK CONSTRAINT FK_武将_城池ALTER TABLE dbo.武将 WITH CHECK ADD CON
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号