powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нужна помощь в лучшем выборе схемы БД для агентства недвижимости
5 сообщений из 5, страница 1 из 1
Нужна помощь в лучшем выборе схемы БД для агентства недвижимости
    #39269615
tooTired
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Салют, возник следующий вопрос в ходе проектирования БД для агентства недвижимости.
Итак, рассматриваются следующие виды недвижимости: земельные участки, жилая и нежилая недвижимость. В базе данных предполагается хранить информацию о продаже и аренде данных видов объектов, при этом, заносится в БД будет информация как о спросе клиентов на тот или иной тип объектов, так и о предложении клиентом конкретного объекта. В зависимости от того, спрос это и предложение, продажа или аренда, жилая/нежилая/земельный участок, у объекта недвижимости некоторые атрибуты будут присутствовать в одном случае, и отсутствовать в другом. Например: у предложения аренды жилой недвижимости есть атрибут "требования к съемщику", а в спросе аренды жилой недвижимости или продажи жилой недвижимости такого атрибута уже не будет; у предложения сдачи нежилого помещения есть атрибут "допустимое использование (на усмотрение владельца)", а в предложении продажи нежилого помещения такого атрибута нет. Сам вопрос заключается вот в чём: как организовать сущность "недвижимость"? Пока рассматривал 2 варианта:
1. Создать одну сущность "недвижимость", в неё запихать все атрибуты для предложения/спроса продажи/аренды жилой/нежилой/земли, но у всех атрибутов, соответствующих конкретному типу недвижимости, поставить атрибут, допускающий NULL-значение.
2. Создать одну сущность "недвижимость", в которой будут 12 NULL-допустимых int-полей - внешних ключей, и 12 таблиц конкретных типов недвижимости типа "предложение_продажа_жилая_недвижимость", "предложение_аренда_жилая_недвижимость"...., и в каждой из 12 таблиц будут описаны атрибуты, соответствующие только этому типу. Ну и при создании объекта недвижимости будет создаваться конкретный объект недвижимости из соответствующей таблицы, и её первичный ключ будет использован в качестве внешнего ключа в общей таблице недвижимость. Потом, общая таблица будет связываться с другими таблицами, не связанными с типами недвижимости.
...
Рейтинг: 0 / 0
Нужна помощь в лучшем выборе схемы БД для агентства недвижимости
    #39269672
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tooTired2. Создать одну сущность "недвижимость", в которой будут 12 NULL-допустимых int-полей - внешних ключей, и 12 таблиц конкретных типов недвижимости типа "предложение_продажа_жилая_недвижимость", "предложение_аренда_жилая_недвижимость"...., и в каждой из 12 таблиц будут описаны атрибуты, соответствующие только этому типу.

Безотносительно сравнения с первым вариантом - лучше сделать не 12 внешних ключей в главной таблице, а по одной ссылке на главную в каждой из 12 дочерних таблиц.
...
Рейтинг: 0 / 0
Нужна помощь в лучшем выборе схемы БД для агентства недвижимости
    #39269696
tooTired
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот Матроскин,
а потом, если мне нужно через общую таблицу обратиться к частной таблице, которая имеет ID общей в качестве внешнего ключа, мне нужно будет делать 12 join'ов по частным всем таблицам, чтобы найти ту самую? Просто для спроса и предложения планировалось сделать также отдельные сущности, которые будут связывать клиента с недвижимостью. Планируется хранить внешний ключ на недвижимость и клиента в таблицах "спрос" и "предложение", вот только как получить информацию об объекте через общую таблицу, кроме как через просматривание 12 частных таблиц?
...
Рейтинг: 0 / 0
Нужна помощь в лучшем выборе схемы БД для агентства недвижимости
    #39269717
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tooTiredКот Матроскин,
а потом, если мне нужно через общую таблицу обратиться к частной таблице, которая имеет ID общей в качестве внешнего ключа, мне нужно будет делать 12 join'ов по частным всем таблицам, чтобы найти ту самую?

Ээ, зачем? Если Вы знаете, что Ваша главная запись - на самом деле "предложение_аренда_жилая_недвижимость", то и соединяете только ее. Если не знаете - то и в варианте с 12 внешними ключами придется соединять все таблицы.
Если Вы хотите выяснять принадлежность к подразделам по атрибутам "главной" записи, не делая соединений - добавьте в главную таблицу поле "тип".
...
Рейтинг: 0 / 0
Нужна помощь в лучшем выборе схемы БД для агентства недвижимости
    #39269997
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В стартовом посте почему-то не сказано, что кол-во возможных характеристик объекта все равно будет расти.
Упомянута только малая часть.
Поэтому фикс. поля или добавление полей по мере надобности - технологический тупик.
Нужен EAV кароч. :)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нужна помощь в лучшем выборе схемы БД для агентства недвижимости
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]