15.12

Тема. Ключі й зовнішні ключі. Зв’язки між записами і таблицями. Визначення типу зв'язку. 

Мета. сформувати уявлення про ключі й зовнішні ключі, типи зв'язків між даними, поняття відношення, атрибута, ключа; сформувати поняття: відношення, атрибута, ключа, зв'язку; розглянути: класифікацію зв'язків за множинністю та повнотою; принципи роботи; правила побудови моделі даних; формувати вміння: будувати моделі даних; проектувати бази даних.

Хід уроку

 1.      Що таке БД? Де використовуються БД?

2.      Що означає сутність?

3.      Назвіть типи зав’язків між сутностями предметної галузі.

4.      Що таке модель «сутність-зв’язок».?


СКБД Access дає змогу створювати об'єкти бази даних, у яких: міститиметься інформація з різних таблиць. Для цього необхідно встановити зв'язок між таблицями. Під час створення зв'язку будуть об'єднані (зв'язані) записи в цих таблицях. При цьому користуються умовними термінами, говорять про базову та залежні таблиці. В обох таблицях повинні бути поля, які мають однакові значення. Тоді зв'язком між таблицями буде ця пара полів (одне -в базовій таблиці, друге — в залежній). Зв'язані поля можуть мат: різні імена, але тип значень цих полів обов'язково має збігатися.

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

Існує кілька методів побудови концептуальної моделі бази даних. Один із найбільш поширених методів ґрунтується на моделі, що заснована на подані предметної області у вигляді двох типів об’єктів — сутностей і зв'язків.

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

назви стовпців таблиці, а екземпляри — рядки таблиці.

Існує поняття ступеня зв'язку між сутностями, що належать до зв'язку.

Ступінь зв'язку визначає, яка кількість екземплярів однієї сут­ності може бути пов'язана з екземплярами іншої сутності, що на­лежать до цього зв'язку.

На етапі логічного проектування сутності і зв'язки перетворю­ються на логічну модель даних, побудовану за законами логіки. Як ми вже згадували на першому уроці, існує кілька логічних моделей даних. Серед них виділяють реляційну, ієрархічну і мережну. Найширше тепер використовується реляційна модель. Англійською «relation» — відношення, звідси і назва моделі.

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

Атрибути (групи атрибутів) забезпечують унікальність (неповторність) кожного рядка, що називається ключем відношення. Ключів у відношенні може бути кілька.

Переглян презентацію та зроби короткий конспект.

Робота за комп'ютером. Демонстрації робота бази даних: створення таблиці, ознайомлення з типами даних в таблиці, заковнення, створення зв'язків між таблицями, визначення ключа.

252240.pptx

Приклади 

Ми знаємо, що найбільш поширеною є реляційна модель, в основі якої лежать таблиці з наборами однотипних об’єктів. Тобто передусім, аналізуючи предметну область, потрібно виділити об’єкти і виокремити серед них сутності – множини об’єктів, котрі мають однаковий набір параметрів, суттєвих для бази даних. Так, у школі є різні класи – це об’єкти, котрі належать до сутності Клас. У класі вчаться учні – що належать до сутності Учень. У бібліотеці зберігаються книги – сутність Книга. У кожному випадку конкретний екземпляр сутності, конкретний об’єкт, має такий же набір властивостей, як й інші об’єкти тієї ж сутності, але різні значення властивостей.

Об’єкти можуть перебувати у зв’язках з іншими об’єктами. Наприклад, учитель викладає у класі, учень вчиться у класі, а читач бере книгу в бібліотеці.

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

Сутності записуються у прямокутниках, під якими вказується перелік їхніх властивостей або атрибутів. Варто зазначити, що неможливо перелічити всі властивості об’єкта, адже у різних базах даних будуть важливими різні параметри. Так, у базі даних школа неважливим є колір волосся чи очей учнів та вчителів. А у базі даних перукарня – ця інформація є важливою і тому має зберігатись як параметр сутності Клієнт. Ця сама людина у базі даних поліклініки матиме ще атрибут група крові чи вага.

Деякі з атрибутів є ключовими – вони дозволяють унікально ідентифікувати об’єкт сутності. Наприклад, у людей можуть повторюватись прізвище, ім’я, по батькові, проте не може повторюватись номер паспорту. І знаючи цей номер, ми можемо точно дізнатись, котрий саме Іваненко Тарас Михайлович відкрив рахунок у банку. Отже людину можна ідентифікувати за номером паспорта.

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

У різних базах даних це можуть бути різні коди та номери – наприклад, ідентифікаційний код для громадянина; індекс для поштових відділень. Проте наприклад за індексом дізнатись точну адресу неможливо. Як і за назвою вулиці, без уточнення міста. Квиток в кіно обов’язково містить ряд і місце, які разом з назвою фільму та часом початку сеансу ідентифікують перегляд його глядачем у певному кінотеатрі.

З сутностями, ніби, розібрались. Тепер зв’язки між ними. Передусім потрібно знати, що типів зв’язків є всього три: один до одного, один до багатьох і багато до багатьох.

Один до одного – це клас та класний керівник. В одного класу може бути лише один класний керівник, і вчитель може бути класним керівником лише одного класу. Тому – 1 до 1.

Один до багатьох – у класі вчиться багато учнів, але учень вчиться лише в одному класі. У школі багато класів, але конкретний клас  належить лише до однієї школи. І багато до багатьох – вчитель викладає у багатьох класах, а у класі викладає багато вчителів. Актор знімається у багатьох фільмах, а у фільмі знімається багато акторів.Більше ніяких типів зв’язків не буває, всіх їх можна віднести до одного з трьох типів. Сутності держава і столиця – один до одного (в одній державі – одна столиця, і місто може бути столицею лише однієї держави); лікар та пацієнт – багато до багатьох (у лікаря багато пацієнтів, а пацієнт може лікуватись у багатьох лікарів); літак виконує рейс – один до багатьох (один літак виконує багато рейсів, але в одному рейсі задіяний лише один літак). Нанісши зв’язки на схему із сутностями у вигляді ромбів, вказуємо дієслова, що відображають зміст зв’язку та проставляємо множинність. Побудуємо модель у програмі Ворд.

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


Домашнє завдання Опрацювати конспект, завдання на Мій клас