Решение практической задачи вручную

Решение практической задачи вручную. Состав атрибутов практической задачи приведн в табл. 3 Таблица 3 Имя атрибута Семантика A Номер рейса N Пункт назначения S Тип самолета M Количество посадочных мест D1 Дата вылета D2 Время вылета P1 Код пилота командира экипажа P2 Ф.И.О. пилота T Длительность полета Описание предметной области на языке ФЗ приведено в табл. 4. Таблица 4 Функциональная зависимость Семантика P1 P2 Код однозначно идентифицирует пилота A ND2 Номер рейса однозначно определяет пункт назначения и время вылета AD1D2 P1P2S Для каждого рейса на определенный день вылета назначается командир экипажа и тип самолета SN TM Длительность полета и количество посадочных мест определяются типом самолета и пунктом назначения D1D2P1 A Пилот одновременно пилотирует только один рейс AD1 T Длительность полета зависит от номера рейса, даты вылета КГАЦМиЗ. УП000.069.ПЗ Лист11Изм. Лист докум. ПодписьДатаЗаданы множество атрибутов R A, N, S, M, D1, D2, P1, P2, T с семантикой A - номер рейса N - пункт назначения S - тип самолета M - количество посадочных мест D1 - дата вылета D2 - время вылета P1 - код пилота командира экипажа P2 - Ф.И.О. пилота T - длительность полета множество функциональных зависимостей FP1 P2, A ND2, AD1D2 P1P2S, SN TM, D1D2P1 A, AD1 T с семантикой P1 P2 код однозначно идентифицирует пилота A ND2 номер рейса однозначно определяет пункт назначения и время вылета AD1D2 P1P2S для каждого рейса на определенный день вылета назначается командир экипажа и тип самолета SN TM длительность полета и количество посадочных мест определяются типом самолета и пунктом назначения D1D2P1 A пилот одновременно пилотирует только один рейс AD1 T длительность полета зависит от номера рейса, даты вылета.

Решение 1. Построение неизбыточного покрытия.

Для построения неизбыточного покрытия необходимо удалить избыточные ФЗ. Для этого вычислим замыкания для каждой ФЗ P1 P1 A A AD1D2 AD1D2NT SN SN D1D2P1 D1D2P1 AD1 AD1ND2P1P2STM AD1 AD1ND2P1P2STM данная ФЗ избыточна, т. к. она определяет атрибут Т через ФЗ AD1 T, следовательно, мы е удаляем из F. Получаем FP1 P2, A ND2, AD1D2 P1P2S, SN TM, D1D2P1 A КГАЦМиЗ. УП000.069.ПЗ Лист12Изм. Лист докум. ПодписьДата 2. Построение редуцированного покрытия.

Для построения редуцированного покрытия необходимо из левых и правых частей ФЗ удалить посторонние атрибуты.

Редуцирование левых частей Fлев. ред. P1 P2, A ND2, AD1D2 P1P2S, SN TM, D1D2P1 A. Редуцирование правых частей Fправ. ред. P1 P2, A ND2, AD1 P1P2S, SN TM, D1D2P1 A. В результате Fред. P1 P2, A ND2, AD1 P1S, SN TM, D1D2P1 A. 3. Нахождение ключа. Для этого в Fред. введм фиктивную ФЗ ANSMD1D2P1P2T X. После этого Fред. редуцируем, просматривая ФЗ в произвольном порядке Fред P1 P2, A ND2, AD1 P1S, SN TM, D1D2P1 A, ANSMD1D2P1P2T X . Следовательно, ключ - AD1D2. Здесь есть ещ один ключ D1D2P1. 4. Разложение множества атрибутов по функциональным зависимостям. Выполним синтаксическое разложение R по ФЗ из Fред В результате имеем сR1 P1 P2, R2 A ND2, R3 AD1 P1S, R4 SN TM, R5 AD1D2P1. 5. Прогонка табло.

Проверим свойство соединения без потерь методом прогонки табло.

КГАЦМиЗ. УП000.069.ПЗ Лист13Изм. Лист докум. ПодписьДата Метод прогонки табло завершился успешно, т. к. в табло имеются две строки выделенных переменных 3 и 5 строки. Это означает, что с обладает свойством соединения без потерь и не будет ловушек соединений ответы на запросы будут всегда верны. 6. Результаты синтеза.

Таким образом результатом синтеза является B- схема, которая имеет вид сR1 P1 P2, R2 A ND2, R3 AD1 P1S, R4 SN TM, R5 AD1D2P1. Данная схема по построению сохраняет все ФЗ из F и обладает свойством соединения без потерь. Это гарантирует для БД ее непротиворечивость.

Семантика таблиц базы данных со схемой с такова r1R1 Список пилотов r2R2 Характеристика рейсов r3R3 График полтов номер рейса дата вылета код пилота командира экипажа тип самолета A D1 P1 S r4R4 Характеристика маршрутов тип самолета пункт назначения длительность полета количество посадочных мест S N T M r5R5 График загрузки пилотов номер рейса дата вылета время вылета код пилота командира экипажа A D1 D2 P1 КГАЦМиЗ. УП000.069.ПЗ Лист14Изм. Лист докум. ПодписьДата Проверка нормальной формы для с R1, R2, R3, R4, R5 F1 P1 P2 r1R1 в НФБК. F2 A ND2 r2 R2 в НФБК F3 AD1 P1S r3R3 в НФБК. F4 SN TM r4R4 в НФБК. F5 D1D2P1 A, AD1 P1 r5R5 в 3 нормальной форме.

Так как AD1 P1 частичная функциональная зависимость, AD1 часть ключа AD1D2, в правой части данной зависимости имеется ключевой атрибут P1. В таблице график загрузки пилотов r5R5 возможно избыточное дублирование данных, так как она находится в 3 нормальной форме, в связи с этим е нужно аккуратно обновлять, чтобы не допустить избыточности.

Все остальные таблицы в НФБК, следовательно, в них нет избыточного дублирования данных.

КГАЦМиЗ. УП000.069.ПЗ Лист15Изм. Лист докум. ПодписьДата 2.4.