Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекція 1-2. Основні визначення БД і СУБД

.pdf
Скачиваний:
23
Добавлен:
23.02.2016
Размер:
465.02 Кб
Скачать

Тема 1: «Загальні визначення – БД, СУБД, МОДЕЛІ»

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

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

1.1. Системи баз даних

Задачі по доступу до даних і виконанню допустимих операцій над ними вирішуються системами баз даних.

Основні функції по пошуку, додаванню, оновленню і видаленню даних згідно правил і обмежень, описаним структурою бази даних, покладаються на рівень програмного забезпечення системи баз даних – систему управління баз даних {СУБД, Database

Management System, DBMS), яка забезпечує наступні можливості:

-Спільне використання даних різними додатками.

-Здатність підтримувати різноманітні представлення {view) одних і тих же даних.

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

-Гарантія безпеки – захист від несанкціонованого доступу і забезпечення цілісності даних.

Банк даних (БнД) — це система спеціальним чином організованих даних — баз даних, програмних, технічних, мовних, організаційно-методичних засобів, призначених для забезпечення централізованого накопичення і колективного багатоцільового використання даних.

База даних (БД) — іменована сукупність даних, яка відображає стан об’єктів і їх відношень в розглядуваній предметній області.

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

Система баз даних складається з наступних компонентів:

1.Користувачі. Люди, які використовують дані.

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

3.СУБД. Програмне забезпечення системи баз даних.

4.Дані. Фізична реалізація СУБД по зберіганню інформації.

5.Апаратне забезпечення.

1.2. Архітектура бази даних.

Фізична і логічна незалежність

В процесі наукових досліджень, посвячених тому, як саме повинна бути влаштована СУБД, пропонувалися різні способи реалізації. Самим життєздатним із них виявилась запропонована американським комітетом по стандартизації ANSI (American National Standards Institute) трьохрівнева система організації БД, де:

1.Рівень зовнішніх моделей — самий верхній рівень, де кожна модель має своє «бачення» даних. Цей рівень визначає точку зору на БД окремих додатків. Кожен додаток бачить і обробляє тільки ті дані, які необхідні саме цьому додатку. Наприклад, система розподілення робіт використовує відомості про кваліфікації співробітника, але її не цікавлять відомості про оклад, домашню адресу і телефон співробітника, і навпаки, саме ці відомості використовуються в підсистемі відділу кадрів.

2.Концептуальний рівень — центральна управляюча ланка, тут база даних представлена в найбільш загальному вигляді, який об’єднує дані, які використовують всі додатки, що працюють з даною базою даних. Фактично концептуальний рівень відображає узагальнену модель предметної області (об’єктів реального світу), для якої створювалася база даних. Як будь-яка модель, концептуальна модель відображає тільки істотні, з точки зору обробки, особливості об’єктів реального світу.

3.Фізичний рівень — власне дані, розташовані в файлах чи в сторінкових структурах, розташовані на зовнішніх носіях інформації.

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

Виділення концептуального рівня дозволило розробити апарат централізованого управління базою даних.

1.3. Процес проходження користувацького запиту

Користувач

 

 

 

 

 

 

 

 

 

1

 

2

 

 

 

 

Зовнішня модель

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Робоча область

12

 

 

 

3

 

 

 

 

 

СУБД

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

11

 

 

 

 

 

 

 

Системний буфер

 

 

5

 

 

 

Концептуальна

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

модель

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

8

 

 

6

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

ОС

 

 

7

 

 

 

Фізична

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

організація БД

 

 

 

 

 

 

 

 

 

 

 

 

1.Користувач відсилає СУБД запит на отримання даних із БД.

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

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

4.СУБД отримує інформацію про замовлену частину концептуальної моделі.

5.СУБД замовляє інформацію про місцезнаходження даних на фізичному рівні (файли чи фізичні адреси).

6.В СУБД повертається інформація про місцезнаходження даних в термінах операційної системи.

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

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

9.Операційна система оповіщає СУБД про закінчення пересилки.

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

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

1.4. Користувачі банків даних

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

ів просторі. Він має певні стадії свого розвитку:

1.Проектування.

2.Реалізація.

3.Експлуатація;

4.Модернізація і розвиток.

5.Повна реорганізація.

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

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

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

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

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

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

У складі групи адміністратора БД повинні бути:

системні аналітики;

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

проектувальники технологічних процесів обробки даних;

системні і прикладні програмісти;

оператори і спеціалісти по технічному обслуговуванню.

Основні функції групи адміністратора БД:

1.Аналіз предметної області: опис предметної області, виявлення обмежень цілісності, визначення статусу (доступності, секретності) інформації, визначення потреб користувачів, визначення відповідності «дані-користувач», визначення об'ємно-часових характеристик обробки даних.

