找回密码
 立即注册
查看: 230|回复: 0

数据库设计原则(一)

[复制链接]
发表于 2022-4-15 09:18 | 显示全部楼层 |阅读模式
在实践当中,经常遇到的数据库数据表之间关联的情况,涉及到延伸的引用与限制问题,本文对一些有用的经验进行了总结,供大家参考讨论。
数据库表与表之间的关联

在数据库设计的时候,经常会遇到数据表与数据表之间关联的情况,针对常见的三种关联方式,分别总结了经典的设计模式。
    一对一(A表一条目仅与B表一条目关联)。
如果字段不多尽量融合成一个表;如果字段过多便于区分,在B表中增加一个关联A表唯一标识的字段即可,如:id。
    一对多(A表一条目与B表多条目关联)。
在B数据表中增加一个关联A表唯一标识的字段即可,如:id;
    多对多(A表多条目与B表多条目关联)。
新增一个关联数据表,保存两表之间的关联关系,可使用唯一的标识字段,如:id。
关联后的数据条目限制编辑或删除

在有些情况下,数据表的数据条目正在被引用时,是不能被编辑或者删除的。针对这种情况,有以下两种解决方案。
    简单快速方案:修改前进行引用判定。
根据数据库设计时应用的关联设计方案,进行数据查询,如果被占用则返回提示消息。
缺点:不能进行预判,或者进行预判的代价比较大。
    麻烦但可以预判的方案:设置标志位。
根据关联关系一种关联设置一个标志位。在新增引用时置位;在删除、修改引用时检查并更新标志位。
缺点:维护标志位较为麻烦。
==================================
==疑问?帮助?批评?欢迎评论 | QQ:593159978==
==================================
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2025-6-1 04:32 , Processed in 0.197679 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表