
- •1. Дати визначення бази даних та субд; визначити відмінності бази даних від файлової системи; перелічити компоненти субд, а також вимоги, яким вони повинні відповідати.
- •2. Представити архітектуру субд; дати порівняльну характеристику її зовнішньому, концептуальному і внутрішньому рівням; перелічити функції субд.
- •3. Моделі даних: класифікація, головні властивості кожної моделі; порівняти моделі між собою і визначити переваги і недоліки кожної моделі.
- •4. Дати визначення реляційної моделі даних і назвати її складові елементи; пояснити роботу операцій реляційної алгебри.
- •5. Обґрунтувати необхідність проведення нормалізації; дати характеристику нормальним формам бази даних; привести приклади таблиць у нормальних формах.
- •6. Основні фази та етапи життєвого циклу системи баз даних; методологія проектування баз даних: вимоги до методології, послідовність проектування.
- •8. Даталогічне проектування бази даних: перелічити етапи і визначити правила переходу від концептуальної до логічної моделі.
- •9. Засоби автоматизації проектування баз даних: класифікація та функціональні можливості case засобів; об’єктно-орієнтований та структурний підходи до проектування баз даних.
- •10. Мова sql: основні можливості по формуванню запитів до бази даних, приклади запитів
- •11. Мова sql: основні можливості по визначенню даних та маніпулюванню даними в базі даних, приклади операцій по створенню бази даних та по маніпулюванню даними
- •Засоби адміністрування даними
- •Засоби управління транзакціями
- •12.Мова запитів qbe: основні можливості по формуванню запитів да бази даних, приклади запитів.
- •14. Архітектура клієнт-сервер: визначити властивості цієї схеми, перелічити переваги і недоліки; порівняти сервер файлів із сервером бази даних.
- •15. Пояснити призначення процедур, що зберігаються, тригерів, генераторів; привести приклади цих програм.
- •17. Розподілені бази даних: архітектура, механізми розподіленого зберігання даних; механізми і моделі реплікації; фрагментація баз даних.
- •18.Технології об’єктного зв’язування odbc, ole db, ado: організація доступу до даних, дати порівняльний аналіз роботи цих механізмів доступу.
- •19.Захист інформації в базах даних: пояснити за допомогою яких засобів підтримується безпека, перелічити основні моделі безпеки, привести приклади захисту інформації на мові sql.
- •20.Об’єктно-орієнтовані бази даних: склад та структура об’єктно-орієнтованої моделі, організація збереження даних та доступу до даних; об’єктно-реляційні бази даних.
- •21.Фізична організація баз даних: склад та структура, фізичне збереження даних у базі даних, багаторівнева організація пам’яті, кешування.
- •22.Пояснити необхідність застосування індексів у базах даних, склад та структура індексів, хешування, бінарні дерева, b–дерева.
- •23.Визначити цілісність бази даних; пояснити яким чином підтримується цілісність бази даних; які шляхи збереження цілісності при різних операціях по зміні даних у базі даних.
- •24.Технології створення баз даних за допомогою сучасних інструментальних засобів, перелічити послідовність робіт із створення локальної і серверної бази даних.
- •27. Інформаційні сховища: склад і структура, багатомірна модель даних, проектування багатомірних баз даних, застосування технологій olap для обробки даних.
- •Основные требования к данным в Хранилище Данных.
- •Многомерный подход
- •29. Інформаційне забезпечення автоматизованих систем: склад та структура інформаційного забезпечення, системи класифікації та кодування інформації.
- •30. База знань: склад і структура, головні відмінності від бази даних; моделі представлення знань, організація виведення в базах знань.
21.Фізична організація баз даних: склад та структура, фізичне збереження даних у базі даних, багаторівнева організація пам’яті, кешування.
Ф.О. складається з 3 складових: організація інформаційних масивів;організація пошукових структур (індексів);огранізація обміну інформації в системі.
Організація інформаційних масивів:
1.послідовна (записи послідовно)
2.організація у вигляді двосполученого списку
Є показник на попередній та наступний запис.
3.організація у вигляді зв»язаних блокыв записів
Читання і запис інф. Виконується блоками,вони мають фіксовану довжину ,блоки ще наз. Сторінками.
Вилучення інформ. Розрізняють:фізичне- фізично вилучається з ввнчестера;логічне- передбачає ,що фізично інф .залиш. на вінчестері ,а логічно до неї не можна отримати доступ.
Для кожного файлу даних зберігається мета-інформ.,де єдані про структуру файла. На рівні бд існує словник даних в якому збер.інф про всі атрибути ,тиблиці та їх обмеження.
Реляційні СУБД володіють рядом особливостей, що впливають на організацію зовнішньої пам'яті. До найбільш важливих особливостей можна віднести наступні:
1) Наявність двох рівнів системи: рівня безпосереднього керування даними в зовнішній пам'яті(керування буферами оперативної пам'яті, керування транзакціями й журналізацією змін БД) і мовного рівня (наприклад, рівня, реалізуючого мову SQL). При такій організації підсистема нижнього рівня повинна підтримувати в зовнішній пам'яті набір базових структур, конкретна інтерпретація яких входить до числа функцій підсистеми верхнього рівня.
2)Підтримка відношень-каталогів. Інформація, пов'язана з іменуванням об'єктів БД й їхніми конкретними властивостями(напри мір,структура ключа індексу), підтримується підсистемою мовного рівня. З погляду структур зовнішньої пам'яті відношення-каталог нічим не відрізняється від звичайного відношення БД .
3)Регулярність структур даних. Оскільки основним об'єктом реляційної моделі даних є плоска таблиця, головний набір об'єктів зовнішньої пам'яті може мати дуже просту регулярну структуру.
4)необхідно забезпечити можливість ефективного виконання операторів мовного рівня як над одним відношенням (прості селекція й проекція), так і над декількома відношеннями (найпоширеніше й трудомістко з'єднання декількох відносин). Для цього в зовнішній пам'яті повинні підтримуватись додаткові "керуючі" структури - індекси.
5)для виконання вимоги надійного зберігання БД необхідно підтримувати надмірність зберігання даних, що звичайно реалізується у вигляді журналу змін бази даних.
Відповідно виникають наступні різновиди об'єктів у зовнішній пам'яті бази даних:
1. рядки відношень - основна частина бази даних, здебільшого безпосередньо видима користувачам;
2. керуючі структури - індекси, створювані з ініціативи користувача (адміністратора) або верхнього рівня системи з міркувань підвищення ефективності виконання запитів і звичайно автоматично підтримувані нижнім рівнем системи;
3. журнальна інформація, підтримувана для задоволення потреби в надійному зберіганні даних;
4. службова інформація, підтримувана для задоволення внутрішніх потреб нижнього рівня системи (наприклад, інформація про вільну пам'ять).
Існують два принципових підходи до фізичного зберігання відносин. Найпоширенішим є покортежне зберігання відносин (кортеж є одиницею фізичного зберігання). Природно, це забезпечує швидкий доступ до цілого кортежу, але при цьому в зовнішній пам'яті дублюються загальні значення різних кортежей одного відношення й, загалом кажучи, можуть знадобитись зайві обміни із зовнішньою пам'яттю, якщо потрібна частина кортежу.
Альтернативним (менш розповсюдженим) підходом є зберігання відносини по стовпцях, тобто одиницею зберігання є стовпець відносини з виключеними дублікатами. При такій організації сумарно в середньому витрачається менше зовнішньої пам'яті, оскільки дублікати значень не зберігаються; за один обмін із зовнішньою пам'яттю в загальному випадку зчитується більше корисної інформації. Додатковою перевагою є можливість використання значень стовпця відносини для оптимізації виконання операцій з'єднання. Але при цьому вимагаються істотні додаткові дії для зборки цілого кортежу (або його частини).
До основних характеристик цієї організації можна віднести наступні:
1. Кожен кортеж має унікальний ідентифікатор (tid), не змінюваним під час всього існування кортежу.
2. Звичайно кожен кортеж зберігається цілком в одній сторінці. Отже, максимальна довжина кортежу будь-якого відношення обмежена розмірами сторінки. Застосовуються кілька методів для роботи з даними, які в принципі не містяться в одній сторінці. Найбільш простим рішенням є зберігання таких даних в окремі (поза базою даних) файлах із заміною "довгого" даного в кортежі на ім'я відповідного файлу. У деяких системах (наприклад, у передостанній версії СУБД Informix) такі дані зберігалися в окремому наборі сторінок зовнішньої пам'яті, зв'язаному фізичними посиланнями. Обидва ці рішення сильно обмежують можливість роботи з довгими даними. У цей час все частіше використовується метод, запропонований у проекті Exodus, коли "довгі" дані організуються у вигляді B-дерев послідовностей байтів.
3. Як правило, в одній сторінці даних зберігаються кортежі тільки одного відношення. Але існують варіанти з можливістю зберігання в одній сторінці кортежів декількох відношень. Це викликає деякі додаткові витрати по частині службової інформації (при кожному кортежі потрібно зберігати інформацію про відповідне відношення), але зате іноді дозволяє різко скоротити число обмінів із зовнішньою пам'яттю при виконанні з'єднань.
4. Зміна схеми збереженого відношення з додаванням нового стовпця не викликає потреби у фізичній реорганізації відносини. Досить лише змінити інформацію в описувачі відношення й розширювати кортежі тільки при занесенні інформації в новий стовпець.
Оскільки відносини можуть містити невизначені значення, необхідна відповідна підтримка на рівні зберігання,що досягається шляхом зберігання відповідної шкали при кожному кортежі, що у принципі може містити невизначені значення.
5. Проблема розподілу пам'яті в сторінках даних зв’язана із проблемами синхронізації й журналізації. Наприклад, якщо в ході виконання транзакції деяка сторінка даних спустошується,то її не можна перевести в статус вільних сторінок до кінця транзакції, оскільки при відкоті транзакції вилучені при прямому виконанні транзакції й відновлені при її відкоті кортежі повинні одержати ті ж самі ідентифікатори.
6. Розповсюдженим способом підвищення ефективності СУБД є кластеризація відношення за значеннями одного або декількох стовпців. Корисним для оптимізації з’єднань є спільна кластеризація декількох відносин.
7. З метою використання можливостей розпаралелювання обмінів із зовнішньою пам'яттю іноді застосовують схему декластеризованого зберігання відношення: кортежі із загальним значенням стовпця декластеризації розміщують на різних дискових пристроях,обміни з якими можна виконувати паралельно.
Зберігання відношення по стовпцях :основна ідея складається в спільному зберіганні всіх значень одного (або декількох) стовпців. Для кожного кортежу відношення зберігається кортеж того ж ступеня, що складає з посилань на місця розташування відповідних значень стовпців. Один із прийомів - вертикальний поділ відношень, коли в різних вузлах мережі зберігаються різні проекції даного відношення. Зберігання відношення по стовпцях у деякому змісті є граничним випадком вертикального поділу відношення.
Хеш. Загальною ідеєю методів хешування є застосування до значення ключа деякої функції згортки (хеш-функції), що виробляє значення меншого розміру. Згортка значення ключа потім використається для доступу до запису. У найпростішому, класичному випадку, згортка ключа використається як адреса в таблиці, що містить ключі й записи. Основною вимогою до хеш-функції є рівномірний розподіл значення згортки. При виникненні колізій (та сама згортка для декількох значень ключа) утворяться ланцюжки переповнення. Головним обмеженням цього методу є фіксований розмір таблиці. Якщо таблиця заповнена занадто сильно або переповнена,то виникне занадто багато ланцюжків переповнення й головна перевага хешування - доступ до запису майже завжди за одне звертання до таблиці - буде втрачено. Розширення таблиці вимагає її повної переробки на основі нової хеш-функції (зі значенням згортки більшого розміру).
Індекс. Загальною ідеєю будь-якої організації індексу, підтримуючого прямий доступ по ключу й послідовний перегляд у порядку зростання або зменшення значень ключа - зберігання впорядкованого списку значень ключа із прив'язкою до кожного значення ключа списку ідентифікаторів кортежів. Організація індексу відрізняється від іншої головним чином у способі пошуку ключа із заданим значенням. Найбільш популярним підходом до організації індексів у базах даних є використання техніки B-дерев. З погляду зовнішнього логічного подання B-дерево - це збалансоване сильно гіллясте дерево в зовнішній пам'яті.