- •Лекція 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.4.6. Сервіси контролю доступу до даних
СКБД повинна мати механізм, що гарантує можливість доступу до бази даних тільки санкціонованих користувачів. Неважко привести приклади, коли потрібно сховати деякі збережені в базі дані зведення від інших користувачів. Наприклад, менеджерам відділень компаній можна було б надати всю інформацію, зв'язану з зарплатою співробітників, але бажано сховати її від інших користувачів. Крім того, базу даних варто було б захистити від будь-якого несанкціонованого доступу. Термін безпека відноситься до захисту бази даних від навмисного чи випадкового несанкціонованого доступу. Передбачається, що СКБД забезпечує механізми подібного захисту даних.
2.4.7. Підтримка обміну даними
СКБД повинна мати здатність до інтеграції з комунікаційним програмним забезпеченням.
Більшість користувачів здійснюють доступ до бази даних за допомогою терміналів. Іноді ці термінали приєднані безпосередньо до комп'ютера із СКБД. В інших випадках термінали можуть знаходитися на значному видаленні й обмінюватися даними з комп'ютером, на якому розташовується СКБД, через мережу. У будь-якому випадку СКБД одержує запити у виді повідомлень обміну даними (communications messages) і аналогічним образом відповідає на них. Усі такі спроби передачі даних керуються менеджером обміну даними. Хоча цей менеджер не є частиною власне СКБД, проте, щоб бути комерційно життєздатною, будь-яка СКБД повинна мати здатність інтеграції з різноманітними існуючими менеджерами обміну даними. Навіть СКБД для персональних комп'ютерів повинні підтримувати роботу в локальній мережі, щоб замість декількох розрізнених баз даних для кожного окремого користувача можна було б установити одну централізовану базу даних і використовувати її як загальний ресурс для всіх існуючих користувачів. При цьому передбачається, що не база даних повинна бути розподілена в мережі, а вилучені користувачі повинні мати можливість доступу до централізованої бази даних. Така топологія називається розподіленою обробкою.
2.4.8. Служби підтримки цілісності даних
СКБД повинна мати інструменти контролю за тим, щоб дані і їх зміни відповідали заданим правилам.
Цілісність бази даних означає коректність і несуперечність збережених даних. Вона може розглядатися як ще один тип захисту бази даних. Крім того, дане питання зв'язане з забезпеченням безпеки, тому воно має більш широкий зміст, оскільки цілісність зв'язана з якістю самих даних. Цілісність звичайно виражається у виді обмежень чи правил збереження несуперечності даних, що не повинні порушуватися в базі. Наприклад, можна вказати, що співробітник не може відповідати одночасно більш ніж за десять об'єктів нерухомості. У цьому випадку при спробі закріпити черговий об'єкт нерухомості за деяким співробітником, СКБД повинна перевірити, чи не перевищений встановлений ліміт, і у випадку виявлення подібного перевищення заборонити закріплення нового об'єкта за даним співробітником.
Розумно було б припустити, що крім перерахованих вище восьми сервісів, СКБД повинна підтримувати ще два сервіси.
2.4.9. Служби підтримки незалежності від даних
СКБД повинна мати інструменти підтримки незалежності програм від фактичної структури бази даних. Поняття незалежності від даних уже розглядалося в розділі 2.1.5, "Незалежність від даних". Звичайно вона досягається за рахунок реалізації механізму підтримки чи представлень підсхем. Фізична незалежність від даних досягається досить просто, тому що звичайно мається кілька типів припустимих змін фізичних характеристик бази даних, що ніяк не впливають на представлення. Однак домогтися повної логічної незалежності від даних складніше. Як правило, система легко адаптується до додавання нового об'єкта, чи атрибута зв'язку, але не до їх видалення. У деяких системах узагалі забороняється вносити будь-як зміни у вже існуючі компоненти логічної схеми.