gpt4 book ai didi

sql - 每个表都应该有一个主键吗?

转载 作者:太空狗 更新时间:2023-10-30 01:48:10 25 4
gpt4 key购买 nike

我在某处读到说每个表都应该有一个主键来满足 1NF。

我有一个 tbl_friendship 表。

表中有 2 个字段:Owner 和 Friend。

Owner 和 Friends 字段是 tbl_user 中自增 id 字段的外键。

这个 tbl_friendship 应该有一个主键吗?我应该在 tbl_friendship 中创建一个自动递增 id 字段并将其作为主键吗?

最佳答案

主键可以应用于多个列!在你的例子中,主键应该在两列上,例如(所有者, friend )。特别是当 Owner 和 Friend 是用户表的外键而不是实际名称时(就个人而言,我的身份列使用“Id”命名约定,所以我会有(OwnerId,FriendId)

我个人认为每个表都应该有一个主键,但您会发现其他人不同意。

这是我写的一篇关于范式主题的文章。 http://michaeljswart.com/2011/01/ridiculously-unnormalized-database-schemas-part-zero/

关于sql - 每个表都应该有一个主键吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7065185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com