博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库设计常考题目简要分析
阅读量:4588 次
发布时间:2019-06-09

本文共 708 字,大约阅读时间需要 2 分钟。

由于最近游戏项目数据库需求,需要设计一些一对多和多对多的数据库表,平时呢,用别人的表多,很少自己设计过,虽然大学那会练习过,貌似这个是数据库最基础的吧?

 

好了圆规正传!

这里我只是简单的谈谈一对多和多对多的设计基本方法:

《1》一对多

 

 

外键应该放到“多”的那个表中,比如一个零件,他就有可能有多个“类别”,我们可以在零件表中根据一个零件Id 查询到某一个零件,然后根据这个零件的“类别”,在类别表中查询类别的属性等等。数据库设计如下:

零件表:

 零件ID   零件名称  零件形状  零件重量  零件类别(主要是材质方面的)

 

类别表

零件类别   密度   元素名称   发现者 

 

以上就是一对多的情况。

 

 

 《2》多对多

 

 多对多就比较复杂了,需要添加一张关系表。

 例如上次我笔试一道题目,就有这么一个关系:掉落物品和背包的关系。一种物品可能在多个背包里面存在,一个背包里面可能存在多种物品。而这里的背包呢,他有可能在地上有多个。那这里就要查询某个包里面的某个物品的属性或者这个物品在世界上总共有多少?

什么都不说了,稍微东数据库数据的人一看就知道怎么设计!但是实际工作就是这么样子的,忘了的朋友赶快补补课吧。我给出一个我认为正确的表结构。

物品表

物品名称    物品掉落概率   物品价格   物品生产时间   市场价格   

 

 背包表

背包id    背包容量   背包颜色

 

 关系表

id       背包id     物品名称    物品数量

 

 

通过查询关系表的id,可以分别查询到背包和物品,实际上就是将物品表和背包表的外键分别放到了关系表中。

以上总结,有可能由错误,以后在多学点后在说吧。

 

转载于:https://www.cnblogs.com/chunlinge/p/3546660.html

你可能感兴趣的文章
吴裕雄--天生自然 物理学习与探索笔记:位移和时间
查看>>
[译]JavaScript:打破所有规则
查看>>
0909对操作系统的认识
查看>>
windows下的批处理bat文件和Linux下的shell文件的互相转换
查看>>
BZOJ【1606】购买干草
查看>>
MySQL 删除重复数据实例
查看>>
。。。
查看>>
【HDU 4276】The Ghost Blows Light(树形DP,依赖背包)
查看>>
一分钟将你的WPF应用程序变身成炫彩动态Metro风格
查看>>
iOS 学习资料Blog 技术论坛等,不断添加中。。。。
查看>>
简单实现Tabbar的隐藏显示动画 By H罗
查看>>
电脑自动开机设置教程
查看>>
rpc接口mock平台
查看>>
传感器模块
查看>>
《奇思妙想》人物篇--图灵奖得主概览
查看>>
Azure开发者任务之二:Cloud Service项目添加到ASP.Net Web中
查看>>
2017.2.28 activiti实战--第七章--Spring容器集成应用实例(五)普通表单
查看>>
读书笔记第一章
查看>>
Android 操作SQLite基本用法
查看>>
iis7 发布mvc3 遇到的HTTP错误 403.14-Forbidden Web 服务器被配置为不列出此目录的内容...
查看>>