Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Бази даних.doc
Скачиваний:
0
Добавлен:
27.12.2019
Размер:
1.1 Mб
Скачать

3.2. Основні поняття реляційної бази даних. Модель "сутність-зв'язок". Поняття про системи управління базами даних

Пригадайте!

  1. Що таке база даних? Для чого створюються бази даних?

  2. Що таке модель даних? Які компоненти вона має?

  3. Назвіть і опишіть етапи розв’язування задач з використанням комп’ютера.

  4. Які особливості реляційної моделі даних?

  1. Основні поняття реляційної бази даних

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

Ознайомимося з основними поняттями реляційної бази даних на прикладі зв’язаних між собою таблиць: Країни світу та Державний устрій (рис. 3.5).

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

Рядок таблиці реляційної бази даних називають записом, або кортежем. Запис містить значення властивостей одного елемента бази даних. Наприклад в таблиці Країни світу четвертий зверху запис містить такий набір даних: Австралія, Австралія і Океанія, 7636, 19131, 01.01.1901, Конституційна монархія. Ці дані є значеннями відповідних властивостей: назви країни, частини світу, в якій вона розміщена, площі, кількості населення, дати утворення та державного устрою. Інший запис містить набір значень тих самих властивостей, але вже іншого об’єкту – іншої країни.

Стовпець таблиці реляційної бази даних називають полем, або атрибутом. Поле має ім’я, яке в певній мірі відображає назву властивості. Поле містить сукупність однотипних даних – значення однієї властивості для всієї множини об’єктів, що описуються. Наприклад, поле Площа (рис. 3.5) містить сукупність даних про площу певних країн в тис. км2.

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

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

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

Між окремими полями таблиць можна встановити певні зв’язки. Існує чотири види зв’язків:

  • один до одного, коли одному запису першої таблиці відповідає один запис другої таблиці;

  • один до багатьох, коли одному запису першої таблиці відповідає багато записів другої таблиці;

  • багато до одного, коли кільком записам першої таблиці відповідає один запис другої таблиці;

  • багато до багатьох, коли кільком записам першої таблиці відповідають кілька записів другою таблиці.

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

Зв'язок один до багатьох використовується частіше за інші. Він визначає, які значення може набувати певна властивість певного об’єкта. Наприклад, якщо зв’язати поле Державний устрій таблиці Країни світу з однойменним полем таблиці Державний устрій (рис. 3.5) зв’язком один до багатьох, то ми отримаємо множину тих значень, які можуть бути в полі Державний устрій таблиці Країни світу.

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

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

На рис. 3.5 таблиця Державний устрій зв’язана з таблицею Країни світу по полю Державний устрій. Вид зв’язку – один до багатьох, тобто одне значення з поля таблиці Державний устрій (наприклад, Парламентська республіка) може бути пов'язане з кількома записами таблиці Країни світу (наприклад, записи з назвами країн Аргентина, Австрійська республіка).

Поняття сутності, модель «сутність-зв'язок»

Процес проектування баз даних є доволі складним. Спочатку проектувальники створюють модель бази даних. Необхідно визначити сукупності об’єктів, що будуть входити до баз даних, спланувати зв’язки між об’єктами, визначити типи даних та ін. Часто таку модель подають в графічному вигляді. Розглянемо приклад моделі предметної області Інформатика в школі, зображений на рис. 3.6.

Ц я модель описує навчальний процес з інформатики в 11 класах певної школи. В прямокутниках записані назви об’єктів (груп об’єктів) бази даних, стрілки вказують на зв’язки між ними, а написи біля стрілок суть зв’язків. Учитель (їх може бути кілька) заздалегідь опрацьовує Підручник і організовує процес навчання учнів (навчає). Він же оцінює рівень навчальних досягнень учнів і виставляє Оцінки. Учні навчаються під керівництвом учителя та самостійно, вивчаючи Підручник. Вони також належать до певного Класу і отримують Оцінки. Звичайно, що можна створити іншу модель, яка буде повнішою і включатиме більше об’єктів і зв’язків.

Замінимо написи біля стрілок на відповідні види зв’язків, розглянуті вище. Наприклад, зв'язок «учитель – підручник» це зв'язок «один до одного» (1:1), зв'язок «учні до підручника» – зв'язок «багато до одного» (Б:1), зв'язок учитель до учнів – зв'язок «один до багатьох» (1:Б) і т.д.

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

Запам’ятайте!

