一.数据库需求分析

通过游戏过程中所需元素,设计如下数据项和数据结构

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

INT

8

不为NULL,外键

创建该角色的用户ID

JSID

INT

8

不为NULL,主键

该角色的ID

JSNC

CHAR

8

不为NULL

角色昵称

角色属性

字段名

数据类型

长度

是否为NULL

描述

ID

INT

8

不为NULL,外键

拥有该属性的角色ID

LL

INT

3

不为NULL

力量

ZL

INT

3

不为NULL

智力

MJ

INT

3

不为NULL

敏捷

JYZ

INT

3

不为NULL

经验值

ZY

CHAR

4

不为NULL

职业

通用属性

字段名

数据类型

长度

是否为NULL

描述

SMZ

INT

3

不为NULL

生命值

MFZ

INT

3

不为NULL

魔法值

GJL

INT

3

不为NULL

攻击力

HJZ

INT

3

不为NULL

护甲值

MKZ

INT

3

不为NULL

魔抗值

ID

INT

8

不为NULL,外键

拥有该属性的ID

怪物

字段名

数据类型

长度

是否为NULL

描述

ID

INT

8

不为NULL,主键

怪物ID

NPC属性

字段名

数据类型

长度

是否为NULL

描述

ID

INT

8

不为NULL,外键

拥有该属性的ID

CSDD

CHAR

8

不为NULL

出生地点

HDFF

INT

3

不为NULL

活动范围

GN

CHAR

3

可空,商人,任务发布者,怪物等

功能

用户信息

字段名

数据类型

长度

是否为NULL

描述

YHID

INT

8

不为NULL,主键

用户ID

YHMM

CHAR

8

不为NULL

用户密码

YHYX

CHAR

8

不为NULL

用户邮箱

DLDZ

CHAR

8

可NULL

登陆地址

DLSJ

CHAR

8

可NULL

登陆时间

装备

字段名

数据类型

长度

是否为NULL

描述

ZBID

INT

8

不为NULL,主键

装备ID

ZRID

INT

8

不为NULL,外键

拥有该装备的角色ID

ZBMC

CHAR

8

不为NULL

装备名称

ZBMS

CHAR

8

可NULL

装备描述

技能

字段名

数据类型

长度

是否为NULL

描述

ID

INT

8

不为NULL,外键

拥有该技能的角色ID

JNMC

CHAR

8

不为NULL

技能名称

JCSS

INT

8

不为NULL

基础伤害

JCLX

CHAR

2

不为NULL,物理,魔法

加成类型

JCBL

INT

2

可为NULL

加成比例

LQSJ

INT

3

不为NULL

冷却时间

XXDJ

INT

3

可为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(

YHID INTEGER NOT NULL,

YHMM CHAR(8) NOT NULL,

YHYX CHAR(8) NOT NULL,

DLDZ CHAR(8),

DLSJ CHAR(8),

PRIMARY KEY(YHID)

)

8.创建装备信息数据表

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.创建技能信息数据表

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)

)

mysql 建表 game_RPG游戏数据库设计相关推荐

  1. mysql 建表脚本 shell_shell 数据库建表语句脚本

    #!/bin/sh SHELL_NAME=GetTabStript.sh /bin/rm -f CreateTable.sql /bin/rm -f tmp.sql ##获取数据库用户名.密码.实例, ...

  2. mysql建表语句 numeric_数据库建表语句

    展开全部 CREATE TABLE语句,用32313133353236313431303231363533e78988e69d8331333433616139于在数据库中创建新表.语法:CREATE ...

  3. mysql 建表 练习_数据库创建表,插入数据练习

    create table shangpin("商品名称" varchar2(30), "商品种类" varchar2(30), "商品单价" ...

  4. 【MySQL】MySQL建表与常见类型设计陷阱(MySQL专栏启动)

  5. mysql 建表时创建唯一索引

    Mysql建表与索引使用规范整理 一,设计表规范: MySQL建表,字段需设置为非空,需设置字段默认值: MySQL建表,字段需NULL时,需设置字段默认值,默认值不为NULL: MySQL建表,如果 ...

  6. mysql建表时主键_mysql建表时设置主键的方法

    mysql建表时设置主键的方法 发布时间:2020-10-10 15:17:28 来源:亿速云 阅读:119 作者:小新 mysql建表时设置主键的方法?这个问题可能是我们日常学习或工作经常见到的.希 ...

  7. mysql 建表建索引

    Mysql建表与索引使用规范整理 一,设计表规范: MySQL建表,字段需设置为非空,需设置字段默认值: MySQL建表,字段需NULL时,需设置字段默认值,默认值不为NULL: MySQL建表,如果 ...

  8. Python3 使用 pymysql 连接 MySQL 建表时出现 Warning3719 UTF8 警告

    在学习 Python3 爬虫关系型数据库储存时,利用 pymysql 连接 MySQL 建表,测试用的代码如下,第一句 SQL 用于获取当前 MySQL 的版本信息,第二句 SQL 执行创建 spid ...

  9. MySQL二十八规范数据库设计

    MySQL二十八:规范数据库设计 糟糕的数据库设计: ●数据冗余,浪费空间 ●数据库插入和删除都会麻烦.异常[ 屏蔽使用物理外键] ●程序的性能差 良好的数据库设计: ●节省内存空间 ●保证数据库的完 ...

  10. MySQL建表(那些字段必须)命令详解

    MySQL建表(那些字段必须)命令详解1. create table命令 强调:使用建表命令之前必须使用use命令选择表所在的数据库.create table命令的格式如下: create table ...

最新文章

  1. 学习结构[记录]类型(8) - 结构嵌套
  2. POJ 3694 (tarjan缩点+LCA+并查集)
  3. 读阿里许令波老师晋升评审有感
  4. 规模、性能、弹性全面升级,让天下没有难用的 K8s
  5. SQL 在OPENQUERY中使用参数
  6. 项目管理中的需求变更和解决之道
  7. nodejs---常用npm命令
  8. python多线程理解
  9. android json 斜杠,Android中Json数据去掉斜杠
  10. r510服务器开机无显示,联智通达工业主板常见问题之工控电脑开机无显示
  11. [20171107]dbms_shared_pool.pin.txt
  12. 深度学习笔记(30) Inception网络
  13. C语言知识点完美总结
  14. weak_auth 小宁写了一个登陆验证页面,随手就设了一个密码。
  15. [唐诗]杳杳寒山道-寒山
  16. Core Animation学习笔记—第二节Setting up Layer Objects
  17. 可数集合与不可数集合
  18. Python实验--线性回归+梯度下降预测波士顿房价
  19. SMM 框架整合 配置文件
  20. VMware安装银河麒麟V10桌面版虚拟机

热门文章

  1. 第22篇-安卓手机端抓包软件VNET介绍
  2. 无线路由器的五种工作模式
  3. 奥城大学计算机专业,美国研究生双录取的大学及可提供学位详情
  4. VMware vRealize Suite 8.8.0
  5. 统计学的Python实现-014:几何平均数
  6. mysql打开数据库命令_MySQL操作数据库指令
  7. python创建按钮command怎么用,python按钮调用函数
  8. Windows XP SP3英文版镜像
  9. linux pwm控制蜂鸣器 滴滴_linux pwm实现蜂鸣器
  10. 万用表怎么测量电池容量_电池容量测试——白菜价的万用表