例如,在产品数据库的品牌列中,品牌值“未知”应该只存在一次,而其他品牌值可以存在多次。
是否有支持它的sql数据库引擎?还是应该在应用层做?
例如,在产品数据库的品牌列中,品牌值“未知”应该只存在一次,而其他品牌值可以存在多次。
是否有支持它的sql数据库引擎?还是应该在应用层做?
“OK”是指“它对整体数据库设计没有任何不良影响”。
例如,我有一个包含三个表的简单数据库:
很明显,Order 表只是两个表(Customer 和 Product)之间的映射。表 Order 中的 OrderID 没有用,它只是用来标识每一行。
如果我不想识别每一行怎么样,因为例如我们有规则:
用户不能两次订购相同的产品。
当然,这与现实相去甚远,但这只是一个例子。
底线问题是,在上面给出的示例中,是否可以删除表 Order 中的 OrderID 并将表 Order 中的 ProductID 和 CustomerID 设置为复合主键?在这种情况下,Order 表只包含外键并设置为复合主键。
作为一个初学者,我搜索了很多关于数据库设计概念的知识,发现了一些诸如“主键”、“复合主键”、“数据库规范化”等术语,但我不知道在实践中会发生什么,所以我决定在这里问。我只是担心它对未来的影响,因为我不知道是否有特定的情况会成为劣势。