2.Проектування структури БД: визначення складу і структури файлів БД і зв'язків між ними, вибір методів впорядкування даних і методів доступу до інформації, опис БД на мові опису даних (ЯОД).

3.Задання обмежень цілісності при описі структурі БД і процедур обробки БД:

o задання декларативних обмежень цілісності, властивих предметній області;

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

o визначення обмежень цілісності, викликаних структурою БД;

oрозробка процедур забезпечення цілісності БД при введенні і коректуванні даних;

oвизначення обмежень цілісності при паралельній роботі користувачів в багатокористувацькому режимі.

4. Первісне завантаження і ведення БД:

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

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

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

5.Захист даних:

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

oрозробка принципів захисту конкретних даних і об'єктів проектування; розробка спеціалізованих методів кодування інформації при її циркуляції в локальній і глобальній інформаційних мережах;

oрозробка засобів фіксації доступу до даних і спроб порушення системи захисту;

o тестування системи захисту;

oдослідження випадків порушення системи захисту і розвиток динамічних методів захисту інформації в БД.

6.Забезпечення відновлення БД:

oрозробка організаційних засобів архівування і принципів відновлення БД;

o розробка додаткових програмних засобів і технологічних процесів відновлення БД після збоїв.

7.Аналіз звернень користувачів БД: збір статистики по характеру запитів, по часу їх виконання, по потрібним вихідним документам.

8.Аналіз ефективності функціонування БД:

o аналіз показників функціонування БД;

oпланування реструктуризації (зміни структури) БД і реорганізації БнД.

9.Робота з кінцевими користувачами:

oзбір інформації про зміну предметної області;

o збір інформації про оцінку роботи БД;

o навчання користувачів, консультування користувачів;

oрозробка необхідної методичної і навчальної документації по роботі кінцевих користувачів.

10.Підготовка і підтримання системних засобів:

oаналіз існуючих на ринку програмних засобів і аналіз можливості і необхідності їх використання в рамках БД;

o розробка необхідних організаційних і програмно-технічних заходів з розвитку БД;

o перевірка працездатності закуповуваних програмних засобів перед підключенням їх до БД;

oкурирування підключення нових програмних засобів до БД.

11.Організаційно-методична робота з проектування БД:

oвибір чи створення методики проектування БД;

o визначення цілей і напрямку розвитку системи в цілому; o планування етапів розвитку БД;

oрозробка загальних словників-довідників проекту БД і концептуальної моделі;

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

o забезпечення можливості комплексної налагодження безлічі додатків, взаємодіючих з одною БД.

1.5. Класифікація моделей даних

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

-Структура даних.

-Цілісність даних.

-Маніпуляція даними.

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

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

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

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

Дескрипторні моделі — самі прості із документальних моделей, вони широко використовувалися на ранніх стадіях використання документальних баз данных. У цих моделях кожному документу відповідав дескриптор - описувач. Цей дескриптор мав жорстку структуру і описував документ у відповідності з тими характеристиками, які потрібні для роботи з документами в розроблюваній документальній БД.

Інфологічна

модель

Діаграма

Бахмана

Модель «Сутність – зв’язок»

Орієнтація на формат документа

Дескрипторна

модель

Тезаурусна

модель

Модель даних

Даталогічна

модель

Документальна

модель

Фотографічна

модель

Теоретико – графові моделі

Теоретико – множинні

Об’єктно – орієнована модель

Рис.1.5.1.

Фізична модель

Засновані на файлових структурах

Засновані на сторінковосегментній орієнтації

1.6.Теоретико-графовые модели

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

1. Ієрархічна модель даних була запропонована в 1968 році компанією IBM. Дані

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

2.Мережева модель даних була створена в 1971 році робочою групою Database Task Group Конференції по мовам і системам даних (Conference On Data Systems Languages, CODASYL). Мережева модель являється, по суті, модифікацією ієрархічної моделі, де з’явилася можливість зв’язування одного запису-нащадку з довільним набором записів-предків.

3.Реляційна модель даних вперше була сформульована Э. Ф. Коддом (Codd E.F.) в 1970 году. Вона суттєво відрізнялась від описаних раніше моделей і в 80-х роках отримала загальне визнання як найбільш узгоджена і зручна модель розробки СУБД. В реляційній моделі дані представляються у вигляді таблиць, які складаються з рядків і стовпців. Зв’язок між даними здійснюється не за допомогою явних покажчиків, як в мережевій моделі, а з допомогою значень одного чи декількох стовпців пов’язаних таблиць.

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

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