
- •2 Структура пз
- •3 Операційні системи
- •3.1 Загальні зведення
- •3.2 Основні складові функції сучасних ос
- •3.2.1 Системи планування
- •3.2.2 Синхронізація та обмін даними між процесами
- •3.2.3 Системи керування пам’яттю
- •3.2.4 Система керування файлами
- •3.2.5 Системи керування вводом-виводом
- •3.2.6 Переривання
- •3.3 Деякі сучасні ос
- •3.3.1 Ос сімейства dos
- •3.3.2 Ос сімейства os/2
- •3.3.3 Ос сімейства Windows
- •3.3.4 Ос сімейства Unix
- •3.3.5 Мережна ос реального часу qnx
- •4 Сервісні системи
- •4.1 Інтерфейсні системи
- •4.2 Оболонки ос
- •2.2.3 Утиліти
- •5 Інструментальні системи
- •5.1 Системи програмування
- •5.2 Системи управління базами даних
- •5.3 Інструментарій штучного інтелекту
- •5.4 Редактори
- •5.5 Інтегровані системи
- •5.6 Сучасні системи програмування
- •5.7 Прикладне по
- •6 Особливості проектування спо
- •6.1 Асемблери
- •6.1.1 Машинно-залежні характеристики асемблера
- •6.1.2 Машинно-незалежні характеристики асемблера
- •6.1.3 Варіанти побудови асемблерів
- •6.2 Завантажники й програми зв'язування
- •6.2.1 Машинно-залежні властивості завантажника
- •6.2.2 Машинно-незалежні властивості завантажників
- •6.2.3 Побудова завантажників.
- •6.3 Макропроцесори
- •6.3.1 Машинно-незалежні особливості.
- •6.3.2 Варіанти побудови макропроцесорів.
- •6.4 Компілятори
- •6.4.1 Граматика.
- •6.4.2 Лексичний аналіз.
- •6.4.3 Синтаксичний аналіз.
- •6.4.4 Генерація коду.
- •6.4.5 Машинно-залежні особливості компіляторів.
- •6.4.6 Машинно-незалежні особливості компіляторів.
- •6.4.7 Варіанти побудови компіляторів.
- •6.4.8 Інтерпретатори.
- •6.4.9 Компілятори на p-код.
- •6.4.10 Компілятори компіляторів.
- •6.5 Основи побудови операційних систем
- •6.5.1 Принципи побудови ос
- •6.5.2 Основні структурні рішення
- •6.5.3 Принципи побудови інтерфейсів ос
- •Література
5.2 Системи управління базами даних
Системи управління базами даних (СУБД) є основою так називаного банка даних (БД). Неформально БД являє собою сховище інформації для різних додатків, що у даний час розглянутої як один із найважливіших ресурсів.
Інформація — це будь-які зведення про яку-небудь подію, сутність, процесі і т.п., що є об'єктом деяких операцій: сприйняття, передачі, перетворення, чи збереження використання. Інформація, зафіксована у визначеній формі, придатної для наступної обробки, збереження й передачі являє собою дані.
Банком даних називають програмну систему, що надає послуги по збереженню, а також пошуку даних визначеній групі користувачів і по визначеній тематиці.
БД використовуються в АСУ, інформаційно-пошукових і довідкових системах, системах автоматизації конторської діяльності, а також у системах штучного інтелекту.
До БД пред'являються наступні вимоги:
- задоволення інформаційних потреб користувачів;
- можливість роботи з великими обсягами інформації;
- підтримка заданого рівня вірогідності збереженої інформації і її несуперечностей;
- здійснення доступу до даних тільки користувачів, що мають на це повноваження;
- забезпечення можливості пошуку інформації з будь-якої необхідної групи ознак;
- відповідність заданим вимогам по продуктивності;
- можливість реорганізації й розширення при зміні границь предметної області;
- забезпечення видачі інформації у формі, зручної для сприйняття;
- простота використання;
можливість обслуговування декількох (не обов'язково одночасно) користувачів.
З БД взаємодіють наступні категорії облич:
- кінцеві користувачі (уводять і витягають дані);
- програмісти (пишуть і налагоджують програми обробки даних);
- адміністратори БД (відповідають за проектування, експлуатацію й супровід БД).
База даних (БзД) являє собою сукупність спеціальним образом організованих наборів даних (файлів), збережених у зовнішній пам'яті ЕОМ (на МД).
СУБД — це програмний продукт, що забезпечує централізоване керування даними в БзД. Названу систему можна розглядати як надбудову над засобами керування даними (файловою системою) ОС.
Переваги централізованого керування даними складаються в наступному:
у скороченні надмірності збережених даних;
у підтримці цілісності й несуперечності даних;
у забезпеченні багатоаспектного використання даних, тобто в підтримці нових додатків на основі вже наявних даних;
у забезпеченні комплексної оптимізації збереження й використання даних;
у стандартизації й уніфікації способів представлення даних;
у розмежуванні доступу до даних різних груп користувачів.
Під керуванням даними розуміється:
завдання й корекція схеми БзД, тобто її логічної і/чи фізичної структури;
маніпулювання даними, тобто додавання, відновлення, видалення й вибірку (витяг) даних із БзД.
Для рішення першої задачі служить мова опису даних (звичайно діалоговий), а другий — мова маніпулювання ми. Ці мови найчастіше реалізуються СУБД за допомогою інтерпретації і рідше — компіляції.
Мова маніпулювання даними може бути самостійною (автономною) чи мовою підмовою, зануреним в одну із широко розповсюджених мов програмування. Сама підмова містить відповідні підпрограми і/чи спеціальні оператори. Інтерактивна мова маніпулювання даними часто називають мовою запитів.
СУБД виконує одну з наступних двох функцій:
формування БзД, включаючи її модифікацію (на стадії створення БД);
обробку даних із БзД, включаючи її модифікацію (на стадії експлуатації БзД).
Відповідно до першої функції СУБД можна розглядати як інструментальну систему.
СУБД може підтримувати один із наступних інтерфейсів:
користувальницький інтерфейс для взаємодії користувача з БД в інтерактивному режимі;
програмний інтерфейс для виконання запитів по керуванню даними із прикладних програм.
Словник даних (СД) являє собою спеціальну інформаційну структуру, що містить загальні зведення про ресурси БД, СД включає:
- опис схеми і підсхем БзД, тобто зведення про загальну організацію БзД, а також про можливі (припустимих) значеннях і форматах представлення даних;
- зведення про повноваження користувачів по керуванню даними;
- зведення про джерела даних;
- інші довідкові зведення.
СУБД підтримує наступні три рівні представлення даних:
- фізичний рівень;
- логічний рівень;
- концептуальний рівень.
Фізичний рівень визначає формати розміщення даних (логічних записів) на зовнішніх носіях інформації.
Логічний рівень є проміжним і описує взаємозв'язку між логічними записами.
Концептуальний рівень визначає структуру БзД у термінах об'єктів предметної області і відношень між ними.
Кожен рівень описується відповідною схемою БзД. СУБД забезпечує перетворення (відображення) даних одного рівня в дані іншого рівня. Зміна одного із внутрішніх рівнів не впливає на прикладні програми. Два ж внутрішніх рівні введені з метою полегшення модифікації самого БД.
Для представлення даних на концептуальному рівні застосовуються різні моделі даних. Під моделлю даних розуміють формальну систему, використовувану для представлення даних.
Відомі такі моделі даних:
- ієрархічна модель;
- мережна модель;
- реляційна модель.
Спочатку найбільше поширення одержала ієрархічна модель даних. В ієрархічній моделі об'єкти предметної області представляються вузлами (вершинами), а відносини між ними - дугами, що зв'язують вершини, причому граф, що вийшов у результаті такого відображення, повинний задовольняти обмеженням, що накладається на дерева.
Ієрархічна модель характеризується:
- недостатньою простотою;
- неоднорідністю, що утрудняє маніпулювання даними;
- відсутністю строгої математичної основи;
- високою ефективністю, що веде до збільшення швидкості маніпулювання даними;
- неповнотою, тому що не будь-яка предметна область може бути представлена в цій моделі;
- нерівноправністю між даними внаслідок того, що одні з них повинні бути жорстко підлеглі іншим (тобто асиметрією відношень);
- складністю відновлення БзД.
Частина недоліків розглянутої моделі усуваються в мережній моделі даних. Остання є узагальненням ієрархічної моделі за рахунок того, що предметна область може представлятися графом довільного виду. Мережної моделі має наступні властивості:
- складність;
- неоднорідність;
- відсутність строгої математичної основи;
- невисока ефективність;
- повнота;
- рівноправність між даними;
- складність відновлення БзД.
В основі реляційної моделі даних лежить поняття відношення між об'єктами предметної області, а самі відношення описуються таблицями. Бзд при цьому виявляє собою сукупність таблиць. Реляційна модель має наступні властивості:
- простота;
- однорідність представлення даних;
- наявність строгої й стрункої математичної основи, що дозволяє створювати повні як процедурні й декларативні мови маніпулювання даними;
- низька ефективність через роз'єднаність семантично взаємозалежних даних;
- повнота;
- рівноправність між даними;
- легкість відновлення даних.
Найбільше поширення одержала реляційна модель даних. Мережна модель застосовується лише зрідка, а ієрархічна модель практично не використовується.
Розвиток архитектур БД зв'язані зі створенням розподілених БзД і керуванням ними. У цьому напрямку ведуться розробки архітектури «сервер^-клієнт-сервер», де під клієнтом розуміється фронтальна програма, що забезпечує взаємодію з користувачем, а під сервером - тилова програма, що забезпечує централізовану обробку роз'єднаних даних. У дійсності ж Бзд може вважатися розподіленої тільки тоді, коли користувачу не потрібно буде знати, що вона є такий.
Статусом стандартної реляційної мови маніпулювання даними зараз володіє мова SQL (Structured Query Language — структурована мова запитів). Особливо це справедливо для мережних додатків.
В даний час найбільш відомі наступні СУБД: dBASE, Paradox, FoxPro, Clipper 5 і ін..
Усі перераховані СУБД засновані на реляційній моделі даних.