Сутність бази даних – це реальний або уявний об’єкт предметної області, який представлений в базі даних.

Як правило сутності є не окремими об’єктами, а наборами об’єктів. Наприклад, сутність Клас може складатися з об’єктів 11-А, 11-Б, 11-В тощо. Об’єкти сутності називають екземплярами сутності. Сутність має як мінімум один екземпляр. Наприклад, сутність Підручник може мати тільки один екземпляр сутності Інформатика-11, якщо всі учні школи навчаються тільки за одним підручником з інформатики.

Р озглянуту нами модель називають моделлю «сутність-зв'язок» або ER-моделлю чи ER-діаграмою (англ. Entity-Relationship – сутність (об’єкт) - зв'язок (відношення)).

Найпростіша модель «сутність-зв'язок» яка складається із двох сутностей, позначених прямокутниками і зв’язком між ними, позначеним ромбом, наведена на рис. 3.7. На верхньому зображенні зв'язок позначено словом, яке пояснює суть зв’язку, а на нижньому – його формалізований вигляд з позначенням типу відношення – один до багатьох (1:Б).

Цікаві факти з історії

Уперше створювати проекти баз даних у вигляді моделі «сутність-зв'язок» запропонував виходець з Тайваню, американський вчений Пітер Пін-Шан Чен (Пітер Чен) (нар. 1944 р.) (рис. 3.8). Його наукова праця «Модель сутність-зв'язок – до уніфікованого представлення даних» стала основою не тільки теорії моделювання баз даних, а і основою для створення комп’ютерних програм, які забезпечують розробку різноманітних моделей, в тому числі і моделей баз даних. Ці програми отримали назву CASE-програм (англ. Computer-Aided Software Engineering – комп’ютерна автоматизована розробка програм).

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

Рівні проектування бази даних

Модель «сутність-зв'язок» можна розглядати як концептуальну модель бази даних. При проектуванні великих за обсягом і різнопланових за користувачами баз даних виділяють зовнішній і внутрішній рівень подання даних. Зовнішній (користувацький) рівень подання – моделює способи подання даних в такому вигляді, який потрібен конкретному користувачу бази даних. Якщо користувачі можуть використовувати одну й ту саму базу даних з різною метою і їм потрібні різні набори даних, то і способів зовнішнього рівня подання даних повинно бути кілька.

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

Узагальнена схема рівнів подання бази даних залізниці при проектуванні подана на рис. 3.9

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

Етапи створення бази даних

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

Робота з базами даних передбачає такі етапи:

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

  2. Створення моделі «сутність-зв'язок», визначення моделі даних.

  3. Створення бази даних з використанням однієї з систем управління базами даних або однієї з мов програмування.

  4. Введення даних.

  5. Тестування бази даних.

  6. Експлуатація та корекція бази даних.

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

Я к було зазначено на першому етапі в ході постановки завдання слід дати відповіді на такі питання:

  • мета створення бази даних: база даних Країни світу створюється з метою використання на уроках географії в 9-10 класах загальноосвітніх навчальних закладів;

  • предметна область: географія, країни світу;

  • потенціальні користувачі: учні 9-10 класів загальноосвітніх навчальних закладів, вчителі;

  • опис бази даних: база даних повинна містити дані про назву країни, її площу, кількість населення і густину населення, про державні символи – прапор і гімн, про національну валюту, про дату утворення або завоювання незалежності, про державний устрій та про економічний стан країни на день занесення даних. В базі даних повинна бути передбачена можливість підготовки узагальнених даних по країнах певної частини світу, а також по країнам, що мають певний державний устрій.

На другому кроці створення бази даних визначається:

  • модель сутність зв'язок: основу графічної моделі "сутність-зв'язок" бази даних Країни світу складе схема зображена рис.3.5. Основною сутністю даної бази даних є Країна, іншими - Частина світу та Державний устрій. Між сутністю Частина світу і сутністю Країна встановлюється відношення один до багатьох (1:Б), тобто певне значення екземпляру сутності Частина світу може набувати багато екземплярів сутності Країна. Такий же зв'язок встановлюється і між сутностями Державний устрій та Країна (рис. 3.10). Сутність Країна має такі властивості - назва, площа, кількість населення, густина населення, прапор, гімн, національна валюта, дата утворення, економічний стан. Сутність Державний устрій має тільки одну властивість – тип, сутність Частина світу теж одну властивість – назву.

  • модель даних: реляційна

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]