Рис.3. Касир фіксується у таблиці продажу авіаквитків
Тип сутності | Атрибут |
Відділення | Номер (Номер відділення) Адреса (Місто, вулиця, район, поштовий індекс) Телефон (Номер телефону) Факс (Факс відділення) Поштовий код (Поштовий код відділення) Електронна адреса (Email) |
Працівник | Номер (Табельний номер) Номер відділення Повне ім’я (Прізвище, ім’я, по-батькові) Стать Паспортні дані (Серія, номер, ким виданий, де виданий …) Посада Телефон (Номер телефону) Посада (Займана посада) Зарплата (Заробітна плата) |
Клієнт | Номер (Табельний номер) Повне ім’я (Прізвище, ім’я, по-батькові) Стать Паспортні дані (Серія, номер, ким виданий, де виданий …) Мета перельоту |
Авіаквиток | Номер Номер клієнта |
Літак | Номер Назва |
Клас | Номер Назва |
Напрям | Номер Пункт відправлення Пункт прибуття |
Рейс | Номер Номер напряму Назва |
Таблиця продажу авіаквитків | Номер (Номер запису у таблиці) Номер розкладу Номер працівника Номер авіаквитка Номер класу |
Розклад авіа перельотів | Номер (Номер запису у таблиці) Номер літака Номер рейсу |
У документацію необхідно помістити докладні зведення про атрибути, перераховані у табл.1..2. Для кожного атрибута варто вказати загальний опис, тип даних і довжину значення, наявні обмеження, значення за замовчуванням (якщо таке є), псевдоніми (якщо такі існують), а також є атрибут складеним або похідним і чи припустиме для нього значення NULL. Фрагмент подібного документа наведений у кінці цього розділу (Додаток В).
На цьому етапі потрібно визначити домени атрибутів, поміщених у локальну концептуальну модель. Доменом називають безліч припустимих значень для одного або більше атрибутів. Наприклад, домен атрибута Номер сутності Відділення складається з рядків довжиною до трьох символів, що мають значення від '111' до '999'.
Прикладом домену, поділюваного декількома атрибутами, є домен значень адрес. Атрибути Адреса, що належать сутностям працівник, мають той самий загальний домен припустимих значень. Зведення про домени атрибутів наведені у додатку Г.
Звернемося до табл. 1.2 і виділимо в ній усі можливі потенційні ключі для кожної із сутностей, представлених у локальній концептуальній моделі даних користувача Директор. Потім зі знайдених потенційних ключів виберемо первинні ключі, що найбільше підходять для кожного типу сутності. Результати визначення первинних і альтернативних ключів для кожної із сутностей представлені в табл.1.3.
Таблиця 1.3
Сутності і їх первинні й альтернативні ключі
Сутність | Первинний ключ | Альтернативний ключ |
Відділення | Номер | Телефон |
Працівник | Табельний Номер | Паспортні дані |
Клієнт | Номер | Паспортні дані |
Авіаквиток | Номер | |
Літак | Номер | |
Клас | Номер | |
Напрям | Номер | |
Рейс | Номер | |
Таблиця продажу авіаквитків | Номер | |
Розклад авіа перельотів | Номер |
Етап 1.6. Спеціалізація/генералізація типів сутностей
На цьому етапі приймаються (необов'язкові) заходи для поліпшення вихідного варіанта ER-діаграми за допомогою застосування процедури генералізації або спеціалізації сутностей, виділених на етапі 1.1. При проведенні спеціалізації починаються спроби виділити розходження між сутностями. На противагу цьому при застосуванні методів генералізації здійснюється пошук загальних характеристик сутностей різних типів.
Наприклад, на рисунку 1 об'єкти Директор, Касир і Екіпаж представляють різні типи сутностей. Перевіримо, чи можна виконати генералізацію цих сутностей у підкласи суперкласу Працівник або краще зберегти їх як незалежні типи сутностей.
Як показано в таблиці 1.2, всі атрибути сутності Працівник, уключаючи і первинний ключ, присутні також у сутностях Директор, Секретар та Екіпаж. Однак кожна з цих сутностей бере участь у різних зв'язках, наприклад у таких, як Директор керує відділенням і Екіпаж перебуває у літаку. На підставі цих зведень ми приймаємо рішення провести генералізацію сутностей Директор, Касир і Екіпаж. Вони будуть представлені як підкласи суперкласу Працівник. Зв'язки, що суперклас "підтримує" зі своїми підкласами, є частковими і непересічними, оскільки той самий працівник не може бути одночасно й директором, і касиром і членом екіпажу.
Із метою одержання наочного представлення основних сутностей і зв'язків, визначених у специфікаціях, ми побудували вихідну ER-діаграму, яка має вигляд, показаний на рисунку 13 (для представлення користувача директор) та на рисунку 14 (касир).
Рис. 12. Суперклас Працівник