Ім'я файлу: Konspekt_ЛК1.rtf
Розширення: rtf
Розмір: 355кб.
Дата: 13.09.2022
скачати






Лекция 1 (DB_l_01.ppt)



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

Іншими напрямами, що стимулювали розвиток, стали з одного боку системи управління фізичними експериментами, що реалізують надоперативну обробку в реальному масштабі часу величезних потоків даних від датчиків, а з іншого - автоматизовані бібліотечні інформаційно-пошукові системи (Слайд 2).

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

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

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

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

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

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

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

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

1.2. Компоненти банка даних

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

У структурі банку даних виділяють такі компоненти (підсистеми):

 інформаційна база;

 лінгвістичні засоби;

 програмні засоби;

 технічні засоби;

 організаційно-адміністративні підсистеми та нормативно-методичне забезпечення. (Слайд 4)
Інформаційна база

Дані, що відбивають стан певної предметної області та використовуються інформаційної системою, прийнято називати інформаційною базою. Інформаційна база складається з двох компонентів: 1) колекції записів власне даних і 2) опису цих даних - метаданих.

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

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

У літературі з баз даних згадуються три рівні подання даних — концептуальний, внутрішній та зовнішній(Слайд 5).

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

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

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

Зовнішній рівень подання даних не зачіпає фізичної організації (розміщення) даних у зовнішній пам'яті, тому його називають іноді логічним рівнем. Відповідно внутрішній рівень називають фізичним рівнем(слайд 6)..

Лінгвістичні засоби

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

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

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

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

ЯМД зазвичай включає у собі засоби запитів до базі даних та підтримки бази даних (додавання, видалення, оновлення даних, створення та знищення БД, зміна визначень БД, забезпечення запитів до довіднику БД).

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

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

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

Якісні характеристики мов запитів можуть визначатися такими властивостями, як повнота, селективна потужність, простота вивчення та використання, ступінь процедурності та модульності, уніфікованість, продуктивність та ефективність. Розглянемо деякі з цих понять.

p align="justify"> Селективна потужність мов запитів характеризує можливість вибору даних за різними критеріями. Дане поняття погано піддається формалізації: можна сказати, що мова з більшою селективною потужністю дозволяє сформулювати більшість запитів так, що відповідь на них містить менше непотрібних даних. Мови, що мають малу селективну потужність, у загальному випадку вже вимагають залучення додаткових засобів для аналізу відповідей на запити (наприклад, оцінки користувача).

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

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

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

Найбільш поширеною мовою для роботи з базами даних є SQL (Structured Query Language), який у своїх останніх реалізаціях надає не тільки засоби для специфікації та обробки запитів на вибірку даних, але також і функції зі створення, оновлення, управління доступом і т.д.

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

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

© Усі права захищені
написати до нас