|
|
|
| База с объявлениями.
Созданы таблицы -
RAZDEL (id_razdel, name ... )
USER (id_user, name ... )
GOROD (id_gorod, name ... )
ADVERT (id_advert, id_razdel, id_user, id_gorod, head, body ...дополнительные поля однотипные для всех объявлений...)
Пока в базе хранятся однотипные объявления все понятно, а вот если необходимо что бы в зависимости от типа раздела к объявлению добавлялись специальные для раздела поля как тут быть?
Моё решение это ввести доп таблицу
TYPERAZDEL (id_type, name, prefix)
в RAZDEL добавить (id_razdel, name ... , id_type)
А потом по префиксу создавать таблицы, которые связывать с ADVERT как один к одному, т.е. в таблице ADVERT будут храниться все общие для всех объявлений поля, а в таблицах с именем PREFIX-1, PREFIX-2, PREFIX-3 дополнительные поля для объявлений разных типов.
Правильна ли такая организация базы или можно и нужно сделать красивее? | |
|
|