数据库mysql的设计题_数据库设计常考题目简要分析

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

好了圆规正传!

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

《1》一对多

IkSycI28TH7OrBmq4IlrKSEz2V6aFqFeOfMZgSkIXF5eThHfmuykMwFa9ePHj6aBmngsBJrkOtuqXHOgBsMUfZ79G+C6+yAR+D9m8JASUeHhpwAAAABJRU5ErkJggg==

MpAopALhBQss3FMGgnFAFFoOgIKNkWfYT1+RQBRSAXCCjZ5mIYtBOKgCJQdASUbIs+wvp8ioAikAsEqhY19Pb2miVLluSiY1Gd6O7uNl1dXam3uIlqT88rAoqAIjAQCFQWNXCzFStWGAhXpXkQaGtrs7tIqCgCikC+Eagi23x3VXunCCgCikDzIqA22+YdO+25IqAINBECSrZNNFjaVUVAEWheBP4PSuUjfR4VCikAAAAASUVORK5CYII=

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

零件表:

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

类别表

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

以上就是一对多的情况。

《2》多对多

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

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

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

物品表

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

背包表

背包id    背包容量   背包颜色

关系表

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值