vechnokrainii
@vechnokrainii
ну почти всегда(

Как правильно организовать БД с недвижимостью?

Здравствуйте! Подскажите как правильно организовать БД недвижимости. У нас есть здание и есть помещение.
Например высотка это здание, а квартиры в ней это помещения.
Бизнес-центр это здание, а офисы в нем это помещения
Вопрос как правильно организовать таблицы Т.к в одном здании может быть много помещений. Получается 2 таблицы.
"Здания" и "Помещения". В помещения есть поле зданиеID.
Нужно ли хранить несколько помещениеID в таблице "Здания"?
У зданий есть несколько свойств. Например этажность и год постройки. Тут все просто. А как быть допустим с материалом стен. Кирпичный там или панельный ( список вариантов жестко ограничен во избежания "кирпич", "кирпичный", "КИРПИЧНЫЙ"). Нужна отдельная таблица "Материал стен" с списком значений? И в таблицу "Здания" нужно будет просто записать материалСтенID?
И подобных аналогов много.
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 1
@GLeBaTi
Здания {
 ID: (guid или int32) PK
 МатериалСтен: byte (enum)
 Этажность: byte
 ГодПостройки: int16
}
Помещения {
 ID: (guid или int32) PK
 ЗданиеID: (guid или int32) FK
 Номер: int16 (или строка если будут буквы ещё)
}


Материал стен можно сделать просто числом (перечисление).
Если планируется добавлять материалы постоянно, то возможно, понадобится отдельная таблица, чтобы не перекомпилировать программу каждый раз, а брать материалы из бд.
Тип столбцов зависит от того, в каких пределах будут значения. У каждой БД свои типы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы