mysql - 这些表是第二范式吗?第三?

标签 mysql sql sql-server sql-server-2008

我的数据库中有以下表格:

enter image description here

这些表(未显示)上方是一个 Users 表,其中输入了 SendingUserId 和 ReceivingUserId(它们是外键)。

这些表是标准化形式吗?我觉得好像错过了一些东西..也许 SendingUserId 和 ReceivingUserId 应该是 UsersWithMessages 表中的复合键?

最佳答案

只要一条消息只能有一个发送者和一个接收者,就没有多对多关系。

由于您的 Message 表已包含 SendingUserIdReceivingUserId,因此只需将它们设为外键 (FK),就不需要 UsersWithMessages 表根本没有。

您将拥有一个简单的两个表架构:UserMessage

关于mysql - 这些表是第二范式吗?第三?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24092825/

相关文章:

php - X 分钟后更改表,即使用户关闭窗口,这是一个好方法吗?

php - 无法打开 phpMyAdmin 安装向导

sql - Cassandra 真的为大型项目的生产环境做好准备并且足够成熟吗?

sql-server - 您能否扩展 SQL Server 以处理 100 TB 的数据?

sql-server - SQL Server : stored procedure transaction

sql-server - 在变量中检索和使用 "FOR JSON"查询的输出

php - 根据下拉菜单选择发送电子邮件(mysql列更新/状态更改)

SQL查询某个日期范围内匹配日期的记录数?

mysql - MySQL 中非平凡 View 的性能问题

sql - 为什么没有数据库完全支持 ANSI 或 ISO SQL 标准?