Вінницький
державний технічний
університет містить море(!)
аналітичної інформації |
---|
Автоматизовані банки даних
Автоматизований банк даних ( БнД ) - це організаційно-технічна (людино-машинна) система, що представляє собою сукупність інформаційної бази, колективу фахівців і комплексу програмних і технічних засобів забезпечення її функціонування, призначена для збереження, пошуку і видача інформації у виді, зручному для користувачів.
На загальній схемі структури автоматизованого банку даних (рис.1.2) прийняті наступні позначення : БД- база даних ; ПП- прикладні програми користувачів банку даних; СКБД- система керування базою даних, тобто комплекс програмних засобів, який забезпечує завантаження інформації в базу даних, реорганізацію та ведення бази, пошук та перетворення інформації для забезпечення роботи програм користувачів банку даних. Розглянемо більш детально структурні складові частини цього автоматизованого банку даних.
Рисунок 1.2- Структура автоматизованого банку даних
Відомі два підходи до організації інформаційних масивів: файлова організація та організація у вигляді бази даних. Файлова організація передбачає спеціалізацію та збереження інформації , орієнтованої , як правило, на одну прикладну задачу, та забезпечується самим прикладним програмістом. Така організація дозволяє досягнути високої швидкості обробки інформації, але характеризується рядом недоліків.
Характерна риса файлового підходу - вузька спеціалізація як обробних програм, так і файлів даних, що служить причиною великої надлишковості, тому що ті самі елементи даних зберігатися в різних системах. Так як керування здійснюється різними особами (групами осіб) , відсутня можливість виявити порушення суперечливості збереженої інформації. Розроблені файли для спеціалізованих прикладних програм не можна використовувати для задоволення запитів користувачів, які перекривають дві і більш області. Крім того, файлова організація даних внаслідок відмінностей структури записів і форматів представлення даних не забезпечує виконання багатьох інформаційних запитів навіть у тих випадках, коли всі необхідні елементи даних містяться в наявних файлах. Тому виникає необхідність відокремити дані від їхнього опису, визначити таку організацію збереження даних з обліком існуючих зв'язків між ними, яка б дозволила використовувати ці дані одночасно для багатьох застосувань . Вказані причини обумовили появу баз даних.
База даних може бути визначена як структурна сукупність даних, що підтримуються в актуальному стані та відображає властивості об'єктів зовнішнього (реального) світу. В базі даних містяться не тільки дані , але й описи даних, і тому інформація про форму зберігання вже не схована в сполученні "файл-програма", вона явним чином декларується в базі.
База даних орієнтована на інтегровані запити, а не на одну програму, як у випадку файлового підходу, і використовується для інформаційних потреб багатьох користувачів. В зв'язку з цим бази даних дозволяють в значній мірі скоротити надлишковість інформації. Перехід від структури БД до потрібної структури в програмі користувача відбувається автоматично за допомогою СКБД.
СКБД- це складна програмна система накопичення та послідуючого маніпулювання даними, що представляють інтерес для користувача. Кожній прикладній програмі СКБД надає інтерфейс з базою даних та має засобами безпосереднього доступу до неї. Таким чином ,СКБД відіграє центральну роль в функціонуванні автоматизованого банку даних.
Архітектурно СКБД складається з двох великих компонент(рис.1.3). За допомогою мови опису даних (МОД) створюються описи елементів, груп та записів даних, а також взаємозв'язки між ними, які, як правило, задаються у вигляді таблиць. В залежності від конкретної реалізації СКБД мову опису даних підрозділяються на мову опису схеми бази даних (МОС) та мову опису підсхем бази даних (МОП). Слід особливо зазначити , що МОД дозволяє створити не саму базу даних, а лише її опис.
Рисунок 1.3 - Архітектура СКБД
Для виконання операцій з базою даних в прикладних програмах використовується мова маніпулювання даними (ММД). Фактична структура фізичного зберігання даних відома тільки СКБД.
З метою забезпечення зв'язків між програмами користувачів і СКБД (що особливо важливо при мультипрограмному режимі роботи операційної системи) в СКБД виділяють особливу складову - резидентний модуль системи керування базами даних. Цей модуль значно менший від всієї СКБД , тому на час функціонування автоматизованого банку інформації він може постійно знаходитись в основній пам'яті ЕОМ та забезпечувати взаємодію всіх складових СКБД і програм, які до неї звертаються.
Приведена структура притаманна усім СКБД, котрі розрізняються обмеженнями та можливостями по виконанню відповідних функцій. Отже, процес порівняння і оцінки таких систем для одного конкретного застосування зводиться до співставлення можливостей наявних СУБД з вимогами користувачів.
Будь-який аналіз ,необхідний для проведення оцінки і вибору СКБД ,повинен починатись з ретельного вивчення потреб користувачів. При цьому виконується опис зв'язків між елементами даних в базі даних, а також для оцінки експлуатаційних характеристик визначаються вимоги до часу виконання кожної транзакції. Під транзакцією розуміється повідомлення , яке передається від прикладної програми до СКБД. Транзакція ініціює в останній роботу певного виду чи окрему операцію по обробці даних.
За допомогою мови опису даних адміністратор, а іноді і інші програмісти описують для СКБД вміст та структуру бази даних. При розгляданні МОД слід з'ясувати її власні характеристики (наприклад, простоту використання та наочність), а також проаналізувати обмеження СКБД на дані (наприклад, типи даних чи можливості по обмеженню доступу).
Засоби маніпулювання даними визначають методи доступу до бази даних та мову (мови), за допомогою якої відбувається цей доступ. Мова маніпулювання даними являється засобом, який застосовується користувачами чи прикладними програмістами для виконання операцій над базою даних. При співставленні можливостей СКБД з сучасними принципами обробки даних важливе значення має зв'язок ММД з існуючими мовами програмування. Простота її вивчення і використання розширює можливості розробки банку даних з конкретною СКБД. Степінь процедурності ММД визначає міру незалежності програм від даних . Чим менш процедурна мова, тим менша ймовірність зміни програм ,написаних з її використанням, при включенні нових методів доступу і навіть нових структур даних в СКБД.
Нарешті, засоби маніпулювання даними визначають можливості паралельної обробки. Для збереження цілісності бази даних в умовах її одночасного використання декількома прикладними програмами звичайно вводяться обмеження на доступ для всіх , крім одного , з процесів, які виконуються одночасно. Наприклад , якщо програма поновлює запис бази даних, то їй може надаватись доступ до поля ,що змінюється , до запису чи до всього фізичного файлу, в який цей запис входить.
Основна мета застосування баз даних - забезпечити незалежність логічної бази даних та прикладних програм від методів зберігання фізичної бази даних. При цьому способи доступу значно впливають на експлуатаційні характеристики банку даних.
Не менш важливу роль відіграють засоби копіювання та відновлення бази даних. Найбільш суттєвим тут являється наявність автоматичного режиму ведення журналу фіксування роботи з базою даних. Наявність стандартних програм СКБД , таких, як програма перезавантаження бази даних і програма обробки журналу, спрощують процес відновлення бази даних після апаратурних збоїв.
Серед інших стандартних програм слід відзначити програми завантаження бази даних, трасування роботи з базою даних для полегшення налагодження, а також накопичення і аналізу статистики по експлуатаційним характеристикам. Якщо база даних призначена для використання прикладними програмами, які функціонують в діалоговому режимі, то особливу роль в складі СКБД відіграють засоби передачі даних.
Концепція баз даних припускає інтеграцію даних, що раніше зберігалися окремо. Незалежно від того, охоплює чи не охоплює така інтеграція централізацію фізичних даних, вона припускає ріст спільного використання даних різними прикладними програмами та зменшення надлишковості зберігання одних і тих же даних. Для створення цим процесам сприятливих умов потрібне централізоване керування вмістом баз даних. Об'єктами централізованого керування являються форма елементів даних і структури баз даних, а не власне значення самих елементів даних. Функція керування формою та вмістом бази даних називається адмініструванням даних .
Керування вмістом бази даних відбувається шляхом збору і ведення точної та повної інформації про дані. Ця інформація, яку часто називають метаданими , включає опис смислу елементів даних, методів їх використання, джерел, фізичних характеристик , а також різних правил та обмежень. Метадані дозволяють проводити аналіз запитів по новим даним, проектування і програмування нових прикладних систем, супроводження існуючих систем та документування всіх етапів розвитку бази даних. · Дані про базу даних, чи метадані, можливо розбити на три класи : семантична інформація, фізичні характеристики та інформація про використання. Засобами автоматизації формування та використання метаданих являються словники даних (системи словників-довідників даних). Перерахуємо їхні основні функції: · встановлення зв'язку між користувачами БД; · здійснення простого та ефективного керування елементами даних при вводі в систему як нових елементів , так і при зміні опису існуючих; · зменшення надлишковості; · усунення протиріччя даних; · централізація керування елементами даних з метою спрощення проектування БД та її розширення.
Для створення ефективного і зручного словника даних необхідно при зборі інформації про дані встановити правила присвоєння елементам імен, добитися однозначного тлумачення різними користувачами призначення джерел і угод по присвоєнню імен, сформулювати прийнятні для усіх користувачів описи елементів даних і виявити синоніми, усунути багатозначність (омонімію, полісемію). Вказаний процес виконується ітеративно і зв'язаний з усуненням конфліктних ситуацій.
В процесі роботи з словником даних є можливість отримати в алфавітному порядку лістинг найменувань типів всіх статей (з зазначенням частоти їх використання в системі, статусу кожної статті та числа структур кожного виду).
Словник даних використовується кінцевими користувачами при роботі з системою на мові запитів, прикладними програмістами - при написанні програм, системними програмістами - в процесі розвитку системи. Словник в умовах організації інформації у вигляді баз даних вводиться в склад опису баз даних та використовується СКБД при роботі компілюючих і інтерпретуючих програм.
По мірі розвитку системи необхідно провадити контроль логічності та повноти даних, які оброблюються в системі. Цей контроль полягає в перевірці за допомогою словника даних відповідності потоків і елементів даних, потоків і джерел даних, процесів обробки та елементів даних.
Особливо важливий словник даних при взаємодії декількох систем обробки даних, при побудові розподілених банків даних, при використанні програм, які виконані в інших організаціях. В останньому випадку словарні статті вилучають з написаних програм, встановлюють синонімічні зв'язки їх зі статтями словника системи і переводять їх в формат, прийнятий в системі.
Колектив спеціалістів , який забезпечує функціонування автоматизованого банку даних, складається з адміністратора, аналітиків, системних та прикладних програмістів. Взаємодія їх між собою ті кінцевими користувачами показана на рис.1.4. Розглянемо детальніше функції, покладені на кожного з перерахованих спеціалістів.
Риcунок 1.4 - Схема взаємодії колективу спеціалістів
Адміністратор - це спеціаліст, який володіє інформацією про інформаційні потреби кінцевих користувачів, працює в тісному контакті з користувачами і відповідний за визначення, завантаження, захист та ефективність експлуатації баз даних.
Необхідність включення адміністратора в колектив спеціалістів стала актуальною в той період, коли виникла необхідність в централізації обробки даних, що призвело до переходу від файлових систем до інтегрованих баз даних. Так як користувачі повинні обслуговуватись усіма засобами автоматизованого банку даних, то адміністратор являється відповідальним за аналіз потреб користувачів, проектування бази даних , її впровадження, обновлення та реорганізацію.
Всі задачі, виконання яких покладається на адміністратора, можна розділити у відповідності з етапами розробки автоматизованих банків інформації на чотири групи : планування, проектування, експлуатація та використання.
При плануванні адміністратор бере участь у виборі програмного забезпечення , яке зв'язано з базою даних, та обладнання. Йому доводиться працювати з кінцевими користувачами , щоб встановити реальні цілі та вимоги до прикладних програм і баз даних. Адміністратор повинен гарантувати , що пріоритети розробки та експлуатації прикладних програм відповідають цілям різних категорій користувачів, приймає участь в довгостроковому плануванні, в тому числі у визначенні перспектив розширення бази даних.
При проектуванні адміністратор надає розробникам прикладних систем необхідні засоби для проектування логічної та фізичної баз даних , керує процесом логічного проектування з метою отримання повної картини ресурсів даних. При появі нових вимог до даних адміністратор банку визначає метод, за допомогою якого ці дані можна включити в склад існуючої бази даних, і керує процесом виконання необхідних змін. Він також здійснює вибір методів доступу і методів розміщення даних в фізичній пам'яті , що дозволяє забезпечити виконання вимог прикладних програм.
На етапі експлуатації в обов'язки адміністратора також входить розробка і контроль дій, які гарантують збереження цілісності бази даних, включаючи процедури її копіювання і відновлення, а також організації захисту бази даних за допомогою механізмів керування доступом і засобів СКБД.
І нарешті, адміністратору доводиться взаємодіяти з користувачами бази даних, тому він вводить стандарти на вміст і використання бази даних, роблячи їх доступними для потенційних користувачів, супроводжує спеціальні засоби програмного забезпечення роботи з базою даних (словники даних, мови запитів). Крім того , він може консультувати користувача бази даних по застосуванню окремих елементів чи усього програмного забезпечення.
Системні програмісти займаються створенням базового математичного забезпечення для ЕОМ. Вони "генерують" операційні системи , СКБД, транслятори з різних мов, розробляють сервісні програми і інші програмні засоби, які забезпечують обробку інформації та вирішення задач на ЕОМ.
Аналітик , користуючись знаннями закономірностей певного проблемного середовища, розробляє його математичну модель, застосовує необхідні математичні методи і методи моделювання. Він оцінює альтернативні варіанти і приймає рішення в залежності від заданих вимог.
Аналітик переводить задачі кінцевого користувача (КК) в деяку вихідну формальну модель. Оскільки КК не являється математиком, то задачу він формулює на мові своєї професії, і все мистецтво аналітика полягає у вмінні по цьому формулюванню побудувати адекватну йому математичну задачу. Результатом роботи аналітика є вихідне представлення задачі для прикладного програміста, метою котрого є перетворення продукту аналітика в програмний продукт, придатний для вводу в ЕОМ.
Контрольні запитання.
1. Назвіть основні складові частини автоматизованого банку інформації.
2. Які функції виконує СКБД в банках даних ?
3. Яке призначення словника даних ?
4. Чим відрізняються МОД та ММД ?
5. В чому проявляється інтегрований характер бази даних ?
6. В чому полягає відмінність функцій прикладного програміста і аналітика ?
Copyright ©VSTU
Created: November 16, 2000