Смекни!
smekni.com

Облік перельотів пасажирів авіакомпанії (стр. 4 из 7)

Цілісність сутностей

Атрибут первинного ключа сутності не може мати значення NULL. Наприклад, кожен екземпляр сутності Відділення обов'язково повинен мати конкретне значення атрибута його первинного ключа Номер_Відділення. Атрибути, що входять у значення первинного ключа кожної сутності, були визначені при виконанні попередніх етапів Докладні зведення про ключі сутностей представлені в додатку.

Посилальна цілісність

Зв'язки між сутностями моделюються за допомогою приміщення в дочірнє відношення копії первинного ключа батьківського відношення. Поняття посилальної цілісності означає, що якщо зовнішній ключ дочірнього відношення містить деяке значення, то це значення повинне посилатися на існуюче і коректне значення ключа в батьківському відношенні. Атрибути, що входять до складу первинних і зовнішніх ключів різних сутностей, представлені в додатку В.

Підтримка посилальної цілісності організується за допомогою завдання необхідних обмежень для значень первинних і зовнішніх ключів. Ці обмеження визначають умови, яких слід дотримуватися при відновленні або видаленні значень первинного ключа, а також при вставці або відновленні значень зовнішнього ключа. Відзначимо, що вставка нового значення первинного ключа або видалення значення зовнішнього ключа не викликає яких-небудь проблем з посилальною цілісністю.

Для кожного зовнішнього ключа відношення варто вказати умови, що повинні виконуватися при відновленні або видаленні відповідного значення первинного ключа. У цьому випадку можна застосувати одну з пропонованих стратегій - NO ACTION, CASCADE, SET NULL, SET DEFAULT або NO CHECK (див. додаток Д).

Вимоги даного підприємства

Ці вимоги, які інакше називаються бізнес-правилами, визначаються тими методами й обмеженнями, що прийняті на даному підприємстві щодо виконання різних операцій. Наприклад, у АТП установлено, що працівник може бути закріпленим лише за одним відділом. Основні бізнес-правила авіакомпанії представлені у додатку Е.

Етап 3. Створити і перевірити глобальну логічну модель даних.

Етап 3.1. Злити локальну логічну модель даних у єдину глобальну модель даних.

На цьому етапі ми зіллємо дві локальні логічні моделі даних з метою створення глобальної логічної моделі даних, тобто глобального представлення для всієї авіакомпанії. Процес злиття моделей даних ми почнемо з виявлення в них подібних елементів, після чого виконаємо пошук і видалення конфліктних областей. Завершить процедуру включення в глобальну модель унікальних областей кожної з вихідних локальних моделей. Деякі типові задачі, що доводиться вирішувати під час виконання злиття, нижче будуть проілюстровані на конкретних прикладах.

Аналіз імен сутностей і їхніх первинних ключів

Порівняємо імена сутностей і визначені для них первинні ключі кожної з локальних моделей, що зливаються.


Таблиця 3.1

Порівняння імен сутностей і їхніх первинних ключів у представленнях користувачів Директор і Касир

Тип сутності (представлення Директор)

Первинний ключ

Тип сутності (представлення Касир)

Первинний ключ

Відділення

Номер_Відділення

Відділення

Номер_Відділення

Працівник

Номер_Працівника

Працівник

Номер_Працівника

Табл. продажу авіаквитків

Номер_Запису

Табл. продажу авіаквитків

Номер_Запису

Авіаквиток

Номер_Авіаквитка

Авіаквиток

Номер_Авіаквитка

Клієнт

Номер_Клієнта

Клієнт

Номер_Клієнта

Клас

Номер_Класу

Клас

Номер_Класу

Розклад авіа перельотів

Номер_Запису

Розклад авіа перельотів

Номер_Запису

Рейс

Номер_Рейсу

Рейс

Номер_Рейсу

Напрям

Номер_Напряму

Напрям

Номер_Напряму

Попереднє порівняння імен сутностей і їх первинних ключів у кожному із представлень дозволяє виявити їх загальні ділянки, тобто ті області, у яких вони перекриваються.

Аналіз імен зв'язків

Тепер порівняємо імена присутніх у представленнях Директор і Касир зв'язків. Імена зв'язків, що існують у кожному із представлень, показані в табл. Кожен зв'язок представлений у таблиці тільки один раз і асоційований з її батьківською сутністю.

Таблиця 3.2

Порівняння зв'язків, наявних у представленнях Директор і Касир

Сутності

(представлення Директор)

Тип зв'язку

Тип сутності (представлення Директор)

Сутності (представлення Касир)

Тип зв'язку

Тип сутності (представлення Касир)

Відділення Має Знаходиться під керівництвом Працівник Директор Відділення Має Знаходиться під керівництвом Працівник Директор
Працівник Належить до Відділення Працівник Належить до Відділення
Директор Керує Відділення Директор Керує Відділення
Касир Фіксується у Таблиця продажу авіаквитків Касир Фіксується у Таблиця продажу авіаквитків
Екіпаж Перебуває у Літак Екіпаж Перебуває у Літак
Клієнт Одержує Авіаквиток Клієнт Одержує Авіаквиток
Авіаквиток Фіксується у Належить Таблиця продажу авіаквитків Клієнт Авіаквиток Фіксується у Належить Таблиця продажу авіаквитків Клієнт
Клас Належить до Таблиця продажу авіаквитків Клас Належить до Таблиця продажу авіаквитків
Напрям Визначає Рейс Напрям Визначає Рейс
Рейс Здійснюється у Напрям Рейс Здійснюється у Напрям
Рейс Фіксується у Розклад авіа перельотів Рейс Фіксується у Розклад авіа перельотів
Таблиця продажу авіаквитків Підпорядкована Містить дані про Містить дані про Містить дані про Розклад авіа перельотів Касир Авіаквиток Клас Таблиця продажу авіаквитків Підпорядкована Містить дані про Містить дані про Містить дані про Розклад авіа перельотів Касир Авіаквиток Клас
Літак Фіксується у Містить у собі Розклад авіа перельотів Екіпаж Літак Фіксується у Містить у собі Розклад авіа перельотів Екіпаж
Розклад авіа перельотів Містить дані з Містить дані про Таблиця продажу авіаквитків Літак Рейс Розклад авіа перельотів Містить дані з Містить дані про Містить дані про Таблиця продажу авіаквитків Літак Рейс

Це попереднє порівняння імен зв'язків у кожному із представлень користувачів також допомагає уточнити ділянки, спільні для обох представлень. Однак із цього зовсім не випливає що можна покладатися на те, що сутності або зв'язок з тими ж іменами відіграють однакову роль у кожному із представлень. І все-ж таки, порівняння імен сутностей і зв'язків можна вважати дуже зручною вихідною точкою пошуку ідентичних ділянок у представленнях, що зливаються, якщо, звичайно, не забувати, про можливі помилки.

Злиття загальних сутностей з окремих локальних моделей

На даному етапі виконується перевірка імен і вмісту кожної сутності в обох представленнях. Зокрема, для ідентифікації еквівалентних сутностей з різними іменами варто проаналізувати їхні первинні ключі. Виконання даного етапу включає наступні дії:

· злиття сутностей з однаковими іменами й однаковими первинними ключами;

· злиття сутностей з однаковими іменами, що мають різні первинні ключі;

· злиття сутностей з різними іменами, що мають однакові або різні первинні ключі.

Злиття сутностей з однаковими іменами й однаковими первинними ключами.

Сутності, що мають в обох представленнях той самий первинний ключ, як правило, представляють ту саму концепцію реального світу. Ідентифікація й об'єднання подібних пар являє собою відносно нескладну задачу.

Злиття сутностей з однаковими іменами, що мають різні первинні ключі.

Такі сутності відсутні.

Злиття сутностей з різними іменами, що мають однакові або різні первинні ключі .

Такі сутності відсутні.

Включення (без злиття) сутностей, унікальних для кожного локального представлення.

Глобальне представлення

ВІДДІЛЕННЯ (Номер_Відділення, Телефон, Факс, Поштовий_Код, E-mail).

Первинний ключ - Номер_Відділення.

ЛІТАК (Номер_Літака, Назва).

Первинний ключ – Номер_Літака.

Злиття загальних зв'язків з окремих локальних моделей

На цьому етапі виконується аналіз імен і призначення всіх зв'язків, що є наявними в обох локальних представленнях. Перш ніж приступати до злиття зв'язків, дуже важливо усунути будь-які конфлікти, що стосуються їх кардинальності і ступеня участі сторін. Імена зв'язків, що наявні в обох локальних представленнях, утримуються в таблиці. Обов'язковою задачею, розв'язуваної на даному етапі, є злиття зв'язків, що мають однакові імена і подібне призначення, а також злиття зв'язків, що мають різні імена, але ідентичне призначення. Але в локальних логічних моделях обох представлень такі зв’язки не були виявлені.