Реляційна модель даних. Структура реляційних даних

Лекція № 6 (2 години)

Тема «Реляційна модель даних. Структура реляційних даних»

Мета: знати призначення реляційної моделі даних та головні її поняття.

Література

«Бази даних. Проектування, реалізація та супровід.» Теорія та практика -Т. Конолі, К. Бегг, А. Строчан Москва, СПб., Київ. 2000 р.

«Бази даних: основи, проектування, використання» -Малихіна М. П. СПб. 2004р.

«Організація баз даних та знань» - Пасічник В. В., Резніченко В. А., Київ, 2006 р.

«Системы баз данных. Полный курс» - Г. Гарсия Молина, Москва: Вильямс, 2003р.

«Базы данных» - Карпова Т. С., Санкт-Петербург: Питер, 2001

«Базы данных: разработка и управление» - Хансен Г., Хансен Д., Москва: Бином, 2001

Хід заняття (або структура заняття)

І. Організаційний момент (або організаційна частина)

а) готовність групи до заняття;

б) психоемоційний настрій;

в) перевірка присутніх.

ІІ. Актуалізація опорних знань студентів (або мотивація навчальної діяльності)

а) повідомлення теми та мети заняття;

б) повідомлення девізу, під яким будете працювати (якщо він є);

в) відповіді на запитання (якщо лекція потребує повторення раніше вивченного).

ІІІ. Виклад нового матеріалу

План

  1. Передумови появи реляційної моделі даних та її призначення.
  2. Основні поняття реляційної моделі даних (відношення, кортеж, атрибут, первинний та зовнішній ключі, домен, кардинальність та ступінь відношення).
  3. Вимоги, які надаються до таблиць реляційної моделі даних.

ІV. Узагальнення та систематизація знань

V. Підведення підсумків заняття

VІ. Домашнє завдання: вивчити матеріал лекції, знати відповіді на такі питання лекції:

  1. Ким була запропанована реляційна модель даних?
  2. Чим реляційна модель даних відрізняється від інших моделей даних?
  3. Чому реляційна модель даних стала найпоширенішою?
  4. Які головні поняття використовуються при роботі з реляційною моделю даних? Дати їм визначення.
  5. Яка характеристика реляційної моделі даних визначається кількістю атрибутів, які містяться в базі даних?
  6. Для чого в базі даних треба створювати первинний ключ?
  7. Навіщо при роботі зі зв’язаними таблицями використовується зовнішній ключ?
  8. Які вимоги надаються до таблиць реляційної моделі даних?

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

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

До реляційних СКБД можна віднести - MS Access, Firebird, SQL Server, Oracle, DB2.

Реляційні системи беруть початок в математичній теорії множин. Вони були запропоновані наприкінці 1968 р. доктором Е. Ф. Коддом з фірми IBM, який першим усвідомив, що можна використовувати математику для надання надійної основи та суворості області керування базами даних.

Нечіткість багатьох термінів, які використовуються в сфері обробці даних, змусила Е. Ф. Кодда відмовитися від них та вигадати нові або дати найбільш точні визначення існуючим. Таким чином, він не міг використовувати поширений термін «Запис», який в різних ситуаціях може визначати екземпляр запису, або тип записів, запис у стилі Коболу (який припускає групи, які півторюються) або плоский запис (який їх не припускає), логічний запис або фізичний запис, зберігаємий запис або віртуальний запис та т.д. Замість цього він використовував термін «Кортеж довжини n» або просто «Кортеж».

Реляційна модель даних (РМД) покладена в основу більшості сучасних СКБД. Перевагами моделі вважаються простота розміщення даних та зручність їх інтерптетації.

Реляційна модель орієнтована на організацію даних у вигляді таблиць (відношень).

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

Кожна таблиця реляційної БД має ім’я та рядок заголовків.

Структура реляційних даних

Відношення - плоска таблиця, яка складається з рядків та стовпців.

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

Атрибут - стовпець відношення з власним іменем.

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

Наприклад, інформація про відділення компанії може бути зображена відношенням «Відділення», яке містить стовпці з атрибутами «Номер_відділення», «Місто», «Вулиця», «Район», «Поштовий_індекс», «Телефон». Аналогічним чином інформація про співробітників компанії може бути зображена відношенням «Співробітники», яке містить стовпці з атрибутами «Номер_співробітника», «Прізвище», «Ім’я», «По-батькові», «Адреса», «Телефон», «Посада», «Стать», «Дата_народження», «Заробітна плата», «Номер_відділення».

Відношення «Відділення»

Первинний ключ Атрибути

Номер_

відділ.

Місто

Вулиця

Район

Поштовий_

индекс

Телефон

1

Луганськ

Київська 67

Північний

49913

938544

2

Одеса

Ген. Петрова 1

Малин-кий

65120

659569

3

Черкаси

Шевченко 14

Центр-ний

43701

