
- •Т_т Питання (бд) т_т
- •1. Інформація, дані, знання, аспекти роботи з даними. 1.1. Інформація, дані, знання
- •1.2. Аспекти роботи з даними
- •2. Поняття про інформаційні технології.
- •1.3. Поняття про інформаційні технології
- •3. Особливості та завдання іс.
- •1.4. Особливості та завдання іс Особливості інформаційних систем
- •Завдання інформаційних систем
- •4. Файлові інформаційні системи (фіс).
- •1.6. Файлові інформаційні системи (фіс)
- •5. Ідея скбд, відміни від фіс.
- •1.7. Ідея скбд, відміни від фіс
- •6. Визначення банку даних. Вимоги до БнД.
- •1.8. Визначення банку даних (БнД). Вимоги до БнД
- •7. Переваги централізації керування даними.
- •1.9. Переваги централізації керування даними
- •8. Життєвий цикл інженерного виробу.
- •2.1. Життєвий цикл інженерного виробу
- •9. Моделі життєвого циклу розробки іс (задачна модель, каскадна модель, спіральна модель).
- •2.2. Моделі життєвого циклу розробки іс
- •2.3. Задачна модель
- •2.4. Каскадна модель
- •2.5. Спіральна модель
- •10. Загальна технологія створення іс та ас.
- •2.6. Загальна технологія створення іс та ас
- •11. Основи побудови банків даних БнД.
- •2.7. Основи побудови банків даних БнД
- •Архітектура БнД
- •12. Підприємство як відкрита система. Метаболізм підприємства.
- •3.1. Підприємство як відкрита система. Метаболізм підприємства
- •13. Моделювання за допомогою діаграм потоків даних та подій (Data Flow Diagrams).
- •3.2. Моделювання за допомогою діаграм потоків даних та подій (Data Flow Diagrams)
- •Зовнішні сутності
- •Системи і підсистеми. Процеси
- •Накопичувачі даних
- •Потоки даних
- •Побудова ієрархії діаграм потоків даних Діаграма потоків даних dfd0
- •Діаграма потоків даних dfd1
- •Діаграма потоків даних dfd2
- •14. Матриці подій.
- •3.3. Матриці подій
- •15. Історичний розвиток технології sadt.
- •4.1. Історичний розвиток технології sadt
- •16. Склад функціональної моделі, ієрархія діаграм, типи зв’язків між функціями.
- •4.2. Склад функціональної моделі
- •4.3. Ієрархія діаграм
- •4.4. Типи зв'язків між функціями
- •(0) Тип випадкової зв'язності
- •(1) Тип логічної зв'язності
- •(2) Тип тимчасової зв'язності
- •(4) Тип комунікаційної зв'язності
- •(5) Тип послідовної зв'язності
- •(6) Тип функціональної зв'язності
- •17. Поняття моделі даних (мд). Сильно і слабкоструктуровані мд.
- •5.1. Поняття моделі даних (мд). Сильно і слабкоструктуровані мд
- •18. Модель «сутність-зв’язок».
- •5.2. Модель «Сутність - зв'язок»
- •19. Типи зв’язків.
- •5.3. Типи зв'язків
- •20. Степені зв’язку, залежність по коду.
- •5.4. Степені зв’язку, залежність по коду
- •Залежність за кодом
- •22. Композиція зв’язків.
- •5.6. Композиція зв'язків
- •23. Типи і підтипи (ролі).
- •5.7. Типи і підтипи
- •24. Поняття життєвого циклу об’єкта (екземпляр сутності). Початок, кінець, координація жц.
- •5.8. Поняття життєвого циклу об'єкта (екземпляр сутності). Початок, кінець, координація жц
- •25. Обмеження цілісності, бізнес-правила.
- •5.9. Обмеження цілісності. Бізнес-правила
- •Бізнес-правила
- •26. Локальні інфологічні моделі.
- •5.10. Локальні інфологічні моделі
- •27. Побудова глобальної інфологічної моделі.
- •5.11. Побудова глобальної інфологічної моделі
- •28. Базові поняття реляційних баз даних.
- •6.1. Базові поняття реляційних баз даних
- •Тип даних
- •Кортеж, відношення
- •Фундаментальні властивості відношень
- •29. Реляційна модель даних.
- •6.2. Реляційна модель даних
- •Цілісність сутності та посилань
- •Базисні засоби маніпулювання реляційними даними
- •30. Реляційна алгебра та її операції.
- •6.3. Реляційна алгебра та її операції
- •Загальна інтерпретація реляційних операцій
- •Замкнутість реляційної алгебри і операція перейменування Особливості теоретико-множинних операцій реляційної алгебри
- •Спеціальні реляційні операції
- •Операція обмеження
- •Операція взяття проекції
- •Операція з'єднання відношень
- •Операція поділу відношень
- •31. Реляційне числення на кортежах.
- •6.4. Реляційне числення на кортежах
- •Кортежні змінні та правильно побудовані формули
- •Цільові списки і вирази реляційного обчислення
- •32. Реляційне числення на доменах.
- •6.5. Реляційне числення на доменах
- •33. Аномалії та їх види.
- •7.2. Аномалії та їх види
- •Аномалія вставки (insert)
- •Аномалія оновлення (update)
- •Аномалія видалення (delete)
- •Перша нормальна форма
- •Друга нормальна форма
- •Третя нормальна форма
- •Нормальна форма Бойса-Кодда
- •Четверта нормальна форма
- •П'ята нормальна форма
- •36. Ієрархічна мд.
- •8.1. Ієрархічна мд
- •Ієрархічна структура даних
- •Операції над ієрархічною структурою
- •Вибирання даних
- •Маніпулювання даними
- •Переваги та недоліки ієрархічної моделі
- •37. Мережна мд.
- •8.2. Мережна мд
- •Мережна структура даних
- •Операції над мережною структурою
- •Переваги та недоліки мережної моделі
- •38. Визначення банку даних (БнД).
- •9.1. Визначення банку даних (БнД)
- •39. Вимоги до БнД.
- •9.2. Вимоги до БнД
- •40. БнД як автоматизована система. Види забезпечення.
- •9.3. БнД як автоматизована система. Види забезпечення
- •41. Архітектура БнД.
- •9.4. Архітектура БнД
- •42. Адміністратор бд і його функції.
- •9.5. Адміністратор бд і його функції
- •43. Довідник даних.
- •9.6. Довідник даних
- •45. Централізація і децентралізація процесів обробки даних.
- •9.8. Централізація і децентралізація процесів обробки даних
- •46. Історія, роль та значення мови sql.
- •10.1. Історія, роль та значення мови sql
- •47. Мови опису даних і маніпулювання даними.
- •10.2. Мови опису даних і маніпулювання даними
- •Мова визначення даних
- •Мова маніпулювання даними
- •Мова керування даними
- •48. Реляційні операції, як команди мови маніпулювання даними.
- •10.3. Реляційні операції, як команди мови маніпулювання даними
- •Операція вибірки (обмеження)
- •Операція проекції
- •Операція з'єднання
- •Операція об'єднання
- •Операція перетину
- •Операція різниці
- •Операція поділу
- •Операція декартового добутку
- •Оператор rename
- •49. Віртуальні атрибути і таблиці.
- •10.4. Віртуальні атрибути і таблиці
- •50. Приклади використання операторів Insert, Update та Delete.
- •10.5. Приклади використання операторів Insert, Update та Delete
- •Insert - вставка рядків у таблицю
- •Update - оновлення рядків у таблиці
- •Delete - видалення рядків в таблиці
- •51. Тригери та цілісність посилання.
- •13.1. Тригери та цілісність посилання
- •Доступ до старих і нових значень рядків
- •Тригери й транзакції
- •Вкладеність тригерів
- •Тригер для View
- •52. Збереженні процедури.
- •13.2. Збереженні процедури
- •53. Використання курсорів.
- •13.3. Використання курсорів
- •54. Usability, значення і міфи.
- •17.1. Usability, значення і міфи
- •55. Проблеми проектування інтерфейсів користувача (ік).
- •17.2. Проблеми проектування інтерфейсів користувача (ік)
- •Методологічні основи ік
- •Узагальнена структура інформації для проектування інтерфейсу ас:
- •Хто може проектувати ік
- •Нормативно-технічна база – стандарти ік
- •Стилі інтерфейсу
- •56. Вимоги до ік. Принципи реалізації інтерфейсу.
- •17.3. Вимоги до ік. Принципи реалізації інтерфейсу
- •57. Етапи проектування ік.
- •17.4. Етапи проектування ік
- •Аналіз діяльності користувача
- •Поопераційний аналіз ефективності ік
- •58. Методи і критерії оцінки ік.
- •17.5. Методи і критерії оцінки ік
- •Цілі та критерії оцінки користувацького інтерфейсу
- •10 Правил по проектуванню якісних ік (по David f. Kelly):
- •59. Структура зовнішньої пам’яті.
- •18.1. Структура зовнішньої пам’яті Особливості реляційних скбд
- •Набір базових структур
- •60. Зберігання таблиць.
- •18.2. Зберігання таблиць
- •61. Індекси та в-дерева.
- •18.3. Індекси та в-дерева
- •Інвертовані списки
Спеціальні реляційні операції
У цьому підрозділі ми трохи докладніше розглянемо спеціальні реляційні операції реляційної алгебри: обмеження, проекція, з'єднання і поділ.
Операція обмеження
Операція обмеження A WHERE c вимагає наявності двох операндів: відношення, що обмежується і умови обмеження. Проста умова обмеження може мати вид:
a comp-op b,
де а і b - назви атрибутів відношення, яке обмежується, для яких осмислена операція порівняння comp-op, або вид
a comp-op const,
де a - назва атрибута з відношення, що обмежується, а const - літерально задана константа.
На інтуїтивному рівні операцію обмеження найкраще представляти, як взяття деякої «горизонтальної» (може з пропусками) вирізки з операнда-відношення (рис. 6.4.).
Рис. 6.4. Обмеження відношення
Операція взяття проекції
Операція взяття проекції PROJECT A {a1, a2, …, an} також вимагає наявності двох операндів - відношення A, яке проектується і списку назв атрибутів, що входять в заголовок відношення A. Результатом проекції відношення A за списком атрибутів a1, a2, ..., am є нове відношення, з заголовком, який визначається множиною атрибутів {a1, a2, ..., am}, і з тілом, що складається з кортежів виду <a1: v1, a2: v2, ..., am: vm> таких, що відносно A є кортеж, атрибут a1 якого має значення v1, атрибут a2 має значення v2, ..., атрибут am має значення vm.
Якщо сказати простою мовою: потрібно з відношення А видалити «зайві» атрибути (стовпці), які не входять до {a1, a2, ..., am}. А потім видалити кортежі-дублікати (рядки, що повторюються) (рис. 6.5.).
Рис. 6.5. Проекція відношення на три атрибута
Операція з'єднання відношень
Загальна операція з'єднання (що також називається з'єднанням за умовою) вимагає наявності двох операндів - з'єднуються два відношення і третього операнда - простої умови. Нехай з'єднуються відношення A і B. Як і у випадку операції обмеження, умова з'єднання comp має вигляд або
(a comp-op b),
або
(a comp-op const),
де a і b - назви атрибутів відношень A і B, const - літерально задана константа, а comp-op - допустима в даному контексті операція порівняння. Тоді за визначенням результатом операції порівняння є відношення, що отримується шляхом виконання операції обмеження за умовою comp прямого добутку відношень A і B.
Якщо уважно осмислити це визначення, то стане ясно, що в загальному випадку застосування умови з'єднання істотно зменшить потужність результату проміжного прямого добутку операндів-відношень тільки в тому випадку, коли умова з'єднання має вигляд
(a comp-op b),
де a і b - назви атрибутів різних операндів-відношень. Тому на практиці звичайно вважають реальними операціями з'єднання саме ті операції, які грунтуються на умові з'єднання наведеного вигляду.
Для прикладу розглянемо результат, отриманий в табл. 6.3. та накладемо на нього нову умову, що код студента повинен бути непарним числом (табл. 6.4.).
Таблиця 6.4. З'єднання відношень за умовою
Код навчальної групи |
Назва групи |
Код студента |
ПІБ |
500 |
КА-01 |
1 |
Рубан Ілля Сергійович |
500 |
КА-01 |
3 |
Земляний Кирило Дмитрович |
600 |
КА-02 |
1 |
Рубан Ілля Сергійович |
600 |
КА-02 |
3 |
Земляний Кирило Дмитрович |
Хоча операція з'єднання в нашій інтерпретації не є примітивною (оскільки вона визначається з використанням прямого добутку і обмеження), в силу особливої практичної важливості вона включається в базовий набір операцій реляційної алгебри.
Існує важливий окремий випадок з'єднання - еквіз'єднання і просте, але важливе розширення операції еквіз'єднання - природне з'єднання. Операція з'єднання називається операцією еквіз'єднання, якщо умова з'єднання має вигляд (x = y), де x і y - назви різних операндів з'єднання. Цей випадок важливий тому, що він часто зустрічається на практиці та для нього існують ефективні алгоритми реалізації. Позначається еквіз'єднання:
A[x=y]B.
Розглянемо приклад еквіз'єднання відношень ГРОМАДЯНСТВО (табл. 6.5.) та МІСЦЕ_РОБОТИ (табл. 6.6.).
Таблиця 6.5. Відношення ГРОМАДЯНСТВО
ПІБ |
Громадянство |
Даниленко |
Україна |
Палій |
Португалія |
Бондаренко |
Германія |
Таблиця 6.6. Відношення МІСЦЕ_РОБОТИ
ПІБ |
Місце роботи |
Даниленко |
Італія |
Палій |
Іспанія |
Бойко |
Австрія |
Результуюче відношення (за умовою рівності атрибутів «ПІБ» в обох відношеннях) отримали у табл. 6.7.
Таблиця 6.7. Еквіз'єднання відношень
ПІБ |
Громадянство |
ПІБ |
Місце роботи |
Даниленко |
Україна |
Даниленко |
Італія |
Палій |
Португалія |
Палій |
Іспанія |
Недоліком еквіз'єднання є те, що якщо з'єднання відбувається по атрибутам з однаковими найменуваннями (а так найчастіше і відбувається!), То результуюче відношення має два атрибути з однаковими значеннями, що повторюються. Позбутися від цього недоліку можна, взявши проекцію по всім атрибутам, крім одного з дублюючих. Саме так робить природне з'єднання.
Операція природного з'єднання застосовується до пари відношень A(a1, a2, ..., an - 1, z) та B(b1, b2, ..., bn - 1, z), які обидва мають загальний атрибут z (тобто атрибут з однією і тією ж назвою і визначений на одному і тому ж домені). Природне з'єднання A і B - нове відношення С(a1, a2, ..., an - 1, z, b1, b2, ..., bn - 1), яке складається з кортежів, таких що (a1, a2, ..., an - 1, z) є A та (b1, b2, ..., bn - 1, z) є B.
Природне з'єднання настільки важливе, що для нього використовують спеціальний синтаксис:
A JOIN B
У синтаксисі природного з'єднання не вказуються, за яким атрибутам проводиться з'єднання. Природне з'єднання проводиться по всіх однаковим атрибутам. Природне з'єднання еквівалентно наступній послідовності реляційних операцій:
Перейменувати однакові атрибути у відношеннях.
Виконати декартовий добуток відношень.
Виконати вибірку по співпадаючим значенням атрибутів, що мали однакові назви.
Виконати проекцію, видаливши атрибути, які повторюються.
Перейменувати атрибути, повернувши їм початкові назви.
Природне з'єднання (як, і з'єднання загального вигляду) має властивість асоціативності, тому можна виконувати послідовне природне з'єднання декількох відношень:
(A JOIN B) JOIN C = A JOIN (B JOIN C),
тому такі з'єднання можна записувати, опускаючи дужки:
A JOIN B JOIN C.
Для розглянутих вищє відношень ГРОМАДЯНСТВО (табл. 6.1.) та МІСЦЕ_РОБОТИ (табл. 6.2.) виконаємо природне з'єднання (табл. 6.4.).
Таблиця 6.4. Природне з'єднання відношень
ПІБ |
Громадянство |
Місце роботи |
Даниленко |
Україна |
Італія |
Палій |
Португалія |
Іспанія |
Якщо згадати введене нами в кінці попередньої глави визначення зовнішнього ключа відношення, то має стати зрозуміло, що основний зміст операції природного з'єднання - можливість відновлення складної сутності, декомпозованої через вимоги першої нормальної форми.