Дати визначення часово-залежних даних
База часово-залежних даних (БЧЗД) – це така база даних, у якій зберігаються дані про динаміку ПО незалежно від технічних засобів роботи з нею і особливостей опрацювання даних. Тобто зміни у програмно-апаратному середовищі використання БД і дані про ПО з часом не повинні впливати на структурні зміни у БД.
Для організації БЧЗД проаналізовано ряд програмних технологій, які є застосовними для роботи з даними. Встановлено, що стандарти SQL та XML придатні для організації БЧЗД, оскільки вони широко використовуються, і ядро цих стандартів є незмінним упродовж тривалого часу. Об'єктно-орієнтовані БД є неприйнятними через значну технічну неоднорідність відповідних СКБД. Дослідження темпоральних баз даних (ТБД) переважно проводяться на теоретичному рівні у контексті побудови спеціалізованих СКБД, що не достатньо для організації баз даних як інформаційних продуктів. Для специфікації вимог до організації БЧЗД проведено класифікацію інформаційних систем, побудованих на основі баз даних. Встановлено, що лише за логічною організацією даних функціонування ІС залежить від інформаційного наповнення БД відповідно до БЧЗД.
51. Що таке модель даних?
Основою бази даних є модель даних — фіксована система понять і правил для представлення даних структури, стану і динаміки проблемної області в базі даних. У різний час послідовне застосування одержували ієрархічна, мережна і реляційнамоделі даних. У наш час усе більшого поширення набуває об'єктно-орієнтованийпідхід до організації баз даних ГІС.
розрізняють три основні типи логічних моделей даних залежно від характеру підтримуваних ними зв'язків між елементами даних - мережну, ієрархічну й реляційну. Ознаками класифікації у цих моделях є: ступінь твердості (фіксації) зв'язку, математичне подання структури моделі і припустимих типів даних (див. таблицю). Еквівалентність моделей полягає в тому, що вони можуть бути зведені одна до одної шляхом формальних перетворень.
ОСНОВНІ ТИПИ МОДЕЛЕЙ ДАНИХ
52. Описати поняття зведеності однієї моделі даних до іншої.
53. Що таке реляційна модель часово-залежних даних?
54. Що таке відношення часово-залежних даних?
55. Що таке кортеж відношення часово-залежних даних?
56. Що таке схема відношення часово-залежних даних?
1. Які особливості інформаційних відношень часово-залежних даних?
2. Як класифікуються відношення часово-залежних даних за наявністю часових атрибутів?
57. Що таке реляційна база часово-залежних даних та її схема?
Сьогодні процеси опрацювання залежних від часу даних переважно ґрунтуються на використанні баз даних реляційного типу. Однак технології застосування цих баз даних та відповідних програмних засобів (систем керування базами даних – СКБД) не забезпечують корисність даних, яка визначається якістю структури та інформаційного наповнення бази даних, бо вони у першу чергу направлені на забезпечення ефективного доступу до баз даних як інформаційного ресурсу залежно від особливостей предметної області та технічних умов функціонування. Оскільки бази залежних від часу даних необхідно розглядати в контексті побудови інформаційних ресурсів, придатних для довготривалого використання, тобто інформаційних продуктів, то їхня організація вимагає розроблення спеціальних методів інформаційного моделювання незалежно від конкретних програмних засобів доступу і опрацювання даних (А.О. Стогній). З огляду на це важливим є новий напрям науково-прикладних досліджень, який полягає у розробленні концепцій, наукових методів та засобів організації реляційних баз даних як інформаційних продуктів, а також у формалізації структури таких баз та визначенні нових вимог до якості їхньої організації. При цьому час як об'єктивний чинник, що не залежить від конкретної предметної області та технічних умов функціонування, характеризує організацію та використання цих баз даних.
Загалом наукові дослідження з урахування часу в базах даних ведуться у двох напрямах: побудова спеціальних темпоральних СКБД та інструментальних засобів аналізу, проектування і подання темпоральних баз даних. Перший напрям сформувався на основі досліджень моделей даних, зокрема реляційної моделі (Е. Кодд, Д. Мейєр, К. Дейт), реляційної моделі з гніздуванням, об'єктно-орієнтованої моделі. Він об'єднує дослідження темпоральних моделей даних, серед яких, залежно від базової моделі даних, виокремлюють три види: темпоральні реляційні моделі (Р. Снодґрас, К. Дженсен), темпоральні реляційні моделі з гніздуванням (А. Тансел), темпоральні об'єктно-орієнтовані моделі (А. Сеґев, Е. Скіоре). Одним із недоліків темпоральних баз даних є відсутність промислових темпоральних СКБД. Другий напрям ґрунтується на результатах досліджень побудови CASE-засобів аналізу і проектування реляційних баз даних (П. Чен, Р. Баркер), побудови XML-орієнтованих баз даних, підтримання обміну даних мовою XML тощо, а також темпоральних моделей даних. Цей напрям охоплює дослідження побудови CASE та XML засобів організації темпоральних баз даних на основі відповідної СКБД. Тобто урахування часу в базах даних досліджується переважно на теоретичному рівні у контексті побудови СКБД, і цього не достатньо для організації баз даних як інформаційних продуктів.
58. Що таке функціональна залежність даних?
На стадії логічного проектування реляційної БД розробник визначає й вибудовує схеми відношення у рамках деякої ПО, а саме - представляє сутності, групує їх атрибути, виявляє основні зв'язки між сутностями. Так, у найзагальнішому змісті проектування реляційної БД полягає в обґрунтованому виборі конкретних схем відношення з безлічі різних альтернативних варіантів схем.
На практиці побудова логічної моделі БД незалежно від моделі даних виконується з урахуванням двох
основних вимог: виключити надмірність і максимально підвищити надійність даних. Ці вимоги випливають з вимоги колективного використання даних групою користувачів.
Тому будь-яке апріорне знання про обмеження ПО, що накладають на взаємозв'язки між даними й значення даних, і знання про їх властивості і взаємини між ними може зіграти певну роль у дотриманні зазначених вище вимог. Формалізація таких апріорних знань про властивості даних ПО БД знайшла своє відображення у концепції функціональної залежності даних, тобто обмежень на можливі взаємозв'язки між даними, які можуть бути поточними значеннями схеми відношень.
59. Які є типи функціональних залежностей для відношень часово-залежних даних?
Будемо розглядати такі типи функціональних залежностей: 1. Традиційні залежності. 2. Локальні та сильні часові залежності. 3. Синхронність атрибутів. Про традиційні функціональні залежності доцільно вести мову лише стосовно атрибутів ідентифікаторів об’єктів G, оскільки ЧЗД- відношення з означення 3.4 можна розглядати як традиційні з одним елементом гніздування. Приклад 3.23. У ЧЗД-відношенні Оцінки з табл. 3.1 (див. приклад 3.1) виконується традиційна функціональна залежність для ідентифікаторів об’єктів Студент→Група. Локальні та сильні функціональні залежності стосуються істо- ричних кортежів (тобто атрибутів подій та часових атрибутів), а синх- ронність характерна лише для атрибутів подій.
60. Які є типи ключів для відношень часово-залежних даних?
Ключі дають змогу однозначно ідентифікувати кортежі традиційних відношень. Наявність тих чи інших ключів інформаційної схеми визначається потребами конкретної ПО, що моделюється за допомогою бази даних. Оскільки для ЧЗД-відношень ми виокремити декілька типів функціональних залежностей, то за аналогією розрізнятимемо такі типи ключів:
1. Традиційні ключі.
2. Локальні та сильні часові ключі.
Про традиційні ключі говоритимемо лише стосовно атрибутів ідентифікаторів об’єктів G.
61. Що таке нормальна форма відношення часово-залежних даних?
62. Які є типи функціональних залежностей для відношень часово-залежних даних?
За наявністю часових атрибутів відношення поділяються на традиційні та ЧЗД-відношення. Традиційні відношення мають схему R110=(G,XA) або її частинні випадки. Традиційні відношення не мають часових атрибутів, які б визначали історичні кортежі. ЧЗД-відношення, окрім загального випадку, поділяються на такі:
· Без атрибутів подій – R101=(G;|XT+) – об'єктна часова вісь.
· Без атрибутів-ідентифікаторів об'єктів – R011=(XA|XT+) – часовий ряд.
· Без атрибутів подій та ідентифікаторів об'єктів – R001=(|XT+) – часова вісь.
Також ЧЗД-відношення відрізняються за наявністю часових атрибутів і періодів активації.
63. Які є типи ключів для відношень часово-залежних даних?
Оскільки у метамоментній часовій реляційній моделі ми виділили декілька нових типів функціональних залежностей, то за аналогією будемо розрізняти такі типи ключів:
1. Традиційні ключі.
2. Локальні та сильні часові ключі.
Про традиційні ключі будемо говорити лише стосовно атрибутів ідентифікаторів об'єктів G.
Приклад 3.24. У ЧЗД-відношенні Оцінки з табл. 3.1 (див. приклад 3.1) атрибут Студент є традиційним ключем, оскільки виконується традиційна функціональна залежність Студент→(Студент, Група). Наявність такого ключа означає, що для ідентифікації кортежів ЧЗД-відношення Оцінки достатньо одного атрибута Студент, а не пари →(Студент, Група).
Локальні та сильні ключі стосуються атрибутів подій та часових атрибутів.
64. Що таке нормальна форма відношення часово-залежних даних?
Нормальні форми характеризують “оптимальні” інформаційні схеми відношень, які не містять різні аномалії та надлишкові дані. Розроблено достатньо нормальних форм для реляційної моделі даних. Серед них класичними вважаються перша, друга, третя нормальні форми та нормальна форма Бойса-Кодда [18, 72]. Нормальні форми для темпоральних баз даних, зокрема, розглядалися у статті [186]. Однак специфікою будь-яких пропозицій щодо нормалізації є їхня жорстка прив'язаність до моделі даних. Тому нові підходи до визначення функціональних залежностей, розроблені у цій роботі, породжують нові визначення ключів та формулювання нормальних форм у метамоментній часовій реляційній моделі. Будемо розглядати інформаційну схему Â={R;P;S;Ω} та довільне інформаційне ЧЗД-відношення r зі схемою Â. Якщо інформаційна схема не перебуває в одній з часових нормальних форм (крім першої), то вона оптимізується за допомогою декомпозиції [18, 72]. Тобто інформаційна схема ділиться на декілька схем, кожна з яких перебуває у відповідній нормальній формі.
66. Яке призначення SELECT-запитів в SQL?
Цей запит традиційно використовується для:
· Формування звітів на основі вибірок з умовами;
· Формування аналітичних звітів на основі агрегованих даних;
· Тиражування даних в розподілених середовищах і наповнення нових баз даних.
67. Яка структура SELECT-запитів в SQL?
SELECT список результуючих стовпчиків
FROM список таблиць-джерел даних
WHERE умова виводу стрічок;
Ключове слово SELECT означає запит на подання інформації. Вона буде подана у вигляді результуючої таблиці стрічки якої задовольнятимуть умові. Стовпчики, на основі яких формуються результуючі або перевіряється умова, повинні належати таблицям перерахованим у списку.
Якщо список результуючих стовпчиків співпадає із списком єдиної таблиці-джерела, то такий список зручно представляти у скороченому вигляді за допомогою зірочки - *.
Порядок результуючих стовпчиків може бути довільним
SELECT name, surname
FROM student;
68. Описати частини SELECT-запитів в SQL?
Усунення дублювання в виводі - DISTINCT
Для виключення із результату SELECT- запиту повторів використовується ключове слово DISTINCT (відмінний). Наприклад сформувати список міст можна наступним запитом
SELECT DISTINCT city
FROM student;
Логічні оператори AND, OR, NOT
В умові WHERE можна використовувати операції порівняння
= > >= < <= < >
та логічні операції
AND, OR, NOT.
Наприклад:
SELECT surname, name, city
FROM student
WHERE city= "Луцьк" AND birthday > '1990-12-25' ;
Оператор належності IN
Оператори IN (рівний довільному елементу із списку) і NOT IN (не рівний жодному елементу із списку) дозволяють ускладнювати умови відбору результуючих стрічок.
Наприклад, вибрати студентів окремих міст
SELECT *
FROM exam_marks
WHERE city IN ("Київ", "Львів");
або тих студентів, які не отримували ніколи деяких оцінок
SELECT *
FROM exam_marks
WHERE mark NOT IN (3, 5);
Оператор діапазону BETWEEN
Оператор BETWEEN дозволяє перевірити входження елемента в заданий інтервал із його межами включно
SELECT *
FROM subject
WHERE city BETWEEN "К" AND "М";
Оператор подібності LIKE
Пошук стрічкових значень по заданому зразку, який використовує символи: “_” – наявність, у вказаному місці одного довільного символу, •“%” - наявність, у вказаному місці довільної послідовності символів. Цей засіб часто використовують для вибору слів, що починаються на певну букву
SELECT *
FROM student
WHERE surname LIKE ”П%”;
Також ми можемо відбирати слова, деякі символи в яких пишуться неоднозначно, наприклад
SELECT *
FROM subject
WHERE subj_name LIKE ”Комп_ютер%”;
Оператор впорядкування ORDER BY
Оператор ORDER BY використовується для впорядкування стрічок результуючої таблиці за значеннями деякого стовпчику або стовпчиків. Можна також вказати вид впорядкування за зростанням (ASC) або за спаданням (DESC). Зростаюче впорядкування застосовується за замовчуванням, наприклад
SELECT *
FROM student
ORDER BY city;
Зворотнє впорядкування забезпечується наступним чином:
SELECT *
FROM student
ORDER BY city DESC;
69. Які переваги використання шаблонів SQL-запитів?
Порівнюючи пряме виконання SQL-запиту Підготовлений Вираз має дві основні переваги:
- Підготовлений Вираз знижує час парсингу(аналізу), так як підготовка запиту виконана лише один раз (хоча запит виконується декілька раз).
- Зв'язані параметри зменшують навантаження на сервер, поскільки Вам потрібно відправляти кожен раз лише параметри, а не весь запит.
- Підготовлений Вираз буде ефективним проти SQL-ін'єкцій, тому що значення параметрів, що будуть пізніше передаватись використовують різний протокол передачі даних. Якщо шаблон SQL-виразу не побудований, застосовуючи зовнішнє введення даних, то виключається імовірність SQL-ін'єкції.