MySQL workbench 中完全可选的一对一关系
Fully optional one to one relation in MySQL workbench
完全可选的一对一关系 MySQL workbench?
我只能创建部分可选的一对一关系。
我的情况是:
A GROUP 可以分配一个问题
问题 可以分配给组
编辑1:
EDIT2:也许更好的问题是是否应该避免完全可选的一对一关系?
让我们看看这是否能解决您的问题。
A GROUP can be assigned a PROBLEM
A PROBLEM can be assigned to a GROUP
从以下结构开始:
PROBLEM
id | title
1 | Prob1
2 | Prob2
GROUP
id | title
1 | Group1
2 | Group2
同样重要的是要知道一个组是否可以一次分配多个问题。以及是否可以将一个相同的问题分配给多个GROUP。
假设存在严格的可选 1:1 关系。这意味着一个小组不能同时分配 2 个问题,也不能将 1 个相同的问题分配给 2 个小组。
A strict 1:1 将通过添加 table A 的 PK 作为 table B 的 FK 来实现。如果 FK 可为空,那么您会注意到这已经是一个可选 1:1,因为您可以留下空单元格,表示分配了 0 个问题(或分配了 0 个组)。
PROBLEM
id | title
1 | Prob1
2 | Prob2
GROUP
id | title | problem
1 | Group1 | 2
2 | Group2 | null
在这个例子中Group2已经被分配没有问题。 Group1 已分配给 Prob2,Prob1 未分配给任何组。
您不会被迫分配任何东西,但所有东西都可能有 1:1 关系。
此结构可能包含相当多的空 (null) 值。这不是最佳做法,但可以完成工作。如果你想避免空值,那么你可能必须去实现 N:M。
PROBLEM
id | title
1 | Prob1
2 | Prob2
GROUP
id | title
1 | Group1
2 | Group2
GROUP_PROBLEM
group | problem
1 | 2
仅通过此实施,您可能有 1 个小组被分配了 1 个以上的问题,并且有 1 个相同的问题被分配给了 1 个以上的小组。但是,如果您为两个字段(组和问题)中的每一个都定义了一个 UNIQUE 索引,那么您应该解决这个问题。
完全可选的一对一关系 MySQL workbench?
我只能创建部分可选的一对一关系。
我的情况是:
A GROUP 可以分配一个问题
问题 可以分配给组
编辑1:
EDIT2:也许更好的问题是是否应该避免完全可选的一对一关系?
让我们看看这是否能解决您的问题。
A GROUP can be assigned a PROBLEM
A PROBLEM can be assigned to a GROUP
从以下结构开始:
PROBLEM
id | title
1 | Prob1
2 | Prob2
GROUP
id | title
1 | Group1
2 | Group2
同样重要的是要知道一个组是否可以一次分配多个问题。以及是否可以将一个相同的问题分配给多个GROUP。
假设存在严格的可选 1:1 关系。这意味着一个小组不能同时分配 2 个问题,也不能将 1 个相同的问题分配给 2 个小组。
A strict 1:1 将通过添加 table A 的 PK 作为 table B 的 FK 来实现。如果 FK 可为空,那么您会注意到这已经是一个可选 1:1,因为您可以留下空单元格,表示分配了 0 个问题(或分配了 0 个组)。
PROBLEM
id | title
1 | Prob1
2 | Prob2
GROUP
id | title | problem
1 | Group1 | 2
2 | Group2 | null
在这个例子中Group2已经被分配没有问题。 Group1 已分配给 Prob2,Prob1 未分配给任何组。
您不会被迫分配任何东西,但所有东西都可能有 1:1 关系。
此结构可能包含相当多的空 (null) 值。这不是最佳做法,但可以完成工作。如果你想避免空值,那么你可能必须去实现 N:M。
PROBLEM
id | title
1 | Prob1
2 | Prob2
GROUP
id | title
1 | Group1
2 | Group2
GROUP_PROBLEM
group | problem
1 | 2
仅通过此实施,您可能有 1 个小组被分配了 1 个以上的问题,并且有 1 个相同的问题被分配给了 1 个以上的小组。但是,如果您为两个字段(组和问题)中的每一个都定义了一个 UNIQUE 索引,那么您应该解决这个问题。