在实践当中,经常遇到的数据库数据表之间关联的情况,涉及到延伸的引用与限制问题,本文对一些有用的经验进行了总结,供大家参考讨论。
数据库表与表之间的关联
在数据库设计的时候,经常会遇到数据表与数据表之间关联的情况,针对常见的三种关联方式,分别总结了经典的设计模式。
- 一对一(A表一条目仅与B表一条目关联)。
如果字段不多尽量融合成一个表;如果字段过多便于区分,在B表中增加一个关联A表唯一标识的字段即可,如:id。
- 一对多(A表一条目与B表多条目关联)。
在B数据表中增加一个关联A表唯一标识的字段即可,如:id;
- 多对多(A表多条目与B表多条目关联)。
新增一个关联数据表,保存两表之间的关联关系,可使用唯一的标识字段,如:id。
关联后的数据条目限制编辑或删除
在有些情况下,数据表的数据条目正在被引用时,是不能被编辑或者删除的。针对这种情况,有以下两种解决方案。
- 简单快速方案:修改前进行引用判定。
根据数据库设计时应用的关联设计方案,进行数据查询,如果被占用则返回提示消息。
缺点:不能进行预判,或者进行预判的代价比较大。
- 麻烦但可以预判的方案:设置标志位。
根据关联关系一种关联设置一个标志位。在新增引用时置位;在删除、修改引用时检查并更新标志位。
缺点:维护标志位较为麻烦。
==================================
==疑问?帮助?批评?欢迎评论 | QQ:593159978==
==================================