- •Лекція 2. Середовище бази даних
- •Структура цієї лекції
- •2.1. Трьохрівнева архітектура ansi-sparc
- •2.1.1. Зовнішній рівень Зовнішній рівень - Представлення бази даних з погляду користувачів. Цей рівень описує ту частину бази даних, що відноситься до кожного користувача.
- •2.1.2. Концептуальний рівень Концептуальний рівень - узагальнююче представлення бази даних. Цей рівень описує, які дані зберігаються в базі даних, а також зв'язку, що існують між ними.
- •2.1.3. Внутрішній рівень Внутрішній рівень Фізичне представлення бази даних у комп'ютері. Цей рівень описує, як інформація зберігається в базі даних.
- •2.1.4. Схеми, відображення й екземпляри
- •2.1.5. Незалежність від даних
- •2.2. Мови баз даних
- •2.2.1. Мова визначення даних - ddl Мова ddl - описова мова, що дозволяє абд чи користувачу описати і поіменувати сутності, необхідні для роботи деякої програми, а також зв'язку між різними сутностями.
- •2.2.2. Мова керування даними - dml Мова dml - мова, що містить набір операторів для підтримки основних операцій маніпулювання даними, що містилися в базі.
- •Процедурні мови dml Процедурна мова dml - мова, що дозволяє повідомити системі про те, які дані необхідні, і точно вказати, як їх можна витягти.
- •Не процедурні мови dml Не процедурна мова dml - мова, що дозволяє вказати лише те, які дані вимагаються, але не те, як їх варто витягати.
- •2.2.3. Мови 4gl
- •Генератори форм
- •Генератори звітів
- •Генератори графічного представлення даних
- •Генератори програм
- •2.3. Моделі даних і концептуальне моделювання
- •Модель даних - Інтегрований набір понять для опису даних, зв'язків між ними й обмежень, що накладаються на дані в деякій організації.
- •2.3.1. Об'єктні моделі даних
- •2.3.2. Моделі даних на основі записів
- •Реляційна модель даних
- •Мережна модель даних
- •Ієрархічна модель даних
- •2.3.3. Фізичні моделі даних
- •2.3.4. Концептуальне моделювання
- •2.4. Функції скбд
- •2.4.1. Збереження, витяг і відновлення даних
- •2.4.2. Каталог, доступний кінцевим користувачам
- •2.4.3. Підтримка транзакцій
- •2.4.4. Сервисы керування паралельністю
- •2.4.5. Сервіси відновлення
- •2.4.6. Сервіси контролю доступу до даних
- •2.4.7. Підтримка обміну даними
- •2.4.8. Служби підтримки цілісності даних
- •2.4.9. Служби підтримки незалежності від даних
- •2.4.10. Допоміжні служби
- •2.5. Компоненти скбд
- •2.6. Архітектура багатокористувачевих скбд
- •2.6.1. Телеобробка
- •2.6.2. Файловий сервер
- •2.6.3. Технологія „клиент/сервер"
- •2.7. Системні каталоги
- •Системний каталог - сховище даних, що описують інформацію, що зберігається в базі даних, тобто мета-дані, чи "дані про дані".
- •2.7.1. Служба irds
Структура цієї лекції
У розділі 2.1 розглядаються трьохрівнева архітектура ANSI-SPARC і переваги, що досягаються у випадку її використання. У розділі 2.2 розглядаються типи мов, що використовуються в середовищі СКБД, а в розділі 2.3 пояснюються поняття моделей даних і концептуального моделювання, що більш докладно будуть описані в інших главах цієї книги. У розділі 2.4 обговорюються основні функції, що повинна виконувати СКБД, а в розділах 2.5 і 2.6 - архітектура типової СКБД. Завершується ця глава вивченням функціональних можливостей системного каталогу СКБД, у якому зберігаються мета-дані, тобто дані про дані, що зберігаються в цій базі даних. Приклади в цій главі побудовані на основі навчального проекту DreawHowe, описаного в розділі 1.7.
У цій лекції містяться важливі базові зведення про СКБД. Однак читачам, що не мають великого досвіду роботи із системами керування базами даних, вона може показатися досить складної. Про це не варто особливо турбуватися, просто пізніше при читанні наступних глав даної книги їм буде корисно знову повернутися до цієї глави, що дозволить прояснити усі незрозумілі місця.
2.1. Трьохрівнева архітектура ansi-sparc
Перша спроба створення стандартної термінології і загальної архітектури СКБД була почата в 1971 році групою, називаної DBTG. Вона була створена після конференції CODASYL (Conference on Data Systems and Languaguages — Конференція по мовах і системам даних), що пройшла в цьому ж році. Група DBTG визнала необхідність використання дворівневого підходу, побудованого на основі використання системного представлення, тобто схеми (schema), і користувальницьких представлень, тобто підсхем (subschema). Подібні термінологія й архітектура були запропоновані в 1975 році Комітетом планування стандартів і норм SPARC (Standards Planning and Requirements Committee) Національного Інституту Стандартизації США (American National Standard Institute — ANSI), ANSI/X3/SPARC (ANSI, 1975). Комітет ANSI/SPARC визнав необхідність використання трьохрівневого підходу. У цих матеріалах відбиті пропозиції, що були зроблені організаціями Guide/Share, що складаються з користувачів продуктів корпорації IBM, і опубліковані за кілька років до цього. Основна увага в них було сконцентровано на необхідності втілення незалежного рівня для ізоляції програм від особливостей представлення даних на більш низькому рівні (Guide/Share,1970). Хоча модель ANSI/SPARC не стала стандартом, проте вона усе ще являє собою основу для розуміння деяких функціональних особливостей СКБД.
У даному випадку для нас найбільш фундаментальним моментом у цих і наступних звітах дослідницьких груп є ідентифікація трьох рівнів абстракції, тобто трьох різних рівнів опису елементів даних. Ці рівні формують трьохрівневу архітектуру, що охоплює зовнішній, концептуальний і внутрішній рівні, як показано на мал.2.1. Мета трьохрівневої архітектури полягає у відділенні користувальницького представлення бази даних від її фізичного представлення. Нижче перераховано кілька причин, по яких бажано виконувати такий поділ.
Кожен користувач повинний мати можливість, звертатися до тим самим даних, використовуючи своє власне представлення про їх. Кожен користувач повинний мати можливість змінювати своє представлення про дані, причому ця зміна не повинна впливати на інших користувачів.
Користувачі не повинні безпосередньо мати справу з такими подробицями фізичного збереження даних у базі, як індексування і хешування. Інакше кажучи, взаємодія користувача з базою не повинне залежати від особливостей збереження в ній даних.
Адміністратор бази даних (АБД) повинний мати можливість змінювати структуру збереження даних у базі, не роблячи впливу на користувальницькі представлення.
Внутрішня структура бази даних не повинна залежати від таких змін фізичних аспектів збереження інформації, як переключення на новий пристрій збереження.
А БД повинний мати можливість змінювати концептуальну чи глобальну структуру бази даних без будь-якого впливу на всіх користувачів.
Рис. 2.1. Трьохрівнева архітектура ANSI-SPARC
Рівень, на якому сприймають дані користувачі, називається зовнішнім рівнем (external level), тоді як СКБД і операційна система сприймають дані на внутрішньому рівні (internal level). Концептуальний рівень (conceptual level) представлення даних призначений для відображення зовнішнього, рівня на внутрішній і забезпечення необхідної незалежності друг від друга.