Організація баз даних і вибір систем управління базами даних
Введення
Широке використання систем переробки інформації в різних сферах управлінської діяльності, для вирішення складних економічних завдань, проведення наукових досліджень обумовлюють підвищені вимоги до ефективності організації даних в умовах колективного користування.
Традиційний спосіб організації даних у вигляді масивів, орієнтованих на конкретні завдання, відрізняється статичністю, жорсткою прив'язкою до відповідного програмному забезпеченню, призводить до дублювання при накопиченні і перевірці даних, викликає значний перевитрата пам'яті на їх зберігання, часту реорганізацію даних при зміні завдань і т.п.
Одним з головних шляхів подолання зазначених недоліків є створення баз даних, забезпечують підтримання у системі динамічної інформаційної моделі складних керованих об'єктів і процесів і колективний доступ до неї.
1. Організація баз даних
База даних (БД) визначається як сукупність взаємозв'язаних даних, що характеризуються: можливістю використання для великої кількості додатків; можливістю швидкого отримання і модифікації необхідної інформації; мінімальної надмірністю інформації; незалежністю прикладних програм; загальним керованим способом пошуку.
Можливість використання бази даних для багатьох прикладних програм користувача спрощує реалізацію комплексних запитів, знижує надмірність і підвищує ефективність використання інформації в системах обробки даних. Мінімальна надмірність і можливість швидкої модифікації дозволяють підтримувати дані на однаковому рівні поновлення. Незалежність даних і використовують їх прикладних програм є основною властивістю бази даних. Незалежність даних увазі, що зміна даних не призводить до зміни прикладних програм.
-->p>
Традиційною формою організації баз даних, що забезпечує таку незалежність, є трирівнева структура: логічна структура даних прикладного програміста (Подсхема); загальна логічна, структура даних (схема); фізична структура даних.
Схеми і подсхеми бази даних часто зображують у вигляді діаграм. На рис. 1 наведена загальна схема логічної структури бази даних і подсхеми двох прикладних програмістів, які мають різні уявлення про даних. Суцільні лінії позначають зв'язку на схемі. Прості зв'язку позначаються однією стрілкою, зв'язку "один до багатьох" - Подвійний стрілкою. Штрихові лінії відображають перехресні посилання. Наявність перехресних посилань дозволяє уникнути повторення записів ПОСТАЧАЛЬНИК і СПЕЦИФІКАЦІЇ - ПАРТІЇ-ТОВАРУ в кожному записі СТАТТЯ ЗАКУПІВЛІ.
Створення бази даних не є одноразовим процесом, воно розтягується на весь період її існування. Трирівнева організація забезпечує можливість швидкої зміни структури бази даних в умовах ведення і модифікації систем управління та нарощування завдань користувачів, а також в умовах вдосконалення і нарощування апаратних засобів. Трирівнева організація забезпечує взаємну незалежність змін загальної логічної структури бази даних і прикладних програм (логічна незалежність даних) і можливість зміни фізичного розташування і організації даних без зміни загальної логічної структури даних і структур даних прикладних програмістів (фізична незалежність).
Рис. 1
2. Системи управління базами даних
Використання систем управління базами даних (СКБД) дозволяє виключити з прикладних програм опис даних і детальне програмування управління даними. Описи замінюються посиланнями на загальну логічну структуру даних, а програмування управління - командами маніпулювання даними, які виконує універсальне програмне забезпечення.
Основний функцією СУБД поряд з оновленням даних є обробка запитів користувачів щодо пошуку та передачі даних прикладним програмам. Наприклад, послідовність основних дій, що реалізуються СУБД в процесі зчитування записи, складається з наступних операцій: прикладна програма видає запит СУБД на читання запису, в якому міститься значення ключа сегмента або запису; СУБД здійснює в подсхеме прикладної програми пошук опису даних, на які виданий запит; СУБД за допомогою загальної логічної схеми даних визначає, якого типу логічні дані необхідні; СУБД за описом фізичної організації даних визначає, яку фізичну запис потрібно вважати; СУБД видає операційній системі команду читання необхідної запису; операційна система зчитує дані в системні буфери; СУБД на підставі порівняння схеми і подсхеми виділяє інформацію, запитану прикладною програмою; СУБД передає дані із системних буферів в робочу область прикладної програми.
Дії, які здійснює СУБД при оновленні даних, аналогічні операціям зчитування. СУБД буде здійснювати необхідні перетворення даних в системних буферах, зворотні тим перетворенням, які були зроблені при зчитуванні даних. Потім система управління базами даних видає операційної системі команду ЗАПИСАТИ. Загальна архітектура системи управління базами даних приведена на рис. 2. Вона притаманна всім СУБД, які розрізняються обмеженнями та можливостями по виконанню відповідних функцій.
Процес порівняння і вибору таких систем для конкретного застосування зводиться до співставлення їх можливостей з конкретними вимогами і обмеженнями користувача.
Для роботи з системою управління базою даних необхідно кілька мов: мови програмування, мови опису схем і підсхем, мови опису фізичних даних. Прикладний програміст використовує мови програмування для написання програм (Кобол, ФОРТРАН, ПЛ/1, Асемблер) та засоби для опису даних - мова опису підсхем. Мова опису підсхем може являти собою засіб опису даних у мові програмування, засіб, що забезпечується СУБД, а також незалежний мова опису даних. Багато СУБД використовують засоби опису даних мов програмування. Для прикладного програміста СУБД повинна забезпечити засоби передачі команд і інтерпретації повідомлень, видаються системою. Інтерфейс між прикладною програмою і СУБД - мова маніпулювання даними - вбудовується в мову програмування. Запис запитується на мові маніпулювання даними та зчитується в робочу область прикладної програми; аналогічно при включенні запису в базу даних прикладна програма поміщає її в робочу область і видає команду на мові маніпулювання даними. Типовими командами мови маніпулювання даними є: відкрити файл або набір записів; закрити файл або набір записів; визначити місцезнаходження і вважати зазначений примірник запису; передати вміст вказаних елементів даних з певного примірника запису; замінити значення певних елементів зазначеного примірника запису величинами з робочої області програми; вставити в набір записів запис з робочої області; видалити певний екземпляр записи з послідовності записів; запам'ятати новий екземпляр запису в базі даних; видалити певний екземпляр запису з бази даних; Переупорядкований записи в групі в порядку спадання або зростаючої послідовності за вказаною ключу.
Рис. 2
Системний програміст використовує мову опису загальної логічної схеми даних. Цією мовою може бути розширення мови програмування, засіб СУБД або незалежний мову. Для опису розміщення даних системний програміст використовує деяку форму мови опису фізичних даних. Ця мова визначає розміщення даних на фізичних пристроях, управління буферизацією, способи адресації і пошуку.
При виникненні в системі управління нових завдань, пов'язаних з переробкою великих обсягів інформації, виникає проблема вибору способу організації даних, що забезпечують її рішення. При цьому необхідно розглянути можливі способи організації даних і ефективність їх застосування для вирішення поставленого завдання: організація даних у вигляді файлів; використання існуючої бази даних (без змін загальної логічної схеми даних); розробка нової логічної схеми бази даних з використанням універсальної СУБД; розробка бази даних і спеціал...