- •Лекція 5. Модель “Сутність – зв’язок”
- •5.1. Концепції er-моделі
- •5.1.1. Типи сутностей Типи сутностей - об'єкт чи концепція, що характеризуються на даному підприємстві які мають незалежне існування.
- •Сутність - екземпляр типу сутності, що може бути ідентифікований унікальним образом.
- •Слабкий тип сутності - тип сутності, існування якого, залежить від якогось іншого типу сутності. Сильний тип сутності - тип сутності, існування якого не залежить від якогось іншого типу сутності.
- •Способи представлення сутностей на діаграмі
- •5.1.2. Атрибути Атрибут - властивість типу сутності чи типу зв'язку.
- •Домен атрибута - набір значень, що можуть бути привласнені атрибуту.
- •Простий атрибут - атрибут, що складається з одного компонента з незалежним існуванням.
- •Складений атрибут - атрибут, що складається з декількох компонентів, кожний з який характеризується незалежним існуванням.
- •Однозначний атрибут - атрибут, що містить одне значення для однієї сутності.
- •Багатозначний атрибут - атрибут, що містить кілька значень для однієї сутності.
- •Похідний атрибут - атрибут, що представляє значення, похідне від значення зв'язаного з ним атрибута чи деякої безлічі атрибутів, що належать якомусь (не обов'язково даному) типу сутності.
- •Потенційний ключ - атрибут чи набір атрибутів, що унікально ідентифікує окремі екземпляри типу сутності.
- •Первинний ключ - потенційний ключ, що обраний як первинний ключ.
- •Складений ключ – потенційний ключ, що складається з двох чи більше атрибутів.
- •Представлення атрибутів на діаграмах
- •5.1.3. Типи зв'язків Тип зв'язку - осмислена асоціація між сутностями різних типів.
- •Зв'язок - асоціація між сутностями, що включає по одній сутності з кожного типу, що бере участь у зв'язку сутності.
- •Представлення зв'язків на діаграмах
- •Ступінь зв'язку - кількість сутностей, що охоплені даним зв'язком.
- •Рекурсивний зв'язок - зв'язок, у якому ті самі сутності беруть участь кілька разів і в різних ролях.
- •5.1.4. Атрибути зв'язків
- •5.2. Структурні обмеження
- •5.2.1. Показник кардинальності Показник кардинальності описує кількість можливих зв'язків для кожної із сутностей учасниць.
- •Зв'язку „один до одного"
- •З в'язок „один до багатьох"
- •Зв'язку "багато до багатьох"
- •5.2.2. Ступінь участі Ступінь участі визначає, чи залежить існування деякої сутності від участі в зв'язку деякої іншої сутності.
- •5.3. Проблеми er-моделювання
- •5.3.1. Пастки розгалуження Пастка розгалуження має місце в тому випадку, коли модель відображає зв'язок між типами сутностей, але шлях між окремими сутностями цього типу визначений неоднозначно.
- •5.3.2. Пастки розриву Пастка розриву з'являється в тому випадку, коли в моделі передбачається наявність зв'язку між типами сутностей, але не існує шляху між окремими сутностями цих типів.
- •5.4.1. Суперкласи і підкласи типів сутностей
- •Суперклас - тип сутності, що включає різні підкласи, які необхідно представити в моделі даних. Підклас - тип сутності, що виконує окрему роль, а також є членом суперкласу.
- •5.4.2. Спадкування атрибутів
- •5.4.3. Спеціалізація Спеціалізація - процес збільшення розходжень між окремими членами типу сутності за рахунок виділення їхніх відмінних характеристик.
- •5.4.4. Генералізація Генералізація - процес зведення розходжень між сутностями до мінімуму шляхом виділення їхніх загальних характеристик.
- •5 .4.5. Обмеження, що накладаються на процедури спеціалізації і генералізації
- •5.4.6. Категоризація Категоризація - моделювання одного підкласу зі зв'язком, що охоплює кілька різних суперкласів.
- •5.5. Створення eer-моделі для представлення користувача Manager з навчального проекту DreamHome
- •5.5.1. Специфікації вимог для представлення користувача Manager
- •5.5.2. Створення eer-моделі
- •Визначення типів сутностей
- •Визначення типів зв'язків
- •Визначення показника кардинальності і ступеня участі сторін для типів зв'язків
- •Визначення атрибутів і зв'язування їх з типами сутностей і зв'язків
- •Визначення атрибутів, що є потенційними і первинними ключами
- •Чи спеціалізація генералізація типів сутностей
- •Категоризація типів сутностей
- •Створення розширеної діаграми „сутність-зв’язок"
- •Питання
- •Вправи Навчальний проект University Accommodation Office
Питання
5.1. Опишіть призначення високорівневих моделей даних у процесі проектування бази даних.
5.2. Назвіть основні концепції ER-моделі і вкажіть спосіб їх представлення на діаграмах.
5.3. Вкажіть обмеження, що можуть бути накладені на сутності учасниці деякого зв'язку.
5.4. Опишіть проблеми, що можуть виникнути при створенні ER-моделі.
5.5. Назвіть основні поняття EER-моделі і вкажіть спосіб їхнього представлення на діаграмах.
5.6. Створіть EER-модель для представлення вимог до даних з навчального проекту University Accommodation Office.
а) виділите типи сутностей;
б) виділите типи зв'язків і визначите для них показники кардинальності і ступінь участі сторін;
в) виділите атрибути і зв'яжіть їх типи сутностей і зв'язків;
г) визначите потенційні і первинні ключі сутностей;
д) виконаєте спеціалізацію/генералізацію типів сутностей (там, де це необхідно);
е) виконаєте категоризацію типів сутностей (там, де це необхідно);
ж) намалюйте EER-діаграму. Укажіть усі допущення, що були зроблені при створенні цієї EER-моделі.
Вправи Навчальний проект University Accommodation Office
Припустимо, що директор служби розселення студентів університету доручив вам створити базу даних для надання допомоги керівництву цієї служби. Після виконання фази збору й аналізу вимог, пропонованих до неї директором, були отримані такі специфікації вимог до бази дані служби розселення.
1. У цій базі даних зберігаються наступні зведення про всіх студентів очної форми навчання: реєстраційний номер студента, ім'я і прізвище, домашня адреса (вулиця, місто, поштовий індекс), дата народження, стать, категорія студента (наприклад, першокурсник чи старшокурсник), національність, палить (так чи ні), особливі запити, будь-які додаткові коментарі, статус (оселений/очікує заселення), а також його курс навчання. Ці зведення про студентів зв'язані зі зведеннями про оренду кімнат і списки студентів, що очікують заселення. Студенти можуть орендувати кімнату в корпусах університетського гуртожитку чи в окремих квартирах для студентів. При зарахуванні студента в університет до нього прикріплюється один зі співробітників, що називається куратором. Куратор стежить за благополуччям і успішністю студента. Про всіх кураторів зберігається така інформація: повне ім'я, посада, назва факультету, внутрішній номер телефону і номер кабінету.
2. Кожен гуртожиток має свою назву, адресу, номер телефону і менеджера, що керує ім. Гуртожиток має тільки одномісні кімнати, що характеризуються номером кімнати й орендною платою, а також номером місця проживання, що є унікальним для всіх гуртожитків даної служби розселення і використовується при оренді кімнати студентом.
3. Служба розселення пропонує студентам можливість поселятися в окремих, цілком мебльованих квартирах для груп з 3,4 чи 5 студентів (з окремими спальними кімнатами для кожного з них). Про ці квартири зберігається наступна інформація: унікальний для всіх квартир номер, адреса квартири, а також кількість спальних кімнат у ній. Кожна спальна кімната квартири характеризується місячною орендною платою, номером кімнати, а також номером місця проживання, що є унікальним для всіх квартир даної служби розселення і використовується при оренді кімнати студентом.
4. Студент може орендувати кімнату в гуртожитку чи в квартирі на різні проміжки часу. Договори про оренду укладають на початку кожного навчального року, причому їхня мінімальна тривалість може дорівнювати одному семестру (15 тижням), а максимальна - одному року, включаючи 1-й і 2-й семестри, а також літній семестр. Кожному окремому договору оренди між студентом і службою розселення привласнюється унікальний номер. Про кожен договір зберігається наступна інформація: його номер, тривалість оренди (у кількості семестрів), ім'я і реєстраційний номер студента, номер місця проживання, номер кімнати, адреса чи гуртожитку квартири, дата передбачуваного заселення, а також дата передбачуваного виселення (якщо вона відома).
5. Студентські квартири регулярно інспектуються співробітниками служби розселення з метою перевірки їх поточного стану. За результатами кожної такої перевірки зберігається наступна інформація: ім'я співробітника, що інспектує, дата перевірки, оцінка про те, чи міститься житло в належному стані (так чи ні), а також будь-які додаткові коментарі.
6. Про співробітників служби розселення також зберігається деяка інформація, а саме: номер співробітника, його ім'я і прізвище, домашня адреса (вулиця, місто, поштовий індекс), дата народження, стать, посада (наприклад, менеджер гуртожитку, помічник по адміністративній роботі, прибиральник), а також місце роботи (наприклад, служба чи розселення гуртожиток).
7. Служба розселення зберігає деякі зведення про курси навчання в даному університеті, включаючи такі, як номер курсу, назва курсу (включаючи рік), ім'я куратора курсу, його внутрішній номер телефону, номер кабінету і назва факультету. Кожен студент зв'язаний з якимсь одним курсом.
8. Якщо це можливо, то, крім зведень про кожного студента, зберігається інформація про його найближчого родича: ім'я і прізвище, ступінь споріднення, адреса (вулиця, місто, поштовий індекс) і номер контактного телефону.