Тема: «Загальні поняття баз даних »
План лекції
1 Базові поняття баз даних
2 Поняття предметної області
3 Поняття та функції системи керування базами даних
4 Класифікація СУБД
Зміст лекції
1 Базові поняття баз даних
Використання баз даних і інформаційних систем стає невід'ємній складовій ділової діяльності сучасної людини і функціонування процвітаючих організацій. У зв'язку з цим великої актуальності набуває освоєння принципів побудови і ефективного вживання відповідних технологій і програмних продуктів: систем управління базами даних, CASEсистем автоматизації проектування і інших.
Дані – це інформація, представлена в певному вигляді, яка дозволяє автоматизувати її збір, зберігання і подальшу обробку людиною або інформаційним засобом. Для комп'ютерних технологій дані – це інформація у дискретному, фіксованому вигляді, зручна для зберігання, обробки на ЕОМ, а також для передачі по каналами зв'язку.
Банк даних є різновидом ІС, в якій реалізовані функції централізованого зберігання і накопичення оброблюваної інформації, організованої в одну або декілька баз даних.
Банк даних (БНД) в загальному випадку складається з наступних компонентів: бази (декількох баз) даних, системи управління базами даних, словника даних, адміністратора, обчислювальної системи і обслуговуючого персоналу.
База даних (БД) є сукупністю спеціальним чином організованих даних, що зберігаються в пам'яті обчислювальної системи і об'єктів, що відображують стан, і їх взаємозв'язків в даної наочної області.
Логічну структуру яка зберігається в базі даних називають моделлю представлення даних. До основних моделей представлення даних (моделям даних) відносяться наступні: ієрархічна, мережева, реляційна, реляційна для поста, багатовимірна і об'єктно-орієнтована.
Додаток є програмою або комплексом програм, що забезпечують автоматизацію обробки інформації для прикладного завдання. Нами розглядаються додатки, що використовують БД. Додатки можуть створюватися в середовищі або поза середовищем СКБД — за допомогою системи програмування, що використовує засоби доступу до БД, наприклад, Delphi або C++ Builder. Додатки, розроблені в середовищі СКБД часто називають додатками СУБД, а додатки, розроблені зовні СУБД, — зовнішніми застосуваннями.
Для роботи з базою даних частенько досить засобів СКБД і не потрібно використовувати додатки, створення яких вимагає програмування. Додатки розробляють головним чином у випадках, коли потрібно забезпечити зручність роботи з БД некваліфікованим користувачам або інтерфейс СКБД не владнує користувачів.
Словник даних (СД) є підсистемою БНД, призначеною для централізованого зберігання інформації про структури даних, взаємозв'язках файлів БД один з одним, типах даних і форматах їх вистави, приладдя даних користувачам, кодах захисту і розмежування доступу і тому подібне
Функціонально СД присутній у всіх БНД, але що не завжди виконує ці функції компонент має саме такий назву. Найчастіше функції СД виконуються СКБД і викликаються з основного меню системи або реалізуються за допомогою її утиліт.
Адміністратор бази даних (АБД) є особа або група осіб, що відповідають за вироблення вимог до БД, її проектування, створення, ефективне використання і супровід.
Функції адміністратора бази даних
• проектування й розробка описів даних на різних рівних та їхнє узгодження.
• розробка структур зберігання і стратегій доступу до даних згідно з вимогами
• ефективного (чи економічного) зберігання, швидкої обробки та виведення даних за бажанням користувача,
• реструктуризація ти реорганізація БД у випадку зміни вимог до характеристик зберігання й обробки даних проектування та застосування механізмів захисту даних
• реєстрація користувачів (Імен, паролів), визначення їхніх прав
доступу та повноважень
• розробка й використання механізмів резервного копіювання даних та їхнє відновлення під час перебоїв.
• настроювання роботи БД (підвищення продуктивності механізмів обробки даних, підтримання планової надлишковості забезпечення ефективності їхнього зберігання),
• систематичне наглядання за використанням бази даних.
У обчислювальній мережі АБД, як правило, взаємодіє з адміністратором мережі. У обов'язку останнього входять контроль за функціонуванням апаратно-програмних засобів мережі, реконфігурація мережі, відновлення програмного забезпечення після збоїв і відмов устаткування, профілактичні заходи і забезпечення розмежування доступу.
Обчислювальна система (ВС) є сукупністю взаємозв'язаних і погоджено діючих ЕОМ або процесорів і інших пристроїв, що забезпечують автоматизацію процесів прийому, обробки і видачі інформації споживачам.
Оскільки основними функціями БНД є зберігання і обробка даних, то використовувана ВС, разом з прийнятною потужністю центральних процесорів (ЦП) повинна мати достатній об'єм оперативної і зовнішньої пам'яті прямого доступу.
Обслуговуючий персонал виконує функції підтримки технічних і програмних засобів в працездатному стані. Він проводить профілактичні, регламентні, відновні і інші роботи по планах, а також в міру необхідності.
2 Поняття предметної області
Основним призначенням інформаційної системи (ІС) є оперативне забезпечення користувача інформацією про зовнішній світ шляхом реалізації питально-відповідного відношення. Питально-відповідні відношення дозволяють виділити для ІС певний її фрагмент - предметну область, - який буде втілений в автоматизованій ІС. Інформація про зовнішній світ подається в ІС у формі даних, що обмежує можливості змістовної інтерпретації інформації й конкретизує семантику її подання в ІС. Сукупність цих виділених для ІС даних, зв'язків між ними й операцій над ними утворить інформаційну й функціональну моделі предметної області (ПО), що описують її стан з певною точністю. Інформаційна й функціональна моделі ПО є вхідними даними для процесу проектування БД.
Сукупність реалій (об'єктів) зовнішнього світу - об'єктів, про які можна питати, - утворює об'єктне ядро предметної області, яке має онтологічний статус. Не можна одержати в ІС відповідь на запитання про те, що їй невідомо. Термін "об'єкт" є первинним поняттям. Синонімами терміна "об'єкт" є "реалія, сутність, річ". Сутність ПО є результатом абстрагування реального об'єкта шляхом виділення й фіксації набору його властивостей.
Прикладами сутностей (з погляду ІС) або об'єктів (з погляду зовнішнього світу) є окремий студент, група студентів, аудиторія, час занять, слова, числа, символи. Звичайно вважається, що бути об'єктом - означає бути дискретним і помітним.
З об'єктами пов'язано дві проблеми: ідентифікація й адекватний опис. Для ідентифікації використовують ім'я. Використовується тільки вказівна функція імені. Ім'я - це прямий спосіб ідентифікації об'єкта. До непрямих способів ідентифікації об'єкта відносять визначення об'єкта через його властивості (характеристики або ознаки).
Об'єкти взаємодіють між собою через свої властивості, що породжує ситуації. Ситуації - це взаємозв’язки, які виражають взаємини між об'єктами. Ситуації у ПО описуються за допомогою висловлювань про ПО з використанням виразів і обчисленнями предикатів, тобто формальної, математичної логіки.
Методи математичної логіки дозволяють формалізувати ці твердження і подати їх у вигляді, придатному для аналізу.
Розглянемо висловлювання: студент Іванов А.А, народився у 1982 році.
Воно виражає такі властивості об'єкта "Іванов А.А.":
у явному вигляді - рік народження; у неявному вигляді - приналежність до студентів.
Перша властивість встановлює зв'язок між об'єктами "Іванов А.А." і
"Рік народження", а друга - між об'єктами "Іванов А.А." і "Безліч студентів". Формалізація цього висловлювання представляється як результат присвоювання значень змінним, які входять у предикати:
НАРОДИВСЯ (Іванов А.А., 1982) Є СТУДЕНТОМ (Іванов А.А.)
На рисунку 1 наведений один із підходів до класифікації ситуацій у рамках ПО.
Розрізняють статичні й динамічні ситуації. Прикладами статичних ситуацій є такі ситуації, як кольори, вік. Прикладами динамічних ситуацій є такі ситуації, як випекти хліб.
Наведена класифікація вводить у ПО два важливі аспекти - простір і час, до того ж час і як момент, і як інтервал. ПО існує у просторі і часі, тобто їй притаманні часові і просторові відношення і зв’язки. Слід розрізняти реальний час зовнішнього світу та його відображення у БД та у джерелах інформації. У БД взаємозв’язки, залежні від часу, фіксуються тільки після реєстрації в БД. Таким чином, ПО у кожний певний момент часу являє собою відокремлену сукупність визначених об’єктів і ситуацій, яку називають станом ПО.
Предметна область - це цілеспрямована первинна трансформація картини зовнішнього світу у деяку картину, певна частина якої фіксується в ІС як алгоритмічна модель фрагменту дійсності.
3. Поняття та функції системи керування базами даних
Система керування базами даних (СКБД) – це комплекс мовних і програмних засобів, призначений для створення, ведення і спільного використання БД багатьма користувачами. Зазвичай СКБД розрізняють по використовуваній моделі даних. Так, СКБД, засновані на використанні реляційної моделі даних, називають реляційними СКБД.
Одними з перших СКБД є наступні системи: IMS (IBM, 1968т.), IDMS (Cullinet, 1971 р.), ADABAS (Software AG, 1969 р.) і ІНЕС (ВНІЇСИ АН СРСР, 1976 р.). Кількість сучасних систем керування базами даних обчислюється тисячами.
СКБД відноситься до спеціального забезпечення комп’ютера. Він є інструментом для розробки БД.
Функції СУБД:
– опис даних.
В БД існують досить жорсткі обмеження по маніпулюванню даними які відображають певну область. Як правило задаються описи незмінних властивостей в БД. Такий опис називається описом структури БД або схемою БД.
– маніпулювання даними.
До складу СКБД входять оператори пошуку в БД, керування даними, обміном даними та ін..
– заповнення БД та генератор звітів.
Більшість СКБД мають спеціальні засоби для введення та керування даними, для одержання вихідних форм (звітів).
– діалогові засоби та мова запитів.
Для зручності роботи користувачів і підвищення оперативності доступу до даних більшість функцій СКБД може здійснюватися через дисплей (діалоговий режим). За допомогою дисплею здійснюється перегляд БД, керування нею, введення запитів до БД які формуються на спеціальній мові.
– сервіс.
Тут розуміють ряд функцій, що забезпечують цілісність БД та різного роду довідкових функцій. Одна з важливих сервісних функцій є журнал. Системний журнал засіб поновлення БД на довільний момент в минулому. Робота Системного журналу основана на тому, що в процесі існування СКБД запам’ятовуються всі зміни які проводяться в БД, це дає можливість поновити БД в момент її цілісності.
4 Класифікація СУБД
Зазвичай сучасна СУБД містить наступні компоненти (рисунок 1.1): ядро, яке відповідає за управління даними в зовнішній і оперативній
пам'яті і журналізацію процесор мови бази даних, що забезпечує оптимізацію запитів на витягання і зміну даних і створення, як правило, машинно-незалежної виконуваної внутрішньої коди підсистему підтримки часу виконання, яка інтерпретує програми маніпуляції даними, що створюють призначений для користувача інтерфейс з
СУБД а також сервісні програми (зовнішні утиліти), що забезпечують ряд додаткових можливостей по обслуговуванню інформаційної системи.
Класифікація СУБД. У загальному випадку під СУБД можна розуміти будь-який програмний продукт, що підтримує процеси створення, ведення і використання БД.
До СУБД відносяться наступні основні види програм:
повнофункціональні СУБД; сервери БД; клієнти БД; засоби розробки програм роботи з БД.
Повнофункціональні СУБД (ПФСУБД) є традиційними СУБД, які спочатку з'явилися для великих машин, потім для міні-машин і для ПЕВМ. З числа всіх СУБД сучасні ПФСУБД є найбільш багаточисельними і потужними по своїх можливостях. До ПФСУБД відносяться, наприклад, такі пакети як: DataEase, DataFlex, dBase IV, Microsoft Access, Microsoft FoxPro і Paradox.
Зазвичай ПФСУБД мають розвинений інтерфейс, що дозволяє за допомогою команд меню виконувати основні дії з БД: створювати і модифікувати структури таблиць, вводити дані, формувати запити, розробляти звіти, виводити їх на друк і тому подібне Для створення запитів і звітів не обов'язкове програмування, а зручно користуватися мовою QBE (Query By Example — формулювання запитів за зразком). Багато ПФСУБД включають засоби програмування для професійних розробників.
Сервери БД призначені для організації центрів обробки даних в мережах ЕОМ. Ця група БД в даний час менш багаточисельна, але їх кількість поступово зростає. Сервери БД реалізують функції управління базами даних, запрошувані іншими (клієнтськими) програмами зазвичай за допомогою операторів SQL.
Прикладами серверів БД є наступні програми: NetWare SQL (Novell),
MS SQL Server (Microsoft), InterBase (Borland), SQLBase Server (Gupta), Intelligent Database (Ingress).
В ролі клієнтських програм для серверів БД в загальному випадку можуть використовуватися різні програми: ПФСУБД, електронні таблиці, текстові процесори, програми електронної пошти і так далі При цьому елементи пари «клієнт — сервер» можуть належати одному або різним виробникам програмного забезпечення.
Засоби розробки програм роботи з БД можуть використовуватися для створення різновидів наступних програм:
• клієнтських програм;
• серверів БД і їх окремих компонентів;
• призначених для користувача застосувань.
Програми першого і другого вигляду досить нечисленні, оскільки призначені, головним чином, для системних програмістів. Пакетів третього вигляду значно більше, але менше, ніж повнофункціональних СУБД.
До засобів розробки призначених для користувача застосувань відносяться системи програмування, наприклад Clipper, всілякі бібліотеки програм для різних мов програмування, а також пакети автоматизації розробок (у тому числі систем типа клієнт-сервер). У числі найбільш поширених можна назвати наступні інструментальні системи: Delphi і Power Builder (Borland), Visual Basic (Microsoft), SILVERRUN (Computer Advisers Inc.), S-Designor (SDP і Powersoft) і ERwin (LogicWorks).
По характеру використання СУБД ділять на персональних і розрахованих на багато користувачів.
Персональні СУБД зазвичай забезпечують можливість створення персональних БД і недорогих застосувань, що працюють з ними. Персональні СУБД або розроблені з їх допомогою застосування частенько можуть виступати в ролі клієнтської частини розрахованої на багато користувачів СУБД. До персональних СУБД, наприклад, відносяться Visual FoxPro, Paradox, Clipper, dBase, Access і ін.
Розраховані на багато користувачів СУБД включають сервер БД і клієнтську частину і, як правило, можуть працювати в неоднорідному обчислювальному середовищі (з різними типами ЕОМ і операційними системами). До розрахованих на багато користувачів СУБД відносяться, наприклад, СУБД Oracle і Informix.
По використовуваній моделі даних СУБД (як і БД), розділяють на ієрархічних, мережевих, реляційних, об'єктно-орієнтованих і інші типи.
Деякі СУБД можуть одночасно підтримувати декілька моделей даних.
З точки зору користувача, СУБД реалізує функції зберігання, зміни (поповнення, редагування і видалення) і обробки інформації, а також розробки і здобуття різних вихідних документів.
Для роботи з тією, що зберігається в базі даних інформацією СУБД надає програмам і користувачам наступних двох типів мов:
• мова опису даних — високорівнева непроцедурна
мова декларативного типа, призначена для опису логічної структури даних;
• мова маніпулювання даними — сукупність конструкцій, що забезпечують виконання основних операцій по роботі з даними: введення, модифікацію і вибірку даних по запитах.
Перераховані вище функції СУБД, у свою чергу, використовують наступні основні функції нижчого рівня, які назвемо низькорівневими:
• управління даними в зовнішній пам'яті;
• управління буферами оперативної пам'яті;
• управління транзакціями;
• ведення журналу змін в БД;
• забезпечення цілісності і безпеки БД.
Забезпечення цілісності БД складає необхідну умову успішного функціонування БД, особливо для випадку використання БД в мережах. Цілісність БД є властивість бази даних, що означає, що в ній міститься повна, несуперечлива і така, що адекватно відображає наочну область інформація. Підтримка цілісності БД включає перевірку цілісності і її відновлення в разі виявлення протиріч в базі даних. Цілісний стан БД описується за допомогою обмежень цілісності у вигляді умов, яким повинні задовольняти що зберігаються в базі дані.
Прикладом таких умов може служити обмеження діапазонів можливих значень атрибутів об'єктів, відомості про яких зберігаються до БД, або відсутності записів, що повторюються, в таблицях реляційних БД.
Забезпечення безпеки досягається в СУБД шифруванням прикладних програм, даних, захисту паролем, підтримкою рівнів доступу до бази даних і до окремих її елементів (таблицям, формам, звітам і т. д.).