![]() |
1
4
布尔标志有一个问题:它们只有两个状态。 许多事情都有多种条件,而一个简单的布尔值却不足够。 有些东西实际上可能是布尔型的。然而,这是罕见的。 我建议不要使用布尔值,而是使用某种值的枚举。
我投票支持枚举值,而不是简单的真/假。 |
![]() |
2
0
您可以将它们实现为布尔标志列,或者让一个int列充当位掩码。有些人可能会争辩(从技术上讲,他们是正确的)数据库中的位掩码违反了规范化(在一个列中存储了多个“值”),但我发现它们在过去很有用。唯一的问题是它可以降低代码的可读性。 不过,最后,我会说你的方法没什么问题。 |
![]() |
3
0
对于规则,您似乎有两种选择:
无论如何,你需要做一些2,除非你计划在数据库中提出例外,并在客户端处理它们(这对我来说很难闻…)但是我想我会犹豫是否做1除非你涵盖所有的情况,因为如果你没有,你会有一些强制执行,一些不执行,而且这对我来说也很难闻… |
![]() |
developer · 带外键的SQL表设计 6 月前 |
![]() |
relatively_random · 确保两个表之间一致的共同参考 7 月前 |
![]() |
b126 · 在两种不同的Oracle模式上执行相同查询的速度差异很大 1 年前 |
![]() |
robertspierre · 在多对多关系中自动删除未引用的行 1 年前 |
![]() |
Michael Samuel · MYSQL在以下情况下自动创建索引 7 年前 |