博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库设计中,多对多关系使用使用逗号分割关联讨论
阅读量:6954 次
发布时间:2019-06-27

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

进公司一个月,发现公司很多人喜欢用逗号分割,去存储其它表的主键,做多对多关联,但存在很多乱用现象。这里对这种方式做了下总结。

 

 

 

        在传统数据库设计中,多对多关系存储通常都是用一张中间表来简历两张表的关系。例如用户和角色,一个用户有多个角色,而一个角色下又会有多个用户。这样,理所当然的我们会想着用张中间表去存储两者的关系。这样角色就能很容易的查出自己对应的多个用户。用户也同样能容易查出自己有哪些角色。这种设计是通用而合理的,两个对象都可以维护之前的关系。

 

          有种情况:例如对象A与对象B,两者之间是多对多关系。但A对象是个相对固定,或者说几乎没有查询与操作。我们只需要在B对象上维护A对象的关系。这时我们可以用逗号去分割A对象的ID去存储多个A的关系。

 

优点: 不用建中间表,操作起来会更方便。

缺点:   当二者关联关系改变时,不易去维护,而且这种关联关系时单向的,也就是说只适合与单向关联。
 
   适用范围总结:与枚举表关联,与附件表关联,及其他只需单向关联,且关联数量不会太多的情况。
 

 

优点: 不用建中间表,操作起来会更方便。

转载地址:http://klvil.baihongyu.com/

你可能感兴趣的文章
在 Windows Azure 上设计大型服务的最佳做法
查看>>
从BRD到上线:一个需求的完整生命周期
查看>>
C++ STL(1)
查看>>
Highchart的一些总结
查看>>
Ajax编程相对路径与绝对路径
查看>>
机器学习——超参数搜索
查看>>
关于golang中包(package)的二三事儿
查看>>
C#中dynamic的正确用法 以及 typeof(DynamicSample).GetMethod("Add");
查看>>
Targeted Server in Myeclipse
查看>>
将指定路径下文件全部删除,复制并移动整个文件夹啊
查看>>
掌握 Ajax,第 2 部分: 使用 JavaScript 和 Ajax 发出异步请求
查看>>
Java 类的继承详解
查看>>
如何知道btree树的高度
查看>>
.NET(C#)主流的ORM框架
查看>>
20131113
查看>>
android获取一个用于打开Word文件的intent
查看>>
socket编程
查看>>
浏览器渲染原理解析
查看>>
搭建个人网站需要的三个步骤
查看>>
HTML5 Canvas彩色小球碰撞运动特效
查看>>