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 を使用し、1 つの列を使用してどちらかを格納することを検討できますが、それはあなたの決定です。

于 2012-02-21T17:36:55.883 に答える
2

おそらく、パフォーマンスの問題はあまり発生していません。テーブル内のメンバーとユーザーの間に何らかの違いがあるようです。誰もメンバーとユーザーになれないと仮定すると、メンバー/ユーザー ID の列を 1 つ持つことができますが、ユーザーまたはメンバーのどちらであるかを識別するために別の列が必要になります。実際には、現在のソリューションよりも多くのストレージが必要になるため、問題ないと思います.

于 2012-02-21T17:38:46.347 に答える
1

いいえ、それは「悪い」ことではありませんが、nulls を許可することはリレーショナル データベースの法則に違反すると主張する頑固な正規化狂信者もいます。

それらがたくさんあるテーブルがある場合は、デザインが適切かどうかを見て確認したいかもしれませんが、より多くのコンテキストがなければ、すべての場合に悪いとは言えません.

于 2012-02-21T17:39:21.413 に答える