- •Інформаційна система, її архітектура та життєвий цикл.
- •Характеристика моделей даних (реляційна, пост реляційна, багатовимірна, ієрархічна, мережева, об’єктно-орієнтована).
- •Характеристика реляційної структури даних (заголовок та тіло таблиці, типи даних, поняття домену).
- •Зв’язування таблиць та контроль цілісності зв’язків.
- •Загальна характеристика мови структурованих запитів sql. Синтаксис команди select.
- •Групування записів та використання агрегуючих функцій мови sql.
- •Команди мови sql, призначені для додавання, видалення, модифікації даних.
- •Використання підпорядкованих запитів в мові sql.
- •Організація внутрішнього рівня субд (сторінкова організація файлів, індекси, хешування, кластеризація).
- •Характеристика розподілених баз даних та моделі «клієнт–сервер».
- •Типи гіс та вкажіть галузі їх використання.
- •Просторові, тематичні, часові, асоціативні характеристики просторових об’єктів в гіс.
- •Способи організації просторової інформації у гіс.
- •Векторне представлення просторових об’єктів в гіс.
- •Растрова модель інформації та ієрархічні моделі растрових файлів (пірамідальні та квадротомічні).
- •Технології шифрування вхідних даних в геоінформатиці.
- •Автоматизоване введення даних
- •Апаратне дигітизування
- •Екранне дигітизування
- •Автозахоплення і автотрасування
- •Редагування існуючих картографічних об'єктів
- •Введення і редагування з використанням існуючих графічних об'єктів
- •Групове редагування
- •Контроль якості створення цифрових карт
- •Застосування в гіс даних аерокосмічного знімання.
- •Методика побудови моделі поверхні та аналіз поверхонь в гіс (визначення ухилу, азимуту та експозиції схилу, форми, взаємної видимості).
- •Зміст оверлейного аналізу в гіс, накладання просторових даних у растровому та векторному форматах.
- •Способи подання інформації за допомогою тематичних карт.
Використання підпорядкованих запитів в мові sql.
Пiдпорядкований запит — це додатковий метод манiпулювання декiлькома таблицями. Це оператор SELECT, вкладений:
◦ в WHERE-умову, HAVING-умову iншого оператора SELECT;
◦ в оператори INSERT, UPDATE, DELETE;
◦ в iнший пiдпорядкований запит.
Саме можливiсть вкладеностi операторiв SQL один в одний є причиною, за якою SQL був початково названий мовою структурованих запитiв.
Iнодi буває потрiбно порiвняти значення в певних стовпцях однiєї таблицi зi списком значень в iншiй таблицi. В таких випадках використовується ключове слово IN та пiдпорядкований запит. Нехай, наприклад, ми бажаємо дізнатися якi товари брали участь в поставках. Найпростiше це зробити, вибравши з таблицi Товари тi записи, для яких значення поля ID зустрiчається серед значень поля КодТовару таблицi Поставки, що реалiзує наступний запит:
SELECT *
FROM Товари
WHERE ID IN (SELECT КодТовару FROM Поставки)
Тут (SELECT КодТовару FROM Поставки) є пiдпорядкованим запитом, який, очевидно, повертає набiр значень з поля КодТовару. Вираз вигляду
WHERE Значення IN НабiрЗначень
служить умовою вiдбору записiв з таблицi (в даному випадку вiдбираються записи з таблицi Товари). В якостi набору значень може виступати як пiдпорядкований запит, який повертає таблицю з однiєї колонки, так i явно заданий список значень, наприклад:
SELECT *
FROM Товари
WHERE ID IN (1, 2, 3)
Нехай ми бажаємо вивести iнформацiю про товари, якi поставлялися в магазини бiльше одного разу. Спочатку напишемо запит, який на основi таблиці Поставки пiдрахує, скiльки разiв поставлявся кожний вид товару. Для цього, очевидно, потрiбно згрупувати записи таблицi Поставки за полем КодТовару та за допомогою функцiї COUNT порахувати кiлькiсть записiв в кожнiй групi:
SELECT КодТовару, COUNT(*)
FROM Поставки
GROUP BY КодТовару
Вдосконалимо цей запит, а саме: накладемо HAVING-умову, яка вiдбере лише тi групи, в яких потрапило >1 записiв.
SELECT КодТовару
FROM Поставки
GROUP BY КодТовару
HAVING COUNT(*)>1
Нарештi, останнiй крок — включити цей запит в якостi пiдпорядкованого
SELECT *
FROM Товари
WHERE ID IN (SELECT КодТовару
FROM Поставки
GROUP BY КодТовару
HAVING COUNT(*)>1)
Пiдпорядкованi запити зручнi для порiвняння деяких значень iз значеннями, отриманими в результатi виконання iншого запиту.
Організація внутрішнього рівня субд (сторінкова організація файлів, індекси, хешування, кластеризація).
СУБД – прикладна програма, яка потребує обслуговування, необхідними сервісом є обробка фізичних файлів. При записі і зчитуванні даних з диску комп’ютер оперує не просто потоком байтів, а дані зчитуються і записуються сегментами фіксованого розміру, які називаються сторінками. Таким чином одиницею вводу і зчитування є сторінка. У кожної сторінки, що зберігається на диску, є PageID, яка показує де саме вона зберігається. Це дозволяє записувати оновлені сторінки на те саме місце звідки вона була зчитана. Файл – це набір сторінок. Щоб створити файл необхідно декілька сторінок. При створенні файлу файлова система повинна запросити у програми управління дисковою пам’ятью необхідну кількість сторінок, даному набору присвоюється PageSetId, кожній сторінці даного набору дається певний логічний ID.
СУБД взаємодіє з файловою системою. Логічні елементи даних, відношення, об’єкти, набори записів і т.п. СУБД перетворює в запити даних з деяких файлів системи-хоста. В свою чергу, файлова система відображає їх в запити сторінок з деякого набору. Коли файлова система передає СУБД вказану сторінку, СУБД перетворює отримані дані в необхідну користувачеві логічну форму. Ця логічна форма – самий нижчий рівень представлення, доступний користувачеві бази даних.
Індекси баз даних служать важливим засобом прискорення доступу до множини записів. Вони особливо корисні в реляційних системах, де рядки таблиць зберігаються в довільній послідовності. Індекс – впорядкована множина значень. В індексі бази даних перераховані значення деякого атрибуту разом із покажчиками сторінок бази даних, що містять рядки, де зустрічаються відповідні значення. Швидкість зчитування індексів визначається не тільки їх відносно невеликими розмірами, але й упорядкованістю. Після того, як необхідне значення в індексі знайдено і вилучено множини адресів сторінок, пошук завершується, і продовжувати зчитування індексів немає необхідності. Індекс організований у вигляді дерева, створених з сторінок двох типів. На нижчому рівні знаходиться послідовна множина сторінок, що містять вказівники блоків даних, в яких зберігаються записи із заданими значеннями індексу. Вище послідовної множини розміщена індексна множина сторінок – індекс індексу.
Хешування дозволяє безпосередньо визначати адрес сторінки, що містить заданий запис, без властивих індексам незручностей. Щоб визначити, де зберігається деякий елемент, використовуються зв’язані з ним значення даних. Як правило, для хешування використовується значення потенційного ключа. Хешування – перетворення ввідного масиву даних довільної довжини в вихідну бітову стрічку фіксованої довжини. Такі перетворення також називаються хеш-функціями або функціями звернення, а їх результати називають мешем.
Кластеризація бази даних – це такий метод збереження даних, коли їх фізична організація відображає деякий логічний порядок. Кластер – обєднання декількох однорідних елементів, які можуть розглядатися як самостійна одиниц, які притаманні деякі властивості.
Існує дві форми кластеризації:
Внутрішньофайлова – створення кластерів всередині деякого логічного файлу.
Міжфайлова – коли на одній фізичній сторінці зберігається записи із декількох логічних файлів бази даних.