Пока я создаю базу данных MySQL для сайта знакомств, я пришел с сомнением в том, как хранить данные, на которые ссылаются. В настоящее время в базе данных имеется 33 таблицы, и на них нужно ссылаться почти на 32 разных поля. Мы также должны учитывать, что многие из этих элементов необходимо перевести.
После нескольких высказываний я почти отклонил использование enum, например:
CREATE TABLE profile (
'user_id' INT NOT NULL,
...
'relationship_status' ENUM('Single','Married') NOT NULL,
...
);
И обычно я бы использовал таблицу ссылок, например:
CREATE TABLE profile (
'user_id' INT NOT NULL,
...
'relationship_status_id' INT NOT NULL,
...
);
CREATE TABLE relationship_status (
'id' INT NOT NULL,
'name' VARCHAR(45) NOT NULL,
PRIMARY KEY ('id')
);
Но для создания 32 таблиц может быть слишком забито, поэтому я рассматриваю возможность его кода в PHP следующим образом:
class RelationshipStatusLookUp{
const SINGLE = 1;
const MARRIED = 2;
public static function getLabel($status){
if($status == self::SINGLE)
return 'Single';
if($status == self::MARRIED)
return 'Married';
return false;
}
}
Как вы думаете? Поскольку я предполагаю, что это может улучшить производительность запросов, а также упростить разработку всего сайта.
Спасибо.