
Предметна область БД.ppt
- Количество слайдов: 37
Проектування бази даних “Гімназія” Предметна область
Об᾿єкти предметної області n УЧЕНЬ (прізвище, ім᾿я, по батькові, дата народження, домашня адреса, дом. телефон); n Навчальний предмет (назва предмету); n Клас (назва класу); n Кабінет (номер кабінету); n Учитель (прізвище, ім᾿я, по батькові); n Період навчання (1 або 2 семестри, рік); n Оцінка (значення оцінки); n Гурток (назва гуртка, керівник, адреса, телефон);
Об᾿єкти предметної області (бібліотека) n Книга (назва книги, автор, дата надходження); n Журнал (назва журналу, рік, номер, кількість примірників);
Аналіз предметної області БД n Правильно побудована БД повинна автоматично контролювати всі умови накладені на об᾿єкти, їх умови, та зв᾿язки, а в разі їх порушення сповіщати про це користувача n Тому властивості, зв᾿язки та обмеження для об᾿єтів мають бути встановлені заздалегідь
Сутність УЧЕНЬ n Навчається в класі n Навчається у навчальному періоді n Вивчає навчальний предмет n Отримує оцінку з предмету n Бере книгу n Бере журнал n Відвідує гурток
УЧЕНЬ (схема зв᾿язків) КЛАС Гурток УЧЕНЬ відвідує навчається Предмет Журнал бере отримує Навчальний період Оцінка Книга
Перевірте себе: Учитель УЧИТЕЛЬ n Викладає навчальний предмет; n В навчальному кабінеті; Побудуйте схему відношень n Для класу УЧИТЕЛЬ клас викладає кабінет предмет
Міжсутнісні зв᾿язки учень зв᾿язки гурток Сидоров музика Іванов футбол Дулуман модельний Зв᾿язки відображають відносини між сутностями
Ступінь зв᾿язку визначає скільки екземплярів однієї сутності може бути пов᾿язана з екземплярами іншої Ступені зв᾿язку бувають двох типів: багато (М) або один (1) n Ступені зв᾿язку між двома сутностями позначають у вигляді пари (1: 1 або 1: М)
Обов᾿язковість зв᾿язку n Обов᾿язковість зв᾿язку визначає чи є цей зв’язок сутностей обов᾿язковим (немає класів в яких немає учнів і немає учнів які б не навчалися в якомусь із класів). На діаграмі обов᾿язковість зв᾿язку позначають за допомогою прямокутника навколо ступеня зв᾿язку 1 n необов᾿язковість зв᾿язку позначають за допомогою крапки біля ступеня зв᾿язку n
НАВЧАЄТЬСЯ n. В зв᾿язок НАВЧАЄТЬСЯ обов᾿язковим є як для сутності учень так і для клас; М УЧЕНЬ навчається 1 КЛАС
Зобразіть діаграми зв᾿язків позначте ступінь та обов᾿язковість зв᾿язків : кураторство; n бере книгу (журнал); n отримує; n відвідує. n Прокоментуйте виконану роботу.
Логічне проектування БД Існують реляційні, ієрархічні та мережеві моделі даних. § Реляційна модель подає дані у вигляді відношення (таблиці), рядки якого називають записами, а стовпчики –полем. Атрибут – назва поля.
Основна властивість відношення § – в таблиці не повинно бути однакових записів. Атрибути Поля Записи Ім᾿я Прізвище По батькові Дата народ. Адреса Вернидуб Іван Гнатович 14. 10. 85 Г. Юри 15 Мазепа Гнат Савович 24. 08. 91 Богуна, 14 … … … … …
Перетворення сутностей у відношення Правило 1. § Кожна сутність подається у вигляді “відношення” – таблиці; § Назва таблиці – назва сутності; § Атрибут (назва стовпчика) – характеристика сутності; § Запис (рядок таблиці) – екземпляр сутності.
Перетворення сутностей у відношення (продовження) § Ключем відношення називають атрибути, які однозначно ідентифікують записи. § Ключів може бути декілька. § З існуючих ключів обирають один найкоротший, який в подальшому представлятиме кожен запис відношення. § Такий ключ називають первинним. § Ключові атрибути підкреслюють.
Перетворення сутностей у відношення (продовження) § У відношеннях реляційної моделі даних не бажано застосовувати імена атрибутів, що входять до різних відношень. Учень (№ учня, Прізвище У, Ім᾿я У, По батькові У, Дата народження, домашня адреса) Учитель (№ вчителя, Прізвище В, Ім᾿я В, По батькові В)
Перетворіть решту сутностей Перевірте себе… у відношення… § § § § Предмет Кабінет Гурток Книга Журнал Оцінка Період навчання § Клас - (№ предмета, назва предмета); (№ кабінету); (№ гуртка, назва гуртка, керівник, адреса, тел. ); (№ книги, назва кн. , автор, дата надходж. ); (№ журналу, назва журн. , рік, №, кільк. прим. ); (значення оцінки); (№ періоду) Назва класу
Перетворення зв’язків у відношення Оскільки єдиним способом подання всіх обє’ктів у реляційній БД є відношення, то і зв’язки між сутностями повинні подаватися у вигляді відношень (таблиць). n Головна ознака правильно створеного відношення зв’язків – відсутність незаповнених полів у записах таблиці.
Перетворення зв’язків у відношення Випадок 1 Розглянемо зв’язок Кураторство. Раніше ми визначили це відношення як 1: 1 Якби всі вчителі обов’язково були кураторами, то для подання відношення було б достатньо одного відношення. Незаповнених полів при цьому б не було.
В такому випадку справедливе правило Правило 2 n Якщо ступінь зв’язку між двома сутностями таблиці дорівнює 1: 1 і участь обох сутностей обов’язкова, то необхідно створити відношення (таблицю), в яке ввійдуть усі атрибути обох сутностей. Кураторство (Назва класу, № вчителя, Прізвище В, Ім’я В, По батькові В).
Випадок 2 Правді не всі вчителі являються кураторами. Тому в раніше створеному відношенні з᾿являться незаповнені поля. n n Якщо у відношенні залишаються вільні поля, це може означати що інформація не повна в БД; Оскільки в кожному класі повинен бути куратор то у відношення клас слід додати поле № вчителя. Назва класу 1 а № вчителя Прізвище Ім᾿я По батькові 12 Вернидуб Іван Гнатович 13 Твердохліб Гнат Савович 2 б … … 4 в 14 Локай Федір Іванович
Правило 3 Якщо сутності таблиці пов’язані за допомогою зв’язку 1: 1, записи однієї з них обов’язково входять у зв’язок, а іншої – ні, то для кожної сутності-таблиці створюється відношення, причому для тієї таблиці, для якої всі записи входять у зв’язок , додається додатковий атрибут – первинний ключ відношення з необов’язковим зв’язком.
Випадок 3 Можлива ситуація коли є вчителі, що не є кураторами, і класи в яких немає кураторів. В такому випадку буде за краще забрати з відношення клас атрибут № вчителя і створити ще одне відношення в якому зазначити для яких класів призначено кураторів. У відношенні кураторство будуть присутні лише ті класи для яких призначено куратора. Правило 4 n n Якщо сутності пов᾿язані за допомогою зв᾿язку 1: 1 і записи обох таблиць необов᾿язково входять у цей зв’язок, то необхідно для зв᾿язку створити додаткове відношення, у яке входять первинні ключі сутностей і таблиць.
Випадок 4 (1: М) Розглянемо вчаться в якомусь класі. Зв’язок Навчається між сутностями Клас та Учень. Ступінь цього зв᾿язку 1: М, і всі учні обов᾿язково вчаться в якомусь класі. n Для створення відношення звязку слід до відношення учень додати атрибут № класу. Учень (№ учня, Прізвище У, Імя У, По батькові У, n адреса У, № класу)
Правило 5 n Якщо ступінь зв᾿язку між двома сутностями є 1: М, і участь сутності зі ступенем зв᾿язку М є обов᾿язковою, то необхідно створити два відношення. Сутність зі ступенем зв᾿язку 1 перетворюється в самостійне відношення, сутність зі ступнем зв᾿язку М також перетвориться в самостійне відношення, і в неї додається ключовий атрибут зі ступенем зв᾿язку 1.
Випадок 5 (1: М) Розглянемо інший зв’язок Бере книгу між сутностями Книга та Учень. Ступінь цього зв᾿язку 1: М. Участь сутності книга в цьому зв᾿язку необов᾿язкова. n Щоб уникнути різних тлумачень відсутності запису скористаємося раніше способом: створимо спеціальне відношення Бере книгу (№ книги, № учня, дата видач книги, повернення книги). n
Правило 6 n Якщо ступінь зв᾿язку між двома сутностями 1: М, і участь сутності зі ступенем М не обов᾿язкова, то необхідно створити три відношення. вихідні сутності перетворюються в самостійні відношення, і створюється третє відношення з ім᾿ям зв᾿язку, який складається з ключових атрибутів вихідних сутностей.
Випадок 5 (N : М) Розглянемо інший зв’язок Бере журнал між сутностями Журнал та Учень. Ступінь цього зв᾿язку N: М. Участь сутності. n Оскільки один учень може взяти кілька журналів, то додати атрибут № журналу у відношення Учень не можна, оскільки в нього можна занести лише один запис. n У відношення Журнал, також не можна помістити атрибут № учня, тому, що цей журнал може взяти декілька учнів.
Для зв᾿язку N: М незалежно від обов᾿язковості участі слід створити додаткове третє відношення Бере журнал, до якого слід занести ключі вихідних відносин № учня, № журналу. Бере книгу (№ учня, № журналу, дата видачі, дата повернення). Правило 7 Якщо ступінь зв᾿язку між двома сутностями є N: М, необхідно створити три відношення. Вихідні сутності перетворяться в самостійні відношення, і створюється нове третє відношення з ім᾿ям назви зв᾿язку, що складається з ключових атрибутів вихідних сутностей.
Випадок 6. В зв᾿язках викладає і одержує приймає участь не дві а більше сутностей. n Для таких зв᾿язків існує інше правило. Правило 8 Якщо кількість сутностей що беруть участь узв᾿язках рівна К, необхідно створити К+1 відношення. Вихідні сутності перетворюються в самостійні відношення, і створюється К+1 відношення з ім᾿ям назви зв᾿язку, що складається з ключових атрибутів вихідних сутностей. Викладає (№ класу, Назва предмету, № кабінету, № уроку)
Обмеження цілісності n n Обмеження цілісності БД називають перелік вимог, яких слід дотримуватися під час роботи з БД. Обмеження бувають структурні та поведінкові
Структурні обмеження n Першим обмеженням є вимога унікальності первинного ключа. СУБД має автоматично контролювати значення ключового поля і не допускати повторення первинного ключа. n Друге обмеження пов᾿язане з організацією зв᾿язку – значення зовнішніх ключів у відношенні зв᾿язку обов᾿язково повинні входити у відношення сутностей, що входять у зв’язок. n (такі обмеження називають посилальними)
Структурні обмеження n Третій тип обмежень автоматично виконує перевірку значення атрибутів. Кожен атрибут може значення якогось типу (напр. дата). Поведінкові обмеження n Поведінкові обмеження виконують перевірку значення атрибутів за якоюсь умовою. Для цього використовують мову програмування. Учень може відвідувати гурток в разі відсутності незадовільних оцінок.
Нормалізація відношень Дослідження будь-яких відношень слід здійснювати на основі зручності вирішення трьох основних задач БД: ► Оновлення; ► Видалення; ► Вставки записів.
► Зв᾿язки між атрибутами, при яких кожному значенню одного атрибуту відповідає одне значення іншого атрибута, називається функціональним. ► Процес нормалізації полягає у розбивці вихідного відношення на кілька дрібних відношень.
Домашнє завдання Опрацювати матеріал: ► в підручнику І. Т. Зарецька та ін. Інформатика (ч. 2) сторінки 74 – 105. ► конспект в зошиті. Підготуватися до контрольної роботи.
Предметна область БД.ppt