- •Інженерія програмного забезпечення
- •Загальні вимоги до програмного забезпечення
- •Процеси життєвого циклу програмного забезпечення
- •Керування процесом проектування програмного забезпечення
- •Прототипування програмних систем.
- •Архітектурне проектування програмних систем
- •Архітектура розподілених систем
- •Проектування систем реального часу
- •Об‘єктно-орієнтоване проектування програмних систем.
- •Візуальне проектування об‘єктно-орієнтованих систем
- •Динамічні моделі об‘єктно-орієнтованих систем
- •Моделі реалізації об‘єктно-орієнтованих програмних систем
- •Проектування інтерфейсу користувача
- •Тестування програм та систем
- •Структурне тестування програмного забезпечення.
- •Методи та засоби автоматизації тестування програмного забезпення
- •Системне програмування
- •Дати оцінку основним правилам автоматичного перетворення типів.
- •Розкрити сутність адресної арифметики при роботі з вказівниками.
- •Обґрунтувати алгоритм та представити програмний код для реалізації програми, що сумує з 0 по 3 біт першого числа та з 3 по 6 біт другого числа.
- •Розкрийте поняття програмна модель мікропроцесора.
- •Проаналізувати типи даних в мові асемблер.
- •Проаналізувати особливості роботи із масивами в мові асемблер.
- •Проаналізувати структуру програми мовами програмування з родини асемблерів(синтаксис ассемблера).
- •Організувати на асемблері ехе-програму, щоб перекодувати символи строки шляхом додавання до літери строки кодів символів таблиці(Код мовою Asembler).
- •Організувати ехе-програму , щоб перекодувати символи з однієї таблиці в іншу(код мовою асемблера).
- •Організація баз даних
- •Моделі даних: ієрархічна, мережева, реляційна, об‘єктно-реляційна, нереляційна.
- •NoSql або постреляційні бази даних
- •Реляційна модель даних. Операції реляційної алгебри.
- •Нормалізація відношень при проектування реляційної моделі.
- •Поняття первинних ключів. Роль функціональних залежностей. Зовнішні та батьківські ключі.
- •Нормалізація відношень: перша, друга та третя нормальні форми
- •Визначення другої нормальної форми. Правило приведення. Повна функціональна залежність.
- •Визначення третьої нормальної форми. Правило приведення. Транзитивна залежність.
- •Семантичне моделювання та когнітивний аспект.
- •Проектування баз даних: концептуальне, логічне, фізичне
- •Модель «сутність-зв‘язок» або er-модель
- •Нормалізація даних в er-моделі
- •Case-засоби проектування баз даних.
- •Мова маніпулювання даними sql. Побудова запитів.
- •Адміністрування даних. Засоби підтримки цілісності баз даних
Визначення другої нормальної форми. Правило приведення. Повна функціональна залежність.
Відношення знаходиться у другій нормальній формі, якщо воно знаходиться у 1НФ і кожний неключовий атрибут функціонально повно залежить від складеного ключа.
Іншими словами, 1NF таблиця знаходиться в 2НФ тоді і тільки тоді, коли всі її неключові атрибути функціонально залежні від цілих потенційних ключів.
Друга нормальна форма має актуальність тільки для тих відношень, в яких є складені (композитні) ключі.
Як відомо, первинний ключ може бути простий або складений. Якщо ключ складений (композитний), то буває важко уникнути часткових залежностей. Одне з полів може функціонально залежати від частини первинного ключа (залежати від деяких атрибутів ключа).
Приведення до 2НФ можна описати наступним чином. Нехай дана змінна-відношення R(A,B,C,D) PRIMARY KEY {A,B} і є функціональна залежність A→D. Процедура нормалізації в 2НФ передбачає заміну цієї змінної-відношення наступними двома проекціями R1 і R2:
R1(A,D) PRIMARY KEY {A}
R2(A,B,C) PRIMARY KEY {A,B}
FOREIGN KEY {A} REFERENCES R1
Функціональна залежність – це змістовна, семантична властивість атрибутів відношення. Семантика відношення, тобто його зміст, вказує як саме його атрибути зв’язані між собою, а також визначає функціональні залежності (ФЗ) між атрибутами у вигляді обмежень, накладених на деякі атрибути даного відношення. В цьому означенні атрибути А і В можуть складатися із одного або кількох атрибутів.
Якщо сутність A функціонально визначає сутність B, таку залежність прийнято позначати так: A –>(стрілка) B
Функціональна залежність, як і будь-яке інше обмеження, - це деяке твердження щодо структури схеми відношення, незв’язане з конкретними екземплярами цього відношення. Сам по собі екземпляр відношення , тобто значення відношення в певний момент часу, не дає ніяких підстав робити будь-які висновки щодо функціональної залежності та будь-яких інших зв’язків між даними. Залежності між атрибутами повинні вказуватися ще на етапі концептуального модулювання.
Повна функціональна залежність між двома атрибутами – це випадок, коли між двома атрибутами A та B є пряма (A→B) і зворотна (B→A) залежність. При повній функціональній залежності одному значенню атрибуту A відповідає тільки одне значення атрибуту B. І, навпаки, одному значенню атрибуту B відповідає значення атрибуту A.
Щоб бути повністю залежними, усі атрибути ключа, що не є кандидатом, повинні залежати від первинного ключа. Атрибут ключа-кандидата – це будь-який ключ (наприклад, первинний або зовнішній ключ), який використовується для однозначної ідентифікації запису бази даних.
Повна функціональна залежність між двома атрибутами A та B позначається A ↔ B
Визначення третьої нормальної форми. Правило приведення. Транзитивна залежність.
Під час розроблення таблиці і зв’язків часто виникають логічні суперечності. Процес нормалізації таблиць (відношень) допомагає уникнути цих суперечностей. Нормалізація відношень – це процес зміни таблиць, ключів, полів і зв’язків, в результаті яких створюється структура БД без суперечностей. Нормалізація досягається шляхом перевірки відповідності таблиць ряду умов, які визначаються в трьох рівнях нормалізації. Нормалізація відношень дозволяє істотно скоротити обсяг збереженої інформації. Принцип нормалізації відношень – це основний принцип, покладений в основу методології створення концептуальної моделі реляційних даних.
Третя нормальна форма (3НФ) — нормальна форма використовна в нормалізації баз даних. 3НФ первісно була визначена 1971 року Едгаром Коддом. За Коддом таблиця знаходиться в 3НФ тоді й лише тоді, коли виконуються наступні умови:
Відношення R (таблиця) знаходиться в 2НФ
Кожен неключовий атрибут відношення R нетранзитивно (безпосередньо) залежить від кожного потенційного ключа в R.
Неключовий атрибут R — атрибут, що не є частиною будь-якого потенційного ключа.
Третя нормальна форма визволяє від надлишковості і аномалій виконання операцій включення, віддалення і поновлення, якщо відношення має один ключ, і інші залежності, в тому числі і багатозначні, в ньому відсутні. Але, якщо при цьому існують інші залежності, окрім залежності від ключа, то 3НФ не забезпечує відсутність аномалій операцій. В цьому випадку застосовують посилену 3НФ, так звану нормальну форму Бойса-Кодда (НФБК).
Нормальна форма Бойса - Кодда (НФБК) враховує функціональні залежності, у яких беруть участь усі потенційні ключі відносини, а не тільки його первинний ключ. Для відношення з єдиним потенційним ключем його ЗНФ і НФБК є еквівалентними. Нормальна форма Бойса – Кодда (нфбк) Відношення знаходиться в нфбк тоді і тільки тоді, коли кожен його детермінант є потенційним ключем.
Транзитивна залежність є одним із ступенів функціональної залежності.
Функціональна залежність – це змістовна, семантична властивість атрибутів відношення. Семантика відношення, тобто його зміст, вказує як саме його атрибути зв’язані між собою, а також визначає функціональні залежності (ФЗ) між атрибутами у вигляді обмежень, накладених на деякі атрибути даного відношення.
Транзитивна залежність у базі даних – це непряма залежність між значеннями в одній таблиці, що викликає функціональну залежність. Щоб досягти норми нормалізації третьої нормальної форми (3NF), ви повинні усунути будь-яку транзитивну залежність. За своєю природою транзитивна залежність вимагає трьох або більше атрибутів (або стовпців бази даних), які мають функціональну залежність між собою, тобто стовпець A у таблиці покладається на стовпець B через проміжний стовпець C.
Транзитивні залежності також вилучають за допомогою декомпозиції відношення на два чи більше інших відношень, які не містять транзитивних залежностей і об'єднання яких дасть початкове відношення.
Відношення перебуває в З НФ, якщо воно перебуває в 2НФ і кожний неключовий атрибут нетранзитивно залежить від первинного ключа.