1 of 46

Зв’язки між записами і таблицями.�Створення таблиць.

Розшифруй

QR-код!!!

ТЕМА УРОКУ

2 of 46

ПЛАН УРОКУ

  1. Повторення – інтерактивні вправи, вікторина оцінювання.
  2. Ключі й зовнішні ключі.
  3. Зв'язки в реляційних базах даних.
  4. Визначення структури бази даних.
  5. Робота в СУБД Access.
  6. Практична робота до уроків 19-20 «Редагування Бази даних. Зв’язки. Ключі. Підсумки.» - оцінювання.
  7. Тест по перевірці уроків 21-22 – оцінювання.
  8. Підсумок уроку та домашнє завдання.

3 of 46

ЗНАЙДИ ПЯТЬ КЛЮЧОВИХ СЛІВ З МИНУЛОГО УРОКУ

4 of 46

ПРИГАДАЙ, ТИ ЦЕ ЗАСВОЇВ!

5 of 46

БД створюють, якщо є потреба регулярно опрацьовувати великі обсяги однорідної інформації: списки учнів з їхніми оцінками, анкетні дані співробітників деякого закладу чи фірми, розклади руху різних видів транспорту, про­позиції товарів на ринку чи облік матеріалів на складах тощо.

База даних (БД) це значна кількість однорідних даних з конкретної предметної галузі, які зберігаються на комп'ютерних носіях.

СУБД це спеціальний пакет програм, що забезпечує створення, супроводження і використання баз даних багатьма користувачами.

ПОВТОРЮЙМО, РАЗОМ!

6 of 46

Структура таблиці — це структура запису, тобто сукупність назв полів, їхніх типів та властивостей. Структуру ви­значає користувач під час аналізу конкретної задачі.

ПОВТОРЮЙМО, РАЗОМ!

7 of 46

ПРИГАДАЙ, ТИ ЦЕ ЗАСВОЇВ!

8 of 46

ПРАЦЮЄМО НА ОЦІНКУ!

Поняття бази даних і системи керування базами даних

9 of 46

Ключі й зовнішні ключі

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

10 of 46

Ключі й зовнішні ключі

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

В окремих реалізаціях реляційних баз даних допускається ідентифікація об'єкта бази даних за набором значень кількох властивостей, тобто ключем буде набір даних з кількох полів, наприклад трьох полів:

місто

вулиця

будинок

11 of 46

Ключі й зовнішні ключі

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

12 of 46

Ключі й зовнішні ключі

У таких випадках потрібно додатково вводити ще одне поле, значення в якому не будуть повторюватися в жодному із записів (рядків) таблиці. Таким полем може бути номер запису.

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

13 of 46

Ключі й зовнішні ключі

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

Зовнішній (вторинний) ключ — це одне або кілька полів (стовпців) у таблиці, що містять посилання на поле або поля первинного ключа в іншій таблиці. Зовнішній ключ визначає спосіб об'єднання таблиць.

14 of 46

Зв'язки в реляційних базах даних

Щоб усунути дублювання даних, пришвидшити їх опрацювання, між таблицями реляційної бази даних, як правило, установлюють зв'язки.

Наприклад, у базі даних магазину з продажу комп'ютерних товарів можуть бути окремі таблиці по виду товару:

монітори

принтери

процесори

сканери тощо

По виробниках продукції, постачальниках тощо.

Samsung

Apple

Asus

Intel тощо

15 of 46

Зв'язки в реляційних базах даних

Дані в таблицях потрібно узгодити, для чого і використовують зв'язки між таблицями.

За множинністю виділяють такі типи зв'язків:

один до одного

один до багатьох

багато до одного

багато до багатьох

позначають 1:1

позначають 1: або 1:М

позначають ∞:1 або М:1

позначають ∞:∞ або М:М

16 of 46

Зв'язки в реляційних базах даних

  • Один до одного (позначають 1:1), коли одному екземпляру однієї множини відповідає один екземпляр іншої множини. Наприклад, під час виготовлення кожен автомобіль отримує свій номер (номер кузова). Кожному автомобілю відповідає тільки один номер;

Код

Прізвище

Ім'я

1

Іванов

Кузьма

2

Петров

Василь

Код

Рік народження

Адреса

1

1992

Шевченка, б.20, кв. 6

2

1993

Франка вул., б. 30, кв. 18

1

1

17 of 46

Зв'язки в реляційних базах даних

  • Один до багатьох (позначають як 1: або 1:М, де М — від англ. Many — багато), коли одному екземпляру однієї множини може відповідати кілька екземплярів іншої множини. Наприклад, один учитель інформатики навчає багатьох учнів (одного або кількох класів) і при цьому немає інших учителів інформатики, які здійснюють навчання тих самих учнів;

Код

Назва

1

Монітор

2

Вінчестер

Код

Код товару

Ціна

123

1

2 999

345

1

2 499

1

товари

прайс-лист

18 of 46

Зв'язки в реляційних базах даних

  • Багато до одного (позначають ∞:1 або М:1), коли кільком екземплярам однієї множини відповідає один екземпляр іншої множини. Цей тип зв'язку є протилежним до зв'язку один до багатьох. Наприклад, багато учнів входять до складу тільки одного класу (і тільки до нього) і, навпаки, тільки в певному (одному) класі навчається багато учнів;

Код

Прізвище

1

Іванов

2

Петров

Код

Назва

1

Історія

2

Географія

3

Біологія

Код

Код вчителя

Код предмету

Клас

1

1

1

9-А

2

1

2

8-Б

3

2

3

7-В

розклад

1

1

19 of 46

Зв'язки в реляційних базах даних

  • Багато до багатьох (позначають ∞:∞ або М:М), коли кільком екземплярам однієї множини можуть відповідати кілька екземплярів іншої множини. Наприклад, множина учнів класу (багато) можуть отримувати різні (багато) оцінки, що будуть визначати рівень їх навчальних досягнень з інформатики.

Код

Прізвище

1

Іванов

2

Петров

Код

Назва

1

Історія

2

Географія

3

Біологія

вчителі

предмети

20 of 46

ВИКОНУЙМО РАЗОМ, ЦЕ ПРОСТО!

21 of 46

ВИКОНУЙМО РАЗОМ, ЦЕ ПРОСТО!

Працюємо з комп’ютером:

22 of 46

Для тих, хто хоче знати більше

Зв'язки між таблицями бази даних класифікують також за повнотою. За цією класифікацією виділяють зв'язки, у яких:

  • кожний екземпляр однієї множини обов'язково пов'язаний з одним чи кількома екземплярами іншої множини.

Наприклад, зв'язок між множиною класів і множиною учнів передбачає, що;

кожен учень

належить до певного класу

кожний клас складається з певної кількості учнів

і

23 of 46

Для тих, хто хоче знати більше

Класифікація баз даних за повнотою:

  • кожний екземпляр однієї множини не обов'язково пов'язаний хоча б з одним екземпляром іншої множини.

Наприклад, між множинами учнів і множиною годинників може бути встановлено зв'язок, який передбачає:

Що не кожен учень має власний годинник.

24 of 46

Визначення структури бази даних

Одним з етапів створення бази даних з використанням однієї із систем управління базами даних є визначення її структури. Тобто потрібно визначити:

1

Кількість таблиць бази даних.

2

Перелік полів для кожної таблиці, які будуть ключовими.

3

Типи даних для кожного поля кожної з таблиць з урахуванням особливостей конкретної СУБД.

4

Типи зв'язків між об'єктами таблиць, якщо використовуються кілька таблиць.

5

Види і кількість інших об'єктів бази даних: форма, запит, звіт (може уточнюватися у процесі створення бази даних).

25 of 46

Визначення структури бази даних

Розглянемо особливості кожного з етапів.

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

Наприклад, у базі даних, що буде використовуватися для складання розкладу занять у школі, потрібні такі множини об'єктів:

  • множина класів (5-А, 5-Б, 6-А,..., 11-В);
  • множина приміщень для занять (кабінет № 11, лабораторія № 23,..., спортивна зала № 1);

26 of 46

Визначення структури бази даних

  • множина учителів (Павленко В.Г., Решетняк В.Ф.,..., Яковенко Т.М.);
  • множина уроків (перший, другий, ..., восьмий);
  • множина навчальних днів (понеділок, вівторок,..., п'ятниця);
  • множина навчальних предметів (алгебра, інформатика,..., українська література, фізика).

Як правило, кожна множина однотипних об'єктів подається в базі даних окремою таблицею.

27 of 46

Визначення структури бази даних

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

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

Ці властивості будуть визначати імена полів (стовпців) у базі даних.

28 of 46

Визначення структури бази даних

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

29 of 46

Визначення структури бази даних

На наступному етапі визначаються типи даних для кожного поля кожної таблиці.

При цьому слід враховувати, що тип даних впливає на швидкість опрацювання даних. Особливості використання типів даних у СУБД Access розглянемо нижче.

30 of 46

Визначення структури бази даних

Типи зв'язків між об'єктами таблиць визначаються особливостями застосування бази даних.

Так, між множинами:

приміщень для занять

учителів для певного уроку

та

Потрібно встановити зв'язок «один до одного» (1:1), оскільки не може в одному кабінеті одночасно проводити заняття кілька учителів (за виключенням особливих умов).

31 of 46

Визначення структури бази даних

Особливості створення інших об'єктів бази даних розглянемо пізніше:

форм

запитів

звітів

32 of 46

Типи даних у СУБД Access

Під час уведення даних у поля таблиці слід уводити дані відповідно до того типу, який було запроектовано на етапі створення структури бази даних.

В одному полі бази даних можуть зберігатися дані тільки одного типу.

33 of 46

Типи даних у СУБД Access

Для зберігання даних певного типу в пам'яті комп'ютера використовується різна довжина двійкового коду. Основні типи даних, що використовуються в Access, наведено в таблиці.

№ п/п

Тип даних

Довжина двійкового коду

Застосування

1

Так/Ні

1 біт

Для зберігання значення логічного виразу (істина або хиба)

2

Текст

256 байтів (512 байтів за використання таблиці кодування Unicode)

Для зберігання тексту завдовжки від 0 до 255 символів

Основні типи даних, що використовуються в Access

34 of 46

Типи даних у СУБД Access

№ п/п

Тип даних

Довжина двійкового коду

Застосування

3

Дата й час

8 байтів

Для зберігання значення дати між роками 100 і 9999 та часу між 0:00:00 і 23:59:59 включно

4

Примітка

До 1 Гбайт (в елементах керування відображаються перші 63 999 символів)

Для зберігання тексту: літер, цифр, розділових знаків та інших символів

5

Об’єкт OLE

До 2 Гбайт

Для зберігання об'єктів довільного типу (наприклад, графічні або відеофайли), довжина двійкового коду яких не перевищує вказане значення

Основні типи даних, що використовуються в Access

35 of 46

Типи даних у СУБД Access

№ п/п

Тип даних

Довжина двійкового коду

Застосування

6

Гіперпо-силання

До 8192 символів

Для зберігання посилання на веб-сторінки, файли в мережі або на комп'ютері користувача

7

Авто-нумерація

4 байтів

Для зберігання згенерованих програмою унікальних даних (цілих чисел від 0 до 4 294 967 295) і подальшого визначення поля як первинного ключа

8

Вкладен-ня

До 2 Гбайт

Для прикріплення файлів з різним умістом: зображення, електронні таблиці, текстові документи, музика, відео та ін. Аналогічно прикріпленню файлів до повідомлень електронної пошти

Основні типи даних, що використовуються в Access

36 of 46

Типи даних у СУБД Access

№ п/п

Тип даних

Довжина двійкового коду

Застосування

9

Байт

1 байт

Для зберігання цілих чисел у діапазоні від 0 до 255

10

Ціле число

2 байти

Для зберігання цілих чисел у діапазоні від -32 768 до 32 767

11

Довге ціле число

4 байти

Для зберігання цілих чисел у діапазоні від -2 147 483 648 до 2 147 483 647

Основні типи даних, що використовуються в Access

37 of 46

Типи даних у СУБД Access

№ п/п

Тип даних

Довжина двійкового коду

Застосування

12

Одинарне значення

4 байти

Для зберігання дійсних чисел у діапазонах: від -3.402823 * 1038 до -1.401298 ■ 10-45 для від'ємних чисел;

від 1.401298 * 10-45 до 3.402823 * 1038 для додатних чисел та числа 0

13

Подвійне значення

8 байтів

Для зберігання дійсних чисел у діапазонах:

Від -1,79769313486232 * 10308 до

-4,94065645841247 * 10-324 для від'ємних

чисел;

від 4,94065645841247 * 10-324 до

1,797693134862 * 10308 для додатних чисел та числа 0

Основні типи даних, що використовуються в Access

38 of 46

Типи даних у СУБД Access

Крім наведених у таблиці типів даних, в Access використовують ще два типи поля:

Майстер підстановок

Обчислювальний

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

39 of 46

ОСМИСЛЕННЯ НОВОГО МАТЕРІАЛУ

40 of 46

Типи даних у СУБД Access

Наприклад, список з переліком класів школи з поля Назва таблиці Клас може бути підставлений у поле Клас іншої таблиці — Розклад.

41 of 46

Типи даних у СУБД Access

Тип Обчислювальний використовується для здійснення обчислень за значеннями з кількох полів бази даних.

Тип поля визначається за типом очікуваного результату обчислень. Можна здійснити операції над числовими (числовий і грошовий формат, формат дати й часу) та текстовими даними, логічними виразами.

42 of 46

Типи даних у СУБД Access

Неправильно визначений тип даних для певного поля може призвести до неможливості опрацьовувати певні дані або до їх втрати.

Наприклад, якщо для поля Дата народження буде обрано тип даних Текст, то в подальшому неможливо буде виконувати математичні операції над даними із цього поля:

визначити вік особи на поточний момент часу

порівняти вік різних осіб тощо.

43 of 46

Типи даних у СУБД Access

Під час змінення типу даних у відповідному полі усі вже введені дані, як правило, буде втрачено та доведеться їх вводити знову.

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

44 of 46

ПРАЦЮЄМО НА ОЦІНКУ!

Додавання, видалення, редагування даних у базі. Типи даних у СУБД Access

45 of 46

Дайте відповіді на запитання

  1. Які способи створення таблиць бази даних ви знаєте?
  1. Яке поле створюється автоматично під час створення таблиці? Який тип даних цього поля?
  1. Які типи даних використовуються в Access?
  1. Що таке Майстер підстановок? Для чого його використовують?
  1. Чому в базах даних використовують різні типи даних? Чи не можна всі типи даних звести до одного, якогось універсального?

46 of 46

ДОМАШНЄ ЗАВДАННЯ

  1. Опрацювати: презентацію до уроків 19-20, § 3.2, ст. 84-86, § 3.3, ст. 87-90
  2. Виконати: тест по перевірці уроків 19-20
  3. Виконати: Практична робота до уроків 19-20