一.數(shù)據(jù)庫(kù)需求分析
通過(guò)游戲過(guò)程中所需元素悬秉,設(shè)計(jì)如下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)
1.角色,包括的數(shù)據(jù)項(xiàng)有:用戶ID冰蘑,角色I(xiàn)D和泌,角色昵稱,(通用屬性祠肥,角色屬性)
2.角色屬性武氓,包括的數(shù)據(jù)項(xiàng)有:力量,智力,敏捷县恕,經(jīng)驗(yàn)值东羹,職業(yè),角色I(xiàn)D
3.通用屬性忠烛,包括的數(shù)據(jù)項(xiàng)有:生命值属提,魔法值,攻擊力美尸,護(hù)甲值垒拢,魔抗值,主人ID
4.怪物信息火惊,包括的數(shù)據(jù)項(xiàng)有:怪物ID,(通用屬性奔垦,NPC屬性)
5.NPC屬性屹耐,包括的數(shù)據(jù)項(xiàng)有:出生地點(diǎn),活動(dòng)范圍椿猎,功能惶岭,主人ID
6.用戶信息,包括的數(shù)據(jù)項(xiàng)有:用戶ID犯眠,用戶密碼按灶,用戶郵箱,登陸地址筐咧,登陸時(shí)間
7.裝備鸯旁,包括的數(shù)據(jù)項(xiàng)有:裝備名稱,裝備描述量蕊,(通用屬性)铺罢,裝備ID,主人ID
8.技能残炮,包括的數(shù)據(jù)項(xiàng)有:技能名稱韭赘,基礎(chǔ)傷害,加成類型势就,加成比例泉瞻,冷卻時(shí)間,學(xué)習(xí)等級(jí)
二.數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)
三.數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)
角色 | ||||
---|---|---|---|---|
字段名 | 數(shù)據(jù)類型 | 長(zhǎng)度 | 是否為NULL | 描述 |
YHID | INT | 8 | 不為NULL苞冯,外鍵 | 創(chuàng)建該角色的用戶ID |
JSID | INT | 8 | 不為NULL袖牙,主鍵 | 該角色的ID |
JSNC | CHAR | 8 | 不為NULL | 角色昵稱 |
角色屬性 | ||||
---|---|---|---|---|
字段名 | 數(shù)據(jù)類型 | 長(zhǎng)度 | 是否為NULL | 描述 |
ID | INT | 8 | 不為NULL,外鍵 | 擁有該屬性的角色I(xiàn)D |
LL | INT | 3 | 不為NULL | 力量 |
ZL | INT | 3 | 不為NULL | 智力 |
MJ | INT | 3 | 不為NULL | 敏捷 |
JYZ | INT | 3 | 不為NULL | 經(jīng)驗(yàn)值 |
ZY | CHAR | 4 | 不為NULL | 職業(yè) |
通用屬性 | ||||
---|---|---|---|---|
字段名 | 數(shù)據(jù)類型 | 長(zhǎng)度 | 是否為NULL | 描述 |
SMZ | INT | 3 | 不為NULL | 生命值 |
MFZ | INT | 3 | 不為NULL | 魔法值 |
GJL | INT | 3 | 不為NULL | 攻擊力 |
HJZ | INT | 3 | 不為NULL | 護(hù)甲值 |
MKZ | INT | 3 | 不為NULL | 魔抗值 |
ID | INT | 8 | 不為NULL抱完,外鍵 | 擁有該屬性的ID |
怪物 | ||||
---|---|---|---|---|
字段名 | 數(shù)據(jù)類型 | 長(zhǎng)度 | 是否為NULL | 描述 |
ID | INT | 8 | 不為NULL贼陶,主鍵 | 怪物ID |
NPC屬性 | ||||
---|---|---|---|---|
字段名 | 數(shù)據(jù)類型 | 長(zhǎng)度 | 是否為NULL | 描述 |
ID | INT | 8 | 不為NULL,外鍵 | 擁有該屬性的ID |
CSDD | CHAR | 8 | 不為NULL | 出生地點(diǎn) |
HDFF | INT | 3 | 不為NULL | 活動(dòng)范圍 |
GN | CHAR | 3 | 可空,商人碉怔,任務(wù)發(fā)布者烘贴,怪物等 | 功能 |
用戶信息 | ||||
---|---|---|---|---|
字段名 | 數(shù)據(jù)類型 | 長(zhǎng)度 | 是否為NULL | 描述 |
YHID | INT | 8 | 不為NULL,主鍵 | 用戶ID |
YHMM | CHAR | 8 | 不為NULL | 用戶密碼 |
YHYX | CHAR | 8 | 不為NULL | 用戶郵箱 |
DLDZ | CHAR | 8 | 可NULL | 登陸地址 |
DLSJ | CHAR | 8 | 可NULL | 登陸時(shí)間 |
裝備 | ||||
---|---|---|---|---|
字段名 | 數(shù)據(jù)類型 | 長(zhǎng)度 | 是否為NULL | 描述 |
ZBID | INT | 8 | 不為NULL撮胧,主鍵 | 裝備ID |
ZRID | INT | 8 | 不為NULL桨踪,外鍵 | 擁有該裝備的角色I(xiàn)D |
ZBMC | CHAR | 8 | 不為NULL | 裝備名稱 |
ZBMS | CHAR | 8 | 可NULL | 裝備描述 |
技能 | ||||
---|---|---|---|---|
字段名 | 數(shù)據(jù)類型 | 長(zhǎng)度 | 是否為NULL | 描述 |
ID | INT | 8 | 不為NULL,外鍵 | 擁有該技能的角色I(xiàn)D |
JNMC | CHAR | 8 | 不為NULL | 技能名稱 |
JCSS | INT | 8 | 不為NULL | 基礎(chǔ)傷害 |
JCLX | CHAR | 2 | 不為NULL芹啥,物理锻离,魔法 | 加成類型 |
JCBL | INT | 2 | 可為NULL | 加成比例 |
LQSJ | INT | 3 | 不為NULL | 冷卻時(shí)間 |
XXDJ | INT | 3 | 可為NULL | 學(xué)習(xí)等級(jí) |
四.數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)
根據(jù)以上邏輯分析所得到的表的關(guān)系,我們使用SQL語(yǔ)言設(shè)計(jì)得到數(shù)據(jù)庫(kù)和數(shù)據(jù)表墓怀,如下:
1.創(chuàng)建數(shù)據(jù)庫(kù)RPGdatabase
CREATE DATABASE RPGdatabase;
2.創(chuàng)建角色數(shù)據(jù)表
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.創(chuàng)建角色屬性數(shù)據(jù)表
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.創(chuàng)建通用屬性數(shù)據(jù)表
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.創(chuàng)建怪物數(shù)據(jù)表
CREATE TABLE Monsters(
ID INTEGER NOT NULL,
PRIMARY KEY(ID)
)
6.創(chuàng)建NPC屬性數(shù)據(jù)表
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.創(chuàng)建用戶信息數(shù)據(jù)表
CREATE TABLE Users(
YHID INTEGER NOT NULL,
YHMM CHAR(8) NOT NULL,
YHYX CHAR(8) NOT NULL,
DLDZ CHAR(8),
DLSJ CHAR(8),
PRIMARY KEY(YHID)
)
8.創(chuàng)建裝備信息數(shù)據(jù)表
CREATE TABLE Equips(
ZBID INTEGER NOT NULL,
ZRID INTEGER NOT NULL,
ZBMC CHAR(8) NOT NULL,
ZBMS CHAR(8),
PRIMARY KEY(ZBID)
FOREIGN KEY(ZRID) REFERENCES(Players)
)
9.創(chuàng)建技能信息數(shù)據(jù)表
CREATE TABLE Skills(
ID INTEGER NOT NULL,
JCSS INTEGER NOT NULL,
JNMC CHAR(8) NOT NULL,
JCLX CHAR(2) NOT NULL,
JCBL INTEGER,
LQSJ INTEGER NOT NULL,
XXDJ INTEGER,
FOREIGN KEY(ID) REFERENCES(Players)
)