Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОРГАНІЗАЦІЯ БАЗ ДАНИХ.doc
Скачиваний:
3
Добавлен:
22.08.2019
Размер:
903.17 Кб
Скачать

Організація баз даних

1. Бази даних

У різноманітних сферах цілеспрямованої людської діяльності ведуться значні роботи зі створення автоматизованих систем управління (АСУ), систем автоматизованого проектування (САПР), автоматизованих інформаційних систем (АІС) тощо. Кожна з цих систем має у своєму розпорядженні великий обсяг інформації, що використовується для розв'язання різних завдань спеціалізованими програмами. Інформаційний фонд таких систем прийнято називати базою даних. Ефективне опрацювання величезних обсягів інформації в сучасних базах даних є складною проблемою.

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

  • введення даних до системи;

  • вибір даних за критеріями і параметрами;

  • перетворення структури даних;

  • редагування даних;

  • вивід даних у табличному або іншому зручному для користувача вигляді.

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

1.1. Приклад бази даних

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

  • навчальні корпуси;

  • факультети;

  • кафедри;

  • навчальні курси;

  • викладачі;

  • студенти;

  • студентські групи.

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

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

1.2. Вимоги до бази даних

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

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

  • спільне використання даних;

  • можливість розширення бази даних;

  • простота роботи з базою даних;

  • ефективність доступу до бази даних;

  • цілісність бази даних;

  • захист даних.

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

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

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

  • збільшення числа екземплярів однотипних даних, наприклад, кількості даних про викладачів;

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

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

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

  • структура даних має бути логічною і ясною;

  • операції доступу до даних здійснюються за допомогою ясних і чітко окреслених функцій;

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

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

Під цілісністю бази даних у загальному випадку розуміють її готовність до роботи. Цілісність бази даних — складне поняття, що має багато аспектів. Виділимо такі з них:

  • фізична цілісність, тобто цілість інформації на носіях і коректність форматів даних;

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

  • актуальність даних, тобто відповідність даних реальному стану речей.

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

Під захистом даних у загальному випадку розуміють неможливість несанкціонованого доступу до БД. При цьому розрізняють:

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

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

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

2. Адміністрація та управління базами даних

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

2.1. Адміністрація бази даних

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

  1. Проектування структури БД. Ця робота виконується адміністрацією БД у тісному контакті з користувачами, проте адміністрація приймає остаточне рішення. Всі модифікації структури даних БД виконуються через адміністрацію.

  2. Вибір засобу представлення даних. Адміністрація БД повинна забезпечувати ефективність доступу до даних і раціонального використання носіїв інформації. Якщо прийнято рішення про зміну способу представлення, то адміністрація проводить усі пов'язані з цим роботи.

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

  4. Планування розвитку БД і пов'язаний із цим вибір нових засобів обчислювальної техніки.

  5. Консультації користувачів щодо використання БД.

  6. Контроль користувачів, що працюють із БД, врегулювання різноманітних конфліктних ситуацій.

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

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

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

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

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

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

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

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

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

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

2.3. Опис даних

Опис даних містить всі відомості про БД, що мають постійний характер, тобто ті характеристики даних, що не можуть бути змінені. Такий опис даних називають схемою даних. Опис даних виконується на трьох рівнях, яким відповідають три схеми даних (рис. 1):

  • інфологічна модель;

  • даталогічна модель;

  • фізична модель.

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

Рис. 1. Моделі даних

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

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

Крім того, у інфологічній моделі звичайно дається інформація про типи значень атрибутів (символьні, числові тощо) і про обмеження цілісності, які розглядаються як обмеження на припустимі значення атрибутів. Наприклад, значення атрибута ВІК має подаватися в діапазоні 20—70 років.

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

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

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