RPG游戏数据库设计⼀.数据库需求分析
通过游戏过程中所需元素,设计如下数据项和数据结构
1.⾓⾊,包括的数据项有:⽤户ID,⾓⾊ID,⾓⾊昵称,(通⽤属性,⾓⾊属性)
2.⾓⾊属性,包括的数据项有:⼒量,智⼒,敏捷,经验值,职业,⾓⾊ID
3.通⽤属性,包括的数据项有:⽣命值,魔法值,攻击⼒,护甲值,魔抗值,主⼈ID
4.怪物信息,包括的数据项有:怪物ID,(通⽤属性,NPC属性)
5.NPC属性,包括的数据项有:出⽣地点,活动范围,功能,主⼈ID
6.⽤户信息,包括的数据项有:⽤户ID,⽤户密码,⽤户邮箱,登陆地址,登陆时间
7.装备,包括的数据项有:装备名称,装备描述,(通⽤属性),装备ID,主⼈ID
8.技能,包括的数据项有:技能名称,基础伤害,加成类型,加成⽐例,冷却时间,学习等级⼆.数据库概念结构设计
⾓⾊E-R图.PNG
⾓⾊属性E-R图.PNG
通⽤属性E-R图.PNG
怪物信息E-R图.PNG
NPC属性E-R图.PNG
⽤户信息E-R图.PNG
装备E-R图.PNG
技能E-R图.PNG
实体间联系E-R图.PNG
三.数据库逻辑结构设计
⾓⾊
字段名数据类型长度是否为NULL描述
YHID INT8不为NULL,外键创建该⾓⾊的⽤户ID JSID INT8不为NULL,主键该⾓⾊的ID
JSNC CHAR8不为NULL⾓⾊昵称
⾓⾊属性
字段名数据类型长度是否为NULL描述
ID INT8不为NULL,外键拥有该属性的⾓⾊ID LL INT3不为NULL⼒量
ZL INT3不为NULL智⼒
MJ INT3不为NULL敏捷
JYZ INT3不为NULL经验值
ZY CHAR4不为NULL职业
通⽤属性
字段名数据类型长度是否为NULL描述
SMZ INT3不为NULL⽣命值
MFZ INT3不为NULL魔法值
GJL INT3不为NULL攻击⼒
HJZ INT3不为NULL护甲值
MKZ INT3不为NULL魔抗值
ID INT8不为NULL,外键拥有该属性的ID
怪物
字段名数据类型长度是否为NULL描述
ID INT8不为NULL,主键怪物ID
NPC属性
字段名数据类型长度是否为NULL描述
ID INT8不为NULL,外键拥有该属性的ID CSDD CHAR8不为NULL出⽣地点HDFF INT3不为NULL活动范围
GN CHAR3可空,商⼈,任务发布者,怪物等功能⽤户信息
字段名数据类型长度是否为NULL描述
YHID INT8不为NULL,主键⽤户ID YHMM CHAR8不为NULL⽤户密码YHYX CHAR8不为NULL⽤户邮箱DLDZ CHAR8可NULL登陆地址DLSJ CHAR8可NULL登陆时间
装备
字段名数据类型长度是否为NULL描述
ZBID INT8不为NULL,主键装备ID
ZRID INT8不为NULL,外键拥有该装备的⾓⾊ID
ZBMC CHAR8不为NULL装备名称
ZBMS CHAR8可NULL装备描述
技能
字段名数据类型长度是否为NULL描述
ID INT8不为NULL,外键拥有该技能的⾓⾊ID JNMC CHAR8不为NULL技能名称
JCSS INT8不为NULL基础伤害
JCLX CHAR2不为NULL,物理,魔法加成类型
JCBL INT2可为NULL加成⽐例
LQSJ INT3不为NULL冷却时间
XXDJ INT3可为NULL学习等级
四.数据库物理结构设计
根据以上逻辑分析所得到的表的关系,我们使⽤SQL语⾔设计得到数据库和数据表,如下:1.创建数据库RPGdatabase
CREATE DATABASE RPGdatabase;
2.创建⾓⾊数据表
CREATE TABLE Players(
YHID INTEGER NOT NULL,
JSID INTEGER NOT NULL,
JSNC CHAR(8) NOT NULL,
数据库属性的概念PRIMARY KEY(JSID)
FOREIGN KEY(YHID) REFERENCES(Users)
)
3.创建⾓⾊属性数据表
CREATE TABLE PAttributes(
ID INTEGER NOT NULL,
LL INTEGER NOT NULL,
ZL INTEGER NOT NULL,
MJ INTEGER NOT NULL,
JYZ INTEGER NOT NULL,
ZY CHAR(4) NOT NULL,
FOREIGN KEY(ID) REFERENCES(Players)
)
4.创建通⽤属性数据表
CREATE TABLE PAttributes(
ID INTEGER NOT NULL,
SMZ INTEGER NOT NULL,
MFZ INTEGER NOT NULL,
GJL INTEGER NOT NULL,
HJZ INTEGER NOT NULL,
MKZ INTEGER NOT NULL,
FOREIGN KEY(ID) REFERENCES(Players)
)
5.创建怪物数据表
CREATE TABLE Monsters(
ID INTEGER NOT NULL,
PRIMARY KEY(ID)
)
6.创建NPC属性数据表
CREATE TABLE NpcAttributes(
ID INTEGER NOT NULL,
CSDD CHAR(8) NOT NULL,
HDFF INTEGER NOT NULL,
GN CHAR(3),
FOREIGN KEY(ID) REFERENCES(Players)
)
7.创建⽤户信息数据表
CREATE TABLE Users(
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论