- •Лекція 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.6. Архітектура багатокористувачевих скбд
У цьому розділі ми познайомимося з різними типовими архітектурними рішеннями, використовуваними при реалізації багатокористувачевих СКБД, а саме зі схемами звичайної телеобробки, файловим сервером і технологією "клієнт/сервер".
2.6.1. Телеобробка
Традиційною архітектурою багатокористувачевих систем раніш вважалася схема, що одержала назву "телеобробки", при якій один комп'ютер з єдиним процесором був з'єднаний з декількома терміналами так, як показано на мал. 2.8. При цьому вся обробка виконувалася в рамках єдиного комп'ютера, а приєднані до нього користувальницькі термінали були типовими "неінтелектуальними" пристроями, не здатними функціонувати самостійно. З центральним процесором термінали були зв'язані за допомогою кабелів, по яких вони посилали повідомлення користувальницьким додаткам (через підсистему керування обміном даними операційної системи). У свою чергу, користувальницькі додатки зверталися до необхідних служб СКБД. У такий же спосіб повідомлення поверталися назад на користувальницький термінал. На жаль, при такій архітектурі основне і надзвичайно велике навантаження покладалося на центральний комп'ютер, що повинний був виконувати не тільки дії прикладних програм і СКБД, але і значну роботу з обслуговування терміналів (наприклад, форматування даних, виведених на екрани т ерміналів).
В останні роки був досягнутий істотний прогрес у розробці високопродуктивних персональних комп'ютерів і складених з них мереж. При цьому у всій індустрії спостерігається помітна тенденція до децентралізації (downsizing), тобто заміні дорогих мейнфреймів більш ефективними, з погляду експлуатаційних витрат, мережами персональних комп'ютерів, що дозволяють одержати такі ж результати, якщо не краще. Ця тенденція привела до появи наступних двох типів архітектури СКБД:
технології файлового сервера;
технології "клієнт/сервер".
2.6.2. Файловий сервер
У середовищі файлового сервера обробка даних розподілена в мережі, що звичайно представляє собою локальну обчислювальну мережу (ЛОС). Файловий сервер містить файли, необхідні для роботи додатків і самої СКБД, Однак користувальницькі програми і сама СКБД розміщені і функціонують на окремих робочих станціях, і звертаються до файлового сервера тільки в міру необхідності одержання доступу до потрібного їм файлу - як показане на мал. 2.9. Таким чином, файловий сервер функціонує просто як спільно використовуваний жорсткий диск. СКБД на кожній робочій станції посилає запити файловому серверу по всім необхідним їй даним, що зберігаються на диску файл-сервера. Такий підхід характеризується значним мережевим графіком, що може привести до зниження продуктивності всієї системи в цілому. Розглянемо, наприклад, ситуацію, коли користувач надсилає запит на вибірку даних про всіх співробітників відділення компанії, що знаходиться за адресою '163 Main St'. Цю задачу можна сформулювати за допомогою наступного SQL-оператора:
SELECT fname, Iname
FROM branch b, staff s
WHERE b.bno = s.sno AND b.street = '163 Main St'
Оскільки файловий сервер не розуміє команд мовою SQL, СКБД повинна запросити у файлового сервера файли, що відповідають відносинам Branch (Відділення) і Staff (Працівник), а не шукані імена співробітників.
Таким чином, архітектура з використанням файлового сервера володіє наступними основними недоліками.
Великий обсяг сіткового графіка.
На кожній робочій станції повинна знаходитися повна копія СКБД.
К ерування паралельністю, відновленням і цілісністю ускладнюється, оскільки доступ до тим самим файлів можуть здійснювати відразу кілька екземплярів СКБД.