Ієрархія (грец. — священна влада) — тип стосунків, що передбачає підпорядкування по вертикалі, нижчий за рівнем об’єкт підпорядковується вищому.
У перших комп’ютерах для збереження даних використовувались ієрархічні структури. Ієрархічна модель передбачає організацію даних про об’єкти у вигляді дерева. У цій структурі даних у кожного об’єкта є тільки один об’єкт вищого рівня, якому він підпорядкований (батьківський), і може бути кілька підпорядкованих (нащадків). Виняток складає тільки найвищий за ієрархією об’єкт — у нього немає батьківського об’єкта (мал).
Прикладом ієрархічної організації даних є файлова структура, що використовується під час розміщення даних на дисках. У зазначеній файловій структурі на диску є один основний батьківський об’єкт (коренева папка), який містить дані про підпорядковані об’єкти — папки та файли. У свою чергу, ці об’єкти можуть містити різноманітні дані, у тому числі і про підпорядковані їм папки й файли. Основним недоліком ієрархічної структури даних є складність розміщення великих масивів даних, тривалий час на пошук потрібних даних у таких структурах. Для пришвидшення роботи з базами даних, спрощення опису об’єктів і зв’язків між ними в 1970 році математик і програміст корпорації ІВМ Едгар Франк Кодд (1923–2003) (мал 3 11) запропонував реляційну модель даних. Він увів у теорію баз даних математичний підхід, що базується на теорії множин.
Розробка теорії реляційної бази даних мала величезне значення для розвитку всієї комп’ютерної науки і практики. За заслуги Е.Ф. Кодда було визнано в 1976 році «Людиною ІВМ», у 1981 році нагороджено однією з найпрестижніших в інформатиці відзнак — премією Тюрінга. У 2002 році за версією часопису Forbs реляційну модель бази даних було визнано однією з найважливіших інновацій за попередні 85 років.
Основою структури даних реляційної бази даних є таблиця. У таблицях кожний рядок містить набір значень властивостей одного з об’єктів предметної області. Кожний стовпець таблиці містить набір значень певної властивості об’єктів предметної області.
Така таблиця з набором стовпців, кожний з яких містить значення з певної скінченної множини, з точки зору математики, задає відношення між множинами.
Тому для опису структури даних Е.Ф. Кодд використав термін «relation» (англ. relation — відношення), а модель даних стали називати реляційною.
Ознайомимося з основними поняттями реляційної бази даних на прикладі таблиці, поданої на малюнку. Як ви вже знаєте, основним об’єктом реляційної бази даних є таблиця Таблиця реляційної бази даних складається з рядків і стовпців.
Рядок таблиці реляційної бази даних називають записом, або кортежем. Запис містить значення властивостей одного об’єкта з множини однорідних об’єктів. Наприклад, у таблиці Монітори (мал) п’ятий зверху запис містить такий набір даних: АОС; 22; AOC i2269VWM; 26.12.2017; 5 102,00 ₴; 36; 6. Ці дані є значеннями відповідних властивостей одного об’єкта множини Монітори: Виробник, Розмір діагоналі, Модель, Дата поставки, Ціна, Термін гарантії, Кількість. Інший запис містить набір значень тих самих властивостей, але вже іншого об’єкта — іншого монітора.
Стовпець таблиці реляційної бази даних називають полем, або атрибутом. Поле має ім’я, яке пов’язано з назвою властивості. Поле містить множину значень однієї властивості всіх об’єктів множини. Дані, що містяться в кожному полі таблиці, є однотипними. Для кожного поля під час проектування таблиці бази даних установлюють тип даних. Для зберігання даних про об’єкти деякої предметної області можна використати кілька таблиць, які можуть бути пов’язані між собою.
Ідентифікація (лат. identitas — тотожність) — ототожнення, прирівнювання, уподібнення, розпізнавання.
У реляційній моделі даних передбачено обов’язкову вимогу ідентифікації об’єктів за рахунок унікальності набору значень властивостей. Для таблиці реляційної бази даних це означає, що значення хоча б в одному з полів не повинні повторюватися. Таке поле називають ключовим, або ключем таблиці. Ключові поля ще називають ідентифікаторами. В окремих реалізаціях реляційних баз даних допускається ідентифікація об’єкта бази даних за набором значень кількох властивостей, тобто ключем буде набір даних з кількох полів, наприклад трьох полів: місто, вулиця, будинок.
У таблиці бази даних, поданої на попередньомумалюнку, жодне з полів не передбачає використання унікальних даних. У таких випадках потрібно додатково вводити ще одне поле, значення в якому не будуть повторюватися в жодному із записів (рядків) таблиці. Таким полем може бути номер запису.
Ключі, вимоги до яких описано вище, називаються первинними ключами. Первинний ключ — це одне або кілька полів (стовпців), комбінація значень яких однозначно визначає кожний запис у таблиці. Первинний ключ не допускає порожніх значень або значень, що повторюються.
Крім первинних ключів, у реляційних базах даних вводиться поняття зовнішнього, або вторинного, ключа. Зовнішній (вторинний) ключ — це одне або кілька полів (стовпців) у таблиці, що містять посилання на поле або поля первинного ключа в іншій таблиці. Зовнішній ключ визначає спосіб об’єднання таблиць.
Щоб усунути дублювання даних, пришвидшити їх опрацювання, між таблицями реляційної бази даних, зазвичай, установлюють зв’язки. Наприклад, у базі даних магазину з продажу комп’ютерних товарів можуть бути окремі таблиці за видом товару (монітори, принтери, процесори, сканери тощо), по виробниках продукції (Samsung, Apple, Asus, Intel тощо), постачальниках тощо Дані в них потрібно узгодити, для чого і використовують зв’язки між таблицями.
За множинністю виділяють такі типи зв’язків:
один до одного (позначають 1:1), коли одному екземпляру однієї множини відповідає один екземпляр іншої множини. Наприклад, під час виготовлення кожен автомобіль отримує свій номер (номер кузова). Кожному автомобілю відповідає тільки один номер;
один до багатьох (позначають як 1:∞ або 1:М, де М — від англ Many — багато), коли одному екземпляру однієї множини може відповідати кілька екземплярів іншої множини. Наприклад, один учитель інформатики навчає багатьох учнів (одного або кількох класів) і при цьому немає інших учителів інформатики, які здійснюють навчання тих самих учнів;
багато до одного (позначають ∞ :1 або М:1), коли кільком екземплярам однієї множини відповідає один екземпляр іншої множини. Цей тип зв’язку є протилежним до зв’язку один до багатьох Наприклад, багато учнів входять до складу тільки одного класу (і тільки до нього) і, навпаки, тільки в певному (одному) класі навчається багато учнів;
багато до багатьох (позначають ∞ :∞ або М:М), коли кільком екземплярам однієї множини можуть відповідати кілька екземплярів іншої множини. Наприклад, множина учнів класу (багато) можуть отримувати різні (багато) оцінки, що будуть визначати рівень їх навчальних досягнень з інформатики.
Зв'язки між таблицями бази дани класифікують також за повнотою. За цією класифікацією виділяють зв'язки, у яких:
кожний екземпляр однієї множини обов’язково пов’язаний з одним чи кількома екземплярами іншої множини. Нариклад, зв'язок між множиною класів і множиною учнів передбачає, що кожен учень належить до певного класу і кожний клас складається з певної кількості учнів;
кожний екземпляр однієї множини не обов’язково пов’язаний хоча б з одним екземпляром іншої множини. Наприклад, між множинами учнів і множиною годинників може бути встановлено зв'язок, який передбачає, що не кожен учень має власний годинник.
Увага! Під час роботи з комп’ютером дотримуйтеся вимог безпеки життєдіяльності та санітарно-гігієнічних норм.
Розглянемо послідовність дій, які потрібно здійснити для перегляду зв’язків між таблицями в уже створеній базі даних Для цього:
Запустіть програму Access.
Відкрийте базу даних, наприклад з файла Тема 3\Завдання 3.2\вправа 3.2.accdb.
Увімкніть повний вміст бази даних.
Відкрийте схему зв’язків поточної бази даних. Для цього на вкладці Знаряддя бази даних у групі Зв’язки (мал) виберіть кнопку Зв’язки.
У вікні Зв’язки відобразіть умовні зображення таблиць Замовлення та Клієнти (мал). Для цього на вкладці Конструктор у групі Зв’язок виберіть кнопку Відобразити таблицю та у вікні Відображення таблиці на вкладці Таблиці виберіть по черзі назви вказаних таблиць і кнопку Додати.
Установіть, між якими полями зазначених таблиць установлено зв’язки, які типи цих зв’язків.
Відобразіть у вікні Зв’язки умовні зображення всіх таблиць цієї бази даних і визначте, між якими таблицями й полями в них установлено зв’язки, які типи цих зв’язків.
Закрийте вікно зв’язків і вікно бази даних.
Мал. Елементи керування груп Зв’язки та Аналіз
Мал. Зв'язки між таблицями Замовлення та Клієнти
за підручником "Інформатика, 10(11) клас" (Й.Я. Ривкінд та їнші):
Прочитайте та розберіть теоретичний матеріал пункту 3.2 (стор. 82-85).
Дайте усні відповіді на питання (стор. 85).
на вибір - або перші два, або третє (скриншот результатів тестів прикріпіть у Гугл класі):