2012-10-31 2 views
0

Я разрабатываю веб-приложение, которое позволяет пользователям публиковать сообщения с зарегистрированной учетной записи или анонимно. Должен ли я разрешать NULL в столбце UserId в таблице Post или создавать непроверенные User и ссылаться на их идентификатор для незарегистрированных пользователей?Разрешить NULL или создать не зарегистрированного пользователя


Непроверенные Пользователь

Пользователь

| UserId | Name  | 
+--------+------------+ 
| 1  | Unverified | 
| 2  | Real User | 

Сообщение

| PostId | UserId | Post   | 
+--------+--------+----------------+ 
| 1  | 1  | Blah blah... | 
| 2  | 1  | Blah blah... | 
| 3  | 2  | Blah blah... | 


                                                                              - VS -

Разрешить NULL

Пользователь

| UserId | Name  | 
+--------+------------+ 
| 1  | Real User | 

Сообщение

| PostId | UserId | Post   | 
+--------+--------+----------------+ 
| 1  | NULL | Blah blah... | 
| 2  | NULL | Blah blah... | 
| 3  | 1  | Blah blah... | 

ответ

0

Это обычно считается хорошей практикой не полагаться на NULL для представления смысла; Я бы, вероятно, использовал 0 или 1 для анонимного пользователя. Его легче искать; вам не нужно переключаться между IS NULL или = в зависимости от того, ищете ли вы анонимного пользователя или реальных пользователей.

Смежные вопросы