【MySQL】从入门到精通7-设计多对多数据库
上期:【MySQL】从入门到精通6-MySQL数据类型与官方文档
第一章:理解
和一对多不一样,多对多意思是,一个数据可以被不同的数据关联。

如果是一对多,我们还可以用外键来达成。
但是现在我们是多对多,我们需要专门设计一个表格来存储。也就是中间表。
物品数据库:

中间表:
中间表记录了角色id,物品id和拥有物品的数量

通过思维导图的形式描述:

思路就是这样,非常简单。
在我们数据库设计的时候,总共就两种设计思路,现在已经全部认识了。
一种是一对多、另一种就是多对多。
第二章:操作
物品表格:

角色表格:

现在,通过中间表格,存储不同的角色拥有的物品数量。
此时就在中间表格中设置多个外键即可。
inventory表中的roleid和role表中的idgame_role关联

inventory表中的goodid和goods表中的id关联

Apply即可。
【MySQL】从入门到精通7-设计多对多数据库的更多相关文章
- Mysql从入门到精通整理
		
目录 mysql基础 mysql进阶 mysql高级 mysql优化 正文 数据库是信息化产业的最基础的软件之一,各种管理系统,网站,在线游戏,背后基本都会有数据库的支持. 回到顶部 mysql基础 ...
 - mysql从入门到精通
		
解决MySQL Got a packet bigger than 'max_allowed_packet' bytes 问题在一次性向mysql插入的数据过大,可在my.ini中修改max_allow ...
 - 《mysql从入门到精通》提高
		
第一 游标的使用 delimiter $$ DROP PROCEDURE IF EXISTS product_in_sheet_handler; CREATE PROCEDURE product_in ...
 - 【MySQL】从入门到精通8-SQL数据库编程
		
上期:[MySQL]从入门到精通7-设计多对多数据库 第零章:Mac用户看这里: mac终端写MySQL和windows基本相同,除了配置环境变量和启动有些许不同以外. 先配置环境变量,在终端输入vi ...
 - Hibernate从入门到精通(十一)多对多双向关联映射
		
上次我们在中Hibernate从入门到精通(十)多对多单向关联映射讲解了一下多对多单向关联映射,这次我们讲解一下七种映射中的最后一种多对多双向关联映射. 多对多双向关联映射 按照我们之前的惯例,先看一 ...
 - Hibernate从入门到精通(十)多对多单向关联映射
		
上一篇文章Hibernate从入门到精通(九)一对多双向关联映射中我们讲解了一下关于一对多关联映射的相关内容,这次我们继续多对多单向关联映射. 多对多单向关联映射 在讲解多对多单向关联映射之前,首先看 ...
 - Hibernate从入门到精通(七)多对一单向关联映射
		
上次的博文Hibernate从入门到精通(六)一对一双向关联映射中我们介绍了一下一对一双向关联映射,本次博文我们讲解一下多对一关联映射 多对一单向关联映射 多对一关联映射与一对一关联映射类似,只是在多 ...
 - [置顶] Hibernate从入门到精通(七)多对一单向关联映射
		
上次的博文Hibernate从入门到精通(六)一对一双向关联映射中我们介绍了一下一对一双向关联映射,本次博文我们讲解一下多对一关联映射 多对一单向关联映射 多对一关联映射与一对一关联映射类似,只是在多 ...
 - [置顶] Hibernate从入门到精通(十一)多对多双向关联映射
		
上次我们在中Hibernate从入门到精通(十)多对多单向关联映射讲解了一下多对多单向关联映射,这次我们讲解一下七种映射中的最后一种多对多双向关联映射. 多对多双向关联映射 按照我们之前的惯例,先看一 ...
 
随机推荐
- Linux免密登陆配置(互信配置)
			
Linux免密登陆配置(互信配置) 1.生成当前用户的秘钥文件 [oracle@localhost .ssh]$ ssh-keygen -t rsa 2.配置远程登录用户的公钥文件 将公钥文件拷贝至另 ...
 - Redis配置文件所在位置
			
更新记录 2022年6月13日 发布. Windows系统 Redis 配置文件位于 Redis 安装目录下文件名为 redis.conf 注意:Windows系统下名为 redis.windows. ...
 - make 随笔
			
# --with--cc-opt flag导致./configure时找不到对应库文件? checking for --with-ld-opt="-Wl,-z,relro -Wl,-z,no ...
 - redis相关知识点
			
redis 的相关知识点 启动 启动代码 redis-cli -a 密码 通用命令 expire: 设置有效期 expire name 10 key key * 相关数据类型 String set:添 ...
 - js中通过ajax调用网上接口
			
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
 - 10.5 详解Android Studio项目结构
			
Android项目的结构很复杂,并不像HTML项目,最简单的直接一个HTML文件就行了,相信学完上一节的同学就明白,哪怕是一个HelloWorld这样一个项目的文件可能都有几十个,所以我们需要搞清楚, ...
 - adb工具
			
ADB:全称为Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具. 首先,下载ADB工具并安装: 下载:百度就有.下载后是个压缩包,将其拷贝到cm ...
 - Tapdata 与阿里云 PolarDB 开源数据库社区联合共建开放数据技术生态
			
近日,阿里云 PolarDB 开源数据库社区宣布将与 Tapdata 联合共建开放数据技术生态.在此之际,一直专注实时数据服务平台的 Tapdata ,也宣布开源其数据源开发框架--PDK(Plu ...
 - 函数式(Functional)接口
			
public class LambdaTest2 { @Test public void test1(){ happyTime(500, new Consumer<Double>() { ...
 - 使用Docker搭建自己的Bitwarden密码管理服务
			
相信身为开发者,总会在各种网站中注册账号,为了方面记忆可以使用同一套账号密码进行注册,自从前段时间学习通时间撞库后有些人已经开始疯狂改密码了,可是密码一多就很难记忆,最好找个地方存储账户信息 我曾经使 ...