Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 1.doc
Скачиваний:
51
Добавлен:
28.02.2016
Размер:
117.76 Кб
Скачать

10

Лекція 1

І. Короткі відомості про бази даних та системи управління базами даних Error: Reference source not found

1.1. Основні функції та властивості сучасних СУБД 1

1.2. Основні ознаки класифікація та порівняльні характеристики СУБД 4

1.3. Основні переваги СУБД MySQL 8

. Короткі відомості про бази даних та системи управління базами даних

1.1. Основні функції та властивості сучасних субд

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

База даних та моделі даних

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

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

Не усі БД мають однакову структуру. Існує цілий ряд різних моделей даних. Найбільш часто реалізуються три такі моделі: ієрархічна, мережева, реляційна.

Однією із перших моделей даних в технології баз даних була ієрархічна модель даних, в якій окремі записи організуються у відношення типу «батько - нащадок» і утворюють дерево у вигляді ієрархічної моделі. «Батьківський» запис може асоціюватись з кількома «нащадками», але для кожного «нащадка» існує лише один «батьківський» запис. Недоліком моделі є складність доступу до потрібних даних, складність внесення змін у дані. Але сьогодні багато даних зберігаються у ієрархічних базах. Для систем управління файлами застосовується саме така модель даних.

Мережева модель краще ієрархічної тим, що дозволяє множинність відношень «батько - нащадок». Навігація по записам простіше, ніж в ієрархічній моделі, але все ж вимагає програмування. Оновлення даних є складними.

Реляційна база даних не залежить від додатка (навігація і оновлення даних не програмуються у додатку). Реляційна модель передбачає не наявність «батьків» та «нащадків», а рядків та стовпчиків, які утворюють таблиці взаємопов’язаних даних. Дані в таблицях можуть змінюватись. З розвитком реляційної моделі даних збільшується кількість продуктів, в яких вона використовується для зберігання даних. До числа таких продуктів відносяться DB2, Oracle, SQL Server, MySQL.

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

Первинний ключ. Поняття первинного ключа (primary key) з’явилось із-за необхідності розрізняти ( ідентифікувати ) записи (рядки) таблиці. Первинний ключ - це мінімальний набір стовпців, сукупність значень яких однозначно визначають рядок (запис), тобто значення ключа – унікальні. На практиці первинним ключем слугує спеціальний стовпчик, значення якого визначає користувач.

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

Зовнішній ключ. Поля, таблиці, які вміщують посилання на записи іншої таблиці називаються зовнішніми (або вторинними ) ключами. Таблиця, у якій є вторинний ключ інколи називається нащадком, а інша таблиця – батьківська.

Можливі три типи зв’язків між таблицями:

  • «один до багатьох»: кільком записам нащадка відповідає один запис батьківської таблиці;

  • «один до одного»: кожному запису нащадка відповідає один запис батьківської таблиці;

  • «багато до багатьох»: кільком записам нащадка відповідає кілька записів батьківської таблиці. Такий тип зв’язку реалізується в реляційній БД лише за допомогою третьої таблиці.

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

Цілісність даних. Цілісністю даних називають їх коректність і несуперечливість. Базовими вимогами цілісності даних є:

  • Цілісність сутностей. Це означає, що у кожній таблиці БД є первинний ключ (має унікальні значення) ;

  • Цілісність зв’язів. Це означає, що зовнішній ключ у таблиці нащадків не має значень, які відсутні в первинному ключі батьківської таблиці.

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

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

Система управління базами даних (СУБД)

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

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

  1. Заборона (RESTRICT): зміна та вилучення рядків батьківської таблиці забороняється, якщо на них є посилання у інших таблицях;

  2. Каскадне вилучення.оновлення (CASCADE): при вилученні рядка із батьківської таблиці автоматично вилучаються усі рядки нащадків з посиланнями на вилучений рядок батьківської таблиці.

  3. Ініціалізація ( SET NULL): при вилученні рядка із батьківської таблиці чи при зміні значення первинного ключа автоматично у усіх рядках нащадків значення зовнішнього ключа стає невизначеним (NULL

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

З забезпеченням цілосності даних тісно зв’язано поняття транзакції.

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

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

П’ять найросповсюдженіших СУБД: Microsoft SQL Server, Oracle, , MySQL, MS Access, InterBase/Firebird/Yaffil. Найбільш поширені СУБД на території СНД:

№ п/п

СУБД

Відсоток використання

MicrosoftSQLServer

32,3%

MS Access

6,6%

MySQL

10,2%

Oracle

16,1%

. Функціями СУБД є:

  • безпосереднє керування даними у зовнішній пам’яті (на дисках);

  • керування буферами даних в оперативній пам’яті з використанням дискового кешу;

  • керування трансакціями;

  • підтримка цілісності бази даних (коректність та непротирічність) - цілісність описується за допомогою обмежень;

  • контроль за надлишковістю даних;

  • журналізація змін, резервне копіювання та відновлення бази даних посля збоїв;

  • підтримка мов БД (мови визначення даних, мови маніпулювання даними).

Склад сучасних СУБД

Назва складової

Призначення складової

Ядро

Відповідає за керування даними у зовнішній та оперативній пам’яті та журналізацію.

Процесор мови бази даних

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

Підсистема підтримки часу виконанні

Інтерпретує програми маніпуляції даними.

Сервісні програми (зовнішні утиліти)

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

Властивості сучасних СУБД:

  1. розвинуті властивості визначення складних структур даних та маніпулювання ними;

  2. потужні засоби обробки збоїв та відновлення інформації після збоїв;

  3. розвинуті засоби організації даних та методів доступу до них;

  4. незалежність прикладних програм від даних;

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