3NF нормализованная база данных - PullRequest
0 голосов
/ 23 июля 2011

У меня проблемы с созданием нормализованной базы данных 3NF.Может кто-нибудь помочь, пожалуйста?Я не вижу никаких зависимостей.Это для сайта недвижимости.Поля таблицы следующие:

ID - Тип - Местонахождение - Деревня - Цель - Диапазон цен - Рисунок 1 - Рисунок 2 - Рисунок 3 - Статус - Свойства - Описание

Любая помощь приветствуется,

Ответы [ 3 ]

0 голосов
/ 23 июля 2011

Обычно у вас есть такие таблицы:

            PropertyType
            Village
            Purpose
            Status
            Property

, и в конкретной деревне может быть много объектов.Цель и PropertyType могут зависеть - вы не можете использовать Коттедж в качестве места сбора большой аудитории, например, хотя вы можете использовать Коттедж в качестве «Дома для одной семьи» или «Кровать и завтрак».Чтобы представить эту зависимость, вам понадобится следующая промежуточная таблица:

           PropertyTypePurposes
           propertytypeid
           purposeid

, где для каждого типа свойства у вас будет одна или несколько потенциальных целей.Тогда в таблице свойств вы не будете ссылаться на цели напрямую, а на PropertyTypePurposes:

           alter table properties
           add constraint FK_PROPERTIES_PROPERTYTYPEPURPOSES
           foreign key (propertytypeid, purposeid) references PropertyTypePurposes(propertypeid, purposeid)
0 голосов
/ 23 июля 2011

Чтобы быть в 3NF, все, что вам нужно, это убедиться, что у вас нет транзитивных функциональных зависимостей (и что у вас нет неполных зависимостей). Если ID определяет кортеж, и ни один из других атрибутов не может быть использован для точного определения значения какого-либо другого атрибута, вы находитесь не только в 3NF, но и в BCNF.

0 голосов
/ 23 июля 2011

Если тип является ссылкой на другую таблицу, это нормально, иначе вы должны поместить типы в другую таблицу.Также вы можете создать таблицу для картинок.Деревня может пойти в другой стол, если вы хотите больше информации о деревнях после.

...