Я разрабатываю приложение с CakePHP, и у меня возникают некоторые проблемы с моей БД.Проблема в том, что у меня есть несколько таблиц с такими столбцами: пол (мужской / женский), вид (изображение, видео, текст, песня, ссылка, ...), ...
Существует многоспособ решения этой проблемы:
- Создание связанных таблиц с указанием пола, типа носителя, ... но у меня уже есть много таблиц, поэтому я не хочу перебивать свою БД.
- Выберите тип данных ENUM для столбцов, но CakePHP это не нравится.
- Используйте 1,2,3, ... в качестве индекса для этих столбцов и отображайте массив в PHP для каждого столбца (нехорошая идея, на мой взгляд, где создавать экземпляры этих aray? трудно узнать реальную стоимость элемента в БД, ...).
- Использовать реальное, полное текстовое значение столбца для каждогоэлементов в таблице, но это избыточно, так что потеря памяти.
Лично я считаю, что 4-я возможность - лучшая, но я хотел бы иметь другие мнения или идеи для решения этой проблемы.
Заранее спасибо!
РЕДАКТИРОВАТЬ: Я думаю о другом способе решить эту проблему.Если я составлю таблицу для каждого списка, у меня будет много таблиц с несколькими пунктами, и это проблема для обслуживания БД.Но если я сделаю стол для бывшего."app_contants", которые имеют идентификатор, имя и категорию (например: '1', 'female', 'user_sex').Все таблицы, которые нуждаются в элементе списка, будут ссылаться на эту таблицу, и если мне нужен конкретный список этой таблицы, я просто должен сделать «$ this-> AppContants-> find ('list', array ('condition' =>массив ('category', 'user_sex'))); "
Что вы думаете об этом?