
- •Т_т Питання (бд) т_т
- •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. Індекси та в-дерева
- •Інвертовані списки
Третя нормальна форма
Розглянемо ще раз відношення СПІВРОБІТНИКИ-ВІДДІЛИ, що знаходиться в 2NF. Зауважимо, що функціональна залежність СПІВРОБІТНИК_НОМЕР (r) СПІВРОБІТНИК_ЗАРПЛАТНЯ є транзитивним; воно є наслідком функціональних залежностей СПІВРОБІТНИК_НОМЕР (r) ВІДДІЛ_НОМЕР і ВІДДІЛ_НОМЕР (r) СПІВРОБІТНИК_ЗАРПЛАТНЯ. Іншими словами, заробітна плата співробітника насправді є характеристикою не співробітника, а відділу, в якому він працює (це не дуже природне припущення, але достатнє для прикладу).
В результаті ми не зможемо занести в базу даних інформацію, що характеризує заробітну плату відділу, до тих пір, поки в цьому відділі не з'явиться хоча б один співробітник (первинний ключ не може містити невизначене значення). При видаленні кортежу, що описує останнього співробітника даного відділу, ми втратимо інформацію про заробітну плату відділу. Щоб узгодженим чином змінити заробітну плату відділу, ми будемо змушені попередньо знайти всі кортежі, що описують співробітників цього відділу. Тобто у відношенні СПІВРОБІТНИКИ-ВІДДІЛИ як і раніше існують аномалії. Їх можна усунути шляхом подальшої нормалізації.
Визначення 7. Третя нормальна форма. (Знову визначення дається в припущенні існування єдиного ключа). Відношення R знаходиться в третій нормальній формі (3NF) в тому і тільки в тому випадку, якщо перебуває в 2NF і кожен з неключових атрибутів нетранзитивно залежить від первинного ключа.
Можна провести декомпозицію відношення СПІВРОБІТНИКИ-ВІДДІЛИ в два відношення СПІВРОБІТНИКИ і ВІДДІЛИ:
СПІВРОБІТНИКИ (СПІВРОБІТНИК_НОМЕР, ВІДДІЛ_НОМЕР)
Первинний ключ: СПІВРОБІТНИК_НОМЕР
Функціональні залежності: СПІВРОБІТНИК_НОМЕР (r) ВІДДІЛ_НОМЕР
ВІДДІЛИ (ВІДДІЛ_НОМЕР, СПІВРОБІТНИК_ЗАРПЛАТНЯ)
Первинний ключ: ВІДДІЛ_НОМЕР
Функціональні залежності: ВІДДІЛ_НОМЕР (r) СПІВРОБІТНИК_ЗАРПЛАТНЯ
Кожне з цих двох відношень знаходиться в 3NF і вільно від зазначених аномалій.
Якщо відмовитися від того обмеження, що відношення має єдиний ключ, то визначення 3NF прийме наступну форму:
Визначення 7~. Відношення R знаходиться в третій нормальній формі (3NF) в тому і тільки в тому випадку, якщо перебуває в 2NF, і кожен з неключових атрибутів не є транзитивно залежним від будь-якого ключа R.
На практиці третя нормальна форма схем відношень достатня в більшості випадків, і приведенням до третьої нормальної форми процес проектування реляційної бази даних зазвичай закінчується. Однак іноді корисно продовжити процес нормалізації.
Нормальна форма Бойса-Кодда
Розглянемо наступний приклад схеми відношення: СПІВРОБІТНИКИ-ПРОЕКТИ (СПІВРОБІТНИК_НОМЕР, СПІВРОБІТНИК_ПІБ, ПРОЕКТ_НОМЕР, СПІВРОБІТНИК_ЗАВДАННЯ)
Можливі ключі: СПІВРОБІТНИК_НОМЕР, ПРОЕКТ_НОМЕР СПІВРОБІТНИК_ПІБ, ПРОЕКТ_НОМЕР
Функціональні залежності: СПІВРОБІТНИК_НОМЕР (r) CПІВРОБІТНИК_ПІБ СПІВРОБІТНИК_НОМЕР (r) ПРОЕКТ_НОМЕР СПІВРОБІТНИК_ПІБ (r) СПІВРОБІТНИК_НОМЕР СПІВРОБІТНИК_ПІБ (r) ПРОЕКТ_НОМЕР СПІВРОБІТНИК_НОМЕР, ПРОЕКТ_НОМЕР (r) CПІВРОБІТНИК_ЗАВДАННЯ СПІВРОБІТНИК_ПІБ, ПРОЕКТ_НОМЕР (r) CПІВРОБІТНИК_ЗАВДАННЯ
У цьому прикладі ми припускаємо, що особистість співробітника повністю визначається як його номером, так і ПІБ (прізвищє, ім'я, по батькові) (це знову не дуже життєве припущення, але достатнє для прикладу).
Відповідно до визначення 7~ відношення СПІВРОБІТНИКИ-ПРОЕКТИ знаходиться в 3NF. Однак той факт, що є функціональні залежності атрибутів відношення від атрибута, який є частиною первинного ключа, призводить до аномалій. Наприклад, для того, щоб змінити ПІБ співробітника з даним номером узгодженим чином, нам потрібно модифікувати всі кортежі, що включають його номер.
Визначення 8. Детермінант - будь-який атрибут, від якого повністю функціонально залежить деякий інший атрибут.
Визначення 9. Нормальна форма Бойса-Кодда. Відношення R знаходиться в нормальній формі Бойса-Кодда (BCNF) в тому і тільки в тому випадку, якщо кожен детермінант є можливим ключем.
Очевидно, що ця вимога не виконана для відношення СПІВРОБІТНИКИ-ПРОЕКТИ. Можна провести його декомпозицію на два відношення СПІВРОБІТНИКИ і СПІВРОБІТНИКИ-ПРОЕКТИ:
СПІВРОБІТНИКИ (СПІВРОБІТНИК_НОМЕР, СПІВРОБІТНИК_ПІБ)
Можливі ключі: СПІВРОБІТНИК_НОМЕР СПІВРОБІТНИК_ПІБ
Функціональні залежності: СПІВРОБІТНИК_НОМЕР (r) CПІВРОБІТНИК_ПІБ СПІВРОБІТНИК_ПІБ (r) СПІВРОБІТНИК_НОМЕР
СПІВРОБІТНИКИ-ПРОЕКТИ (СПІВРОБІТНИК_НОМЕР, ПРОЕКТ_НОМЕР, СПІВРОБІТНИК_ЗАВДАННЯ)
Можливий ключ: СПІВРОБІТНИК_НОМЕР, ПРОЕКТ_НОМЕР
Функціональні залежності: СПІВРОБІТНИК_НОМЕР, ПРОЕКТ_НОМЕР (r) CПІВРОБІТНИК_ЗАВДАННЯ
Можлива альтернативна декомпозиція, якщо вибрати за основу СПІВРОБІТНИК_ПІБ. В обох випадках одержані відношення СПІВРОБІТНИКИ і СПІВРОБІТНИКИ-ПРОЕКТИ знаходяться в BCNF, і їм не властиві відмічені аномалії.