我正在考虑为我的表(该表由两个字段,字段A和B组成)创建一个组合键。但是,字段B依赖于字段A。此组合键会违反任何数据库设计原则吗?
答案 0 :(得分:2)
是的,是的。它确实违反了数据库设计原则。为什么不只使用A
?也就是说,您始终可以使用B
查找JOIN
的值,因此不需要复合外键引用。将B
的值存储在引用表中是多余且低效的(占用数据页和索引页中的空间)。
在某些情况下,这样的外键 是有用的。您没有提供足够的信息来知道是否有这种情况。因此,作为一般设计原则,这听起来不对。可能会有例外,因此这并不总是一个坏主意。