Lesson24 keys and external keys. instructing with bc
1. 10 клас Урок №___ ____________________
Тема: Ключі й зовнішні ключі. Інструктаж з БЖД
Мета: Засвоїти відомості про роботу з БД і СУБД; Розвивати координацію
рухів, зорову пам’ять, вміння працювати з програмами; Виховувати
зосередженість, вміння активно сприймати новий матеріал.
Тип уроку: Комбінований
Хід уроку
І. Організаційний момент
II. Етап орієнтації
III. Етап проектування
ІV. Етап навчальної діяльності
Нехай задано базу даних працівників підприємства, що складається з двох
таблиць. Перша таблиця містить дані про працівника. Друга таблиця містить
відомості про заробітну плату працівників.
Таблиці мають таку структуру.
Таблиця “Працівник”. Містить дані про працівника
Таблиця “Зарплата”. Містить відомості про заробітну плату працівників.
Що таке первинний ключ в таблиці бази даних? Для чого
використовуються первинні ключі?
2. При роботі з таблицями в реляційних базах даних, бажано (необхідно), щоб
кожна таблиця мала так званий первинний ключ.
Первинний ключ – це поле, яке використовується для забезпечення
унікальності даних в таблиці. Це означає, що значення (інформація) в полі
первинного ключа в кожному рядку (запису) таблиці має бути унікальним.
Унікальність необхідна для уникнення неоднозначності, коли невідомо до
якого запису таблиці потрібно звернутися, якщо в таблиці є записи що
повторюються (два записи мають однакові значення у всіх полях таблиці).
Приклад. Для таблиці “Працівник” можна ввести додаткове поле, що буде
первинним ключом. Однак, поле (атрибут) “Табельний номер” також
забезпечує унікальність. Тому що, теоретично, не може бути двох однакових
табельних номерів. На практиці можуть бути випадки, що такий самий
табельний номер буде введено помилково і співпадуть значення усіх полів
таблиці. В результаті виникнуть два однакових записи в таблиці. Щоб
уникнути такої помилки, краще створити в таблиці додаткове поле-
лічильник, яке точно забезпечить унікальність.
Так само, для таблиці “Зарплата” можна ввести додаткове поле, що буде
первинним ключом.
Що таке відношення (зв’язок) між таблицями (relationship)?
У реляційній моделі даних таблиці можуть мати між собою зв’язки. Такі
зв’язки називаються відношеннями. Для таблиць “Працівник” та “Зарплата”
можна встановити зв’язок за полем “Табельний номер”.
Приклад. Проаналізуємо таблиці “Працівник” та “Зарплата”. У цих таблицях
можна встановити відношення між таблицями на основі поля “Табельний
номер”. Тобто, зв’язок між таблицями відбувається на основі поля (атрибуту)
“Табельний номер”.
Це означає наступне. Якщо потрібно пошукати нараховану заробітну плату в
таблиці “Зарплата” для працівника Демченко А.Д., то потрібно виконати такі
дії:
знайти табельний номер працівника Демченко А.Д. у таблиці “Працівник”.
Значення табельного номеру рівне 7585;
у таблиці “Зарплата” знайти усі значення, що рівні 7585 (табельний номер);
вибрати з таблиці “Зарплата” усі значення поля “Нараховано”, що
відповідають табельному номеру 7585.
3. Ілюстрація зв’язку між таблицями. Табельний номер 2145 таблиці
“Працівник” відображається у таблиці “Зарплата”
Зв’язок (відношення) між полями таблиць
Що таке зовнішній ключ (foreign key)?
Поняття “зовнішній ключ” є важливим при розгляді зв’язаних таблиць.
Зовнішній ключ – це одне або декілька полів (атрибутів), які є первинними в
іншій таблиці і значення яких замінюється значеннями первинного ключа
іншої таблиці.
Приклад. Нехай між таблицями “Працівник” і “Зарплата” є взаємозв’язок за
полем “Табельний номер”. У цьому випадку поле “Табельний номер” таблиці
“Працівник” може бути первинним ключем, а поле “Табельний номер”
таблиці “Зарплата” зовнішнім ключем. Це означає, що значення поля
4. “Табельний номер” таблиці “Зарплата” замінюються значеннями поля
“Табельний номер” таблиці “Працівник”.
4. Що таке рекурсивний зовнішній ключ?
Рекурсивний зовнішній ключ – це зовнішній ключ, який посилається на ту
саму таблицю, до якої він належить. У цьому випадку поле (атрибут), що
відповідає зовнішньому ключу, є ключом того самого відношення (зв’язку).
5. Чи можуть первинний та зовнішній ключі бути простими або
складеними (складними)?
Первинний, вторинний та зовнішній ключі можуть бути як простими так і
складеними. Прості ключі – це ключі, що містять тільки одне поле (один
атрибут). Складені (складні) ключі – це ключі, що містять декілька полів
(атрибутів).
6. Яка відмінність між штучним та природнім ключем? Приклад
Природній ключ забезпечує унікальність з самої сутності предметної області.
Бувають випадки, коли значення записів деякого поля (полів) таблиці є
унікальними. Таке поле може бути природнім ключем.
Штучний ключ вводиться додатково для забезпечення унікальних значень.
Найчастіше штучний ключ є полем типу лічильник (counter). У такому полі,
при додаванні нового запису (рядка) в таблицю, значення лічильника
збільшується на 1 (або іншу величину). Якщо запис видалити з таблиці, то
максимальнезначення лічильника рядків вже не зменшується, а залишається
як є. Як правило, за цим всім слідкує система керування базами даних.
Приклад. У таблиці “Працівник” природнім ключем є поле (атрибут)
“Табельний номер”. Поле “Табельний номер” є саме по собі унікальним,
тому що не може бути двох працівників з однаковим табельним номером.
У таблиці “Зарплата” значення в усіх чотирьох полях можуть випадково
повторитись. Тому, тут доцільно додати додаткове поле- лічильник, яке буде
штучним ключем. У цьому випадку таблиця “Зарплата” з додатковим полем
може мати приблизно такий вигляд:
5. де поле “Номер” є штучним ключем, що забезпечує унікальність.
Які є способи вибору первинного ключа?
Існує 3 способи вибору первинного ключа:
використовувати поле-інкремент (поле-лічильник) як штучний ключ;
вибрати з даних одне поле, що може забезпечити унікальність;
вибрати з даних декілька полів, що можуть забезпечити унікальність. У
цьому випадку ключ ще буде називатись складним (складеним).
VI. Закріплення:
Завдання 1, 2, 3 на ст.151
VІІ. Рефлексія :
VIIІ.Домашнє завдання
Вивчити терміни, конспект,
§3.5 Й.Я. Ривкінд