【发布时间】:2019-08-17 18:03:50
【问题描述】:
我有一个多对多的关系。假设我有很多用户可以在很多组中,反之亦然。
我不想制作包含以下列的表格
group_user
id / name / user_id / group_id
由于我只有初级、中级和高级 3 组,我不想为他们制作另一张单独的桌子。我的想法是采用以下方法:
- 使用以下数据在同一个表 group_user 中创建 3 条记录
id / name / user_id / group_id
1 / Junior / null / null
2 / 中间 / null / null
3 / Senior / null / null
所以现在当我想插入一个 group_id 时,我将使用我刚刚使用 NULL user_id 和 group_id 创建的这 3 个 ID。
我的记录将如下所示:
id / name / user_id / group_id
4 / NULL / 125 / 1 -> 同表的Junior group的id。
5 / NULL / 125 / 3 -> 同表的Senior group的id。
Is this a valid way to do it? How wrong it is?
【问题讨论】:
-
为 3 个组的元数据创建一个单独的表,因为您在此处所做的操作包含不适用的空值,这些空值在规范化的关系数据库中是不允许的。 (不适用的NULL是在任何情况下都不能有值的null)
-
这是有道理的!非常感谢,我会阅读更多关于“Inapplicable NULL”的内容,谢谢。
标签: php laravel migration table-structure