简短结论:参照完整性(外键约束)本身的主要目的不是“降低冗余”,它不能直接消除数据冗余,但在合理的数据库设计中,它配合规范化可以间接帮助控制和减少冗余。
下面细说:
参照完整性是指:
它的核心作用是:
冗余通常来自:
例如:
订单表:
订单ID | 客户姓名 | 客户电话 | 商品
这里“客户姓名、电话”在多个订单中重复 → 冗余
如果你这样设计:
客户表(客户ID, 姓名, 电话)
订单表(订单ID, 客户ID, 商品)
并给 订单表.客户ID 建外键 → 参照完整性
此时:
客户ID 有效成绩表(学号, 姓名, 课程ID)
即使 学号、课程ID 都有外键:
一句话:
参照完整性不负责“少存数据”,它负责“存的关系是对的”。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。