Моя проблема:Структурная целостность MySQL по сравнению с простотой?
- На
PHP/MySQL
приложения я должен отличитьregistered accounts
отsimple visitors
. Оба они могут выполнять действия, которые записываются в базу данных. Теперь я использую отдельную таблицу дляvisitors
и отдельную таблицу дляregistered accounts.
Мой пример решения до сих пор:
Вариант № 1:
Registered accounts
иvisitors
разделены на две таблицы. Оба из них могут иметьsessions
, а соотношение между таблицами:non-mandatory
, так как человек является либоvisitor
, либоregistered account
.Вариант № 2: Все в одной таблице, и отношения между таблицами являются обязательными, так как каждый может иметь
sessions
, но так как человек является либоvisitor
илиregistered account
, он может не иметьemail
илиpassword
, так что может быть NULL. Это может привести к ошибкам в целостности.
Мой вопрос:
- Должен ли я держать
accounts
в отдельной таблице сvisitors
или я может поставить всех в одну таблицу с булевойisThisAccount
переменной который указывает, когда лицо являетсяregistered account
или просто простымvisitor
?
Я также открыт для разных подходов.