Аркадий Паровозов спешит на помощь
Мудрец
(17893)
7 месяцев назад
Исходная таблица содержит следующие атрибуты:
1. Арендодатель
2. Арендатор
3. Идентификатор помещения
4. Номер договора аренды
5. ИНН и расчетный счет арендатора
6. ФИО директора арендодателя
Для определения первичного ключа нужно учитывать уникальность значений, которые будут однозначно идентифицировать каждую запись в таблице. Посмотрим на атрибуты:
1. Арендодатель и арендатор могут быть неуникальными, так как один и тот же арендодатель или арендатор может заключить несколько договоров аренды.
2. Идентификатор помещения может быть уникальным для каждой записи, так как предполагается, что каждое помещение имеет свой уникальный идентификатор.
3. Номер договора аренды может также быть уникальным для каждой записи, так как предполагается, что каждый договор имеет свой уникальный номер.
4. ИНН и расчетный счет арендатора могут быть уникальными для каждой записи, так как разные арендаторы будут иметь разные ИНН и расчетные счета.
5. ФИО директора арендодателя также может быть неуникальным.
С учетом вышеуказанного, предполагаю, что возможны два потенциальных варианта первичного ключа:
1. Идентификатор помещения
2. Номер договора аренды
Теперь проверим, соответствует ли исходная таблица третьей нормальной форме (3НФ).
Третья нормальная форма (3НФ) требует, чтобы все атрибуты, не являющиеся ключами, были функционально зависимы от ключа целиком, а не от части его. Посмотрим на атрибуты:
1. Арендодатель и ФИО директора арендодателя могут быть функционально зависимыми от идентификатора помещения, так как каждое помещение может быть арендовано одним арендодателем, а ФИО директора арендодателя будет принадлежать этому арендодателю.
2. Арендатор, ИНН и расчетный счет арендатора могут быть функционально зависимыми от номера договора аренды, так как каждый договор аренды будет заключен с определенным арендатором, имеющим определенный ИНН и расчетный счет.
Исходя из вышесказанного, исходная таблица не соответствует третьей нормальной форме (3НФ), так как есть транзитивные зависимости.
Для приведения таблицы к 3НФ необходимо разбить ее на две таблицы: одну для данных об арендодателях и другую для данных о договорах аренды.
Измененная структура таблиц:
Таблица "Арендодатели":
- Идентификатор помещения (первичный ключ)
- Арендодатель
- ФИО директора арендодателя
Таблица "Договоры аренды":
- Номер договора аренды (первичный ключ)
- Идентификатор помещения (внешний ключ, ссылается на таблицу "Арендодатели")
- Арендатор
- ИНН и расчетный счет арендатора
Теперь данные организованы таким образом, что нет транзитивных зависимостей, и таблица соответствует третьей нормальной форме (3НФ).