3

NULL 在表中经常有一个空列是不是很糟糕?

comment桌子

comment_id     member_id    user_id
1              1            NULL
2              1            NULL
3              1            NULL
4              1            NULL
5              1            NULL
6              1            NULL
7              NULL         1
8              NULL         1
9              NULL         1
10             1            NULL
4

3 回答 3

4

不,它本质上并不坏。条目是一种NULL工具,您可以随意使用该工具。

现在,在您发布的情况下,您可能会考虑使用不重叠的用户 ID 和成员 ID,并使用一列来存储任何一个,但这是您的决定。

于 2012-02-21T17:36:55.883 回答
2

它可能不会造成太大的性能问题。看起来您在表中的成员和用户之间有某种区别。假设没有人可以是成员和用户,您可以有一列用于成员/用户 ID,但随后您需要另一列来确定他们是用户还是成员。这实际上需要比您现在拥有的解决方案更多的存储空间,所以我认为您很好。

于 2012-02-21T17:38:46.347 回答
1

不,它并不“坏”,尽管一些顽固的规范化狂热者会坚持认为允许nulls 违反关系数据库法律。

如果您的桌子上有很多,您可能想看看设计是否合适,但如果没有更多上下文,您不能说在每种情况下都不好。

于 2012-02-21T17:39:21.413 回答