mysql - 在哪里放置外键以获得最佳数据库设计?

标签 mysql sql database oracle

我有一点问题。我必须设计一个数据库模型,其中一部分是三个表,分别名为Room,Client和Employee。规则如下:一个房间只能由一位客户或一位雇员使用。不是都。因此,我不确定是否最好将两个引用Employee和Client的可选外键放在Room表中,或者在Client和Employee中都放置Room的可选外键。在最后一个解决方案中,我将在CHAR表中添加一个CHAR,以指示本地人是否被占用。选项A还是B?或其他建议?谢谢!

最佳答案

根据您指定的规则,您需要room表中的外键。

employeeclient表中添加外键不会对由多个员工或多个客户端使用的房间施加任何限制。

关于mysql - 在哪里放置外键以获得最佳数据库设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23143029/

相关文章:

python - 用于 MySQL 的 Peewee ORM JSONField

php - 将 javascript var 分配给 php return

django - 如何使用来自 Postgres 的数据正确填充 Docker Django 图像?

mysql - WordPress SQL 数据查询布局

php - 在 PHP 中按日期和时间排序 MySQL 结果

sql - 特定重复字符内的子串选择

mysql - 如何连接到具有多个条件的同一张表?

php - 开源 PHP 项目中的数据库查询?

sql - PostgreSQL : how to do GROUP BY in this SQL

php - 具有挑战性的 html/PHP 报告的 MySQL 查询