438615

4

Запоріжжя

Гоголя 82

Центр-ний

50883

648369

5

Одеса

Бочарова 19

Сувор-кий

65135

551440

7

Київ

Іванова 8

Центр-ний

87505

7285190

Ступінь


Зовнішній ключ Відношення «Співробітники»

Н_

с.

Прізвище

Ім’я

По-

батькові

Адреса

Теле-

фон

Поса-

да

Ста

ть

ДН

ЗП

Н_

в.

21

Філатов

Андрій

Петрович

Одеса, Вільямса 7, 45

496433

Менед-

жер

Ч

01.05.

1970

3150

5

37

Нікітіна

Ганна

Миколаїв-

на

Черкаси, Корольова 67, 3

Секре-

тар

Ж

16.09.

1980

2400

3

14

Федоров

Микола

Сергі-

йович

Черкаси, б-р

Шевченко 19, 5

480091

Дирек-

тор

Ч

28.10.

1969

4500

3

9

Краснова

Олена

Валеріївна

Київ, Пушкінська 21, 44

735565

Бухгал-

тер

Ж

31.12.

1964

4300

7

5

Петренко

Оксана

Вікторівна

Одеса, Левітана 4, 90

489657

Менед-

жер

Ж

03.04.

1972

3150

3

41

Васильєва

Галина

Семенівна

Одеса, Грецька 47, 15

228900

Бухгал-

тер

Ж

18.02.

1968

4100

5

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

Кортеж - рядок відношення.

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

Кортежі називають поширенням, станом або тілом відношення, яке постійно змінюється.

Ступінь - визначається кількістю атрибутів, яку містить відношення.

Відношення «Відділення» має 6 атрибутів та його ступінь дорівнює 6. Це означає, що кожен рядок таблиці є 6-арним кортежем, тобто кортежем, який містить 6 значень.

Відношення лише з одним атрибутом має ступінь 1 та називається унарним відношенням (чи 1-арним кортежем). Відношення з двома атрибутами має назву бінарне, відношення з трьома атрибутами - тернарне, а для відношень з більшою кількістю атрибутів використовується термін n-арний.

Кординальність - кількість кортежів, яку містить відношення.

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

Для того щоб відрізняти один рядок від іншого використовується поняття первинного ключа.

Первинним ключем (Primary key) називається атрибут відношення, значення якого унікальним чином ідентифікує кожен кортеж відношення. У відношення може бути лише один первинний ключ.

Припустимо, що ми маємо два відношення в базі даних: перше відношення містить дані про продавців, а друге - про покупців. У відношенні з даними про покупців є атрибут, в якому записане ім’я продавця, який продав товар.

Було б дуже непродуктивно писати по декілька разів теж саме ім’я продавця. Тут і виникає питання: може існує інша, найвигідніша можливість заповнення цього поля? Зараз ми й познайомимося ближче з поняттям «зовнішнього ключу».

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

Продавці Покупці Угода

Код2

ПІБ

1

Петров А.В

2

Коваль М.Л.

Код

Код1

Код2

Сума

1

2

2

300

2

1

2

500

Код1

ПІБ

1

Симонова С.І.

2

Ветрова В.Р.

В цьому випадку Код1 та Код2 в відношенні «Угоди» є зовнішніми ключами, які відповідають первинним ключам в відношенні «Продавці» (ключове поле Код1) та в відношенні «Покупці» (ключове поле Код2).

Поняття тип даних в реляційній моделі даних повністю адекватне поняттю типу даних в мовах програмування.

Звичайно в сучасних реляційних базах припускається зберігання символьних, числових даних (таких як «гроші»), а також спеціальних «темпоральних» даних (дата, час, часовий інтервал).

Домен - набір припустимих значень одного або декількох атрибутів.

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

Атрибут

Ім’я домену

Зміст домену

Визначення домену

Номер_

відділення

Номер_

відділення

Безліч усіх припустимих номерів відділень компанії

Символьний; розмір 3; діапозон „В1 – В99”

Місто

Назва_міста

Безліч усіх назв міст в Україні

Символьний; розмір 15.

Поштовий_

індекс

Поштовий_

індекс

Безліч усіх почтових кодів в Україні

Цілий

Стать

Стать

Визначення статі людини

Символьний; розмір 1;

Значення „ч” чи „ж”

Дата_

народження

Дата_

народження

Усі можливі значення дат народження співробітників компанії

Дата; діапозон від 1 січня; формат дд-мм-рррр.

З_П

З_П

Усі можливі значення з_п

співробітника

Грошовий; 7 цифр

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

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

До таблиць РМД надаються наступні вимоги:

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

2. В таблиці не повинно бути полів з однаковими назвами, порядок розташування полів є довільним.

3. Порядок розташування записів може бути довільним.

4. В таблиці не повинне бути однакових записів.

Реляційна модель даних. Структура реляційних даних