
- •Передумови виникнення програмної інженерії.
- •Основні принципи програмної інженерії.
- •Життєвий цикл програмного забезпечення.
- •Роль і місце інформаційної інженерії у програмній.
- •Призначення і основні компоненти середовища бази даних.
- •7. Системи управління базами даних (субд).
- •8. Реляційна модель даних
- •9. Мова маніпулювання даними для реляційної моделі.
- •10.Умови і обмеження, які накладаються на відношення реляційною
- •11. Переваги реляційної бази даних
- •12. Життєвий цикл інформаційної системи
- •Життєвий цикл програмного забезпечення баз даних
- •13. Мета і задачі проектування
- •14. Проектування реляційної бази даних
- •Етапи проектування бази даних
- •15. Формулювання та аналіз вимог
- •16.Концептуальне проектування.
- •17.Модель "сутність-зв'язок".
- •18.Критерії вибору первинного ключа.
- •19.Логічне проектування.
- •20.Індексація в базах даних.
- •21.Методи доступу до файлів і хешування.
- •22.Цілісність і схоронність баз даних.
- •23.Нормалізація відношень. Необхідність нормалізації.
- •24. Аномалії додавання, вилучення і обновлення баз даних.
- •25.Явна і неявна надлишковість даних. Декомпозиція відношень.
- •26.Поняття нормальної форми. 1-а, 2-а, 3-я, 4-а нормальні форми. Нормальна форма Бойса-Кодда.
- •27.Реляційна алгебра. Основні і додаткові операції реляційної алгебри.
- •28.Представлення в базах даних.
- •29.Привілеї в базах даних.
- •30.Ієрархічна модель даних.
- •31.Мережева модель даних.
- •32. Багатовимірна модель даних. Olap.
- •33.Case-засоби проектування баз даних. Можливості проектування баз
25.Явна і неявна надлишковість даних. Декомпозиція відношень.
Під надмірністю розуміють повторення даних в різних рядках однієї таблиці або в різних таблицях БД.
Потрібно розрізняти просте ( ненадлишкове) та надлишкове дублювання даних. Наявність першого з них допускається в БД, а надлишкове дублюванння може призводити до проблем при обробці даних.
Пример исходного отношения ПРЕПОДАВАТЕЛЬ приведен в таблице.
ФИО* |
Посада |
Оклад |
Стаж |
Держ.Стаж |
Каф |
Предм* |
Группа* |
ВидЗан |
Иванова И.М. |
преп. |
500 |
5 |
100 |
25 |
матем |
256 |
Практ |
Иванова И.М. |
преп. |
500 |
5 |
100 |
25 |
физика |
123 |
Практ |
Петров М.И. |
ст. преп. |
800 |
7 |
125 |
25 |
матем |
256 |
Лекция |
Петров М.И. |
ст. преп. |
800 |
7 |
125 |
25 |
ин. язык |
256 |
Практ |
Сидоров Н.Г. |
преп. |
500 |
10 |
150 |
25 |
физика |
123 |
Лекция |
Сидоров Н.Г. |
преп. |
500 |
10 |
150 |
25 |
ин. язык |
256 |
Лекция |
Егоров В. В. |
преп. |
500 |
5 |
100 |
24 |
история |
244 |
Лекция |
Явна надмірність полягає в тому, що стосовно табл. ВИКЛАДАЧ рядки з даними про викладачів, які проводять заняття в декількох групах, повторюються відповідне число разів. Наприклад, щодо табл. ВИКЛАДАЧ всі дані по Іванову повторюються двічі. Тому, якщо Іванова І.М. стане старшим викладачем, то цей факт повинен бути відображений в обох рядках. В іншому випадку буде мати місце протиріччя в даних, що є прикладом аномалій редагування, обумовленої явною надмірністю даних у відношенні.
Неявна надмірність у відношенні табл. ВИКЛАДАЧ проявляється в однакових окладах у всіх викладачів і в однакових надбавках до окладу за однаковий стаж. Тому, якщо при зміні окладів за посаду з 500 на 510 це значення змінять у всіх викладачів, окрім, наприклад, Сидорова, то база стане суперечливою. Це приклад аномалії редагування для варіанту з неявною надмірністю.
Засобом виключення надмірності у відносинах і, як наслідок, аномалій є нормалізація відносин.
Загальний підхід до декомпозиції
У загальному вигляді алгоритм проектування БД може виглядати наступним чином:
1. Розробка універсальних відносин для БД.
2. Визначення всіх НФ між атрибутами відносин.
3. Визначення того, чи знаходиться ставлення в НФБК. Якщо, проектування завершується,якщо ні, ставлення має бути розкладено на два відносини.
4. Повторення кроків 2 і 3 для кожного нового відносини, отриманого в результаті декомпозиції. Проектування завершується, коли всі стосунки будуть знаходиться в НФБК. Запропонований алгоритм не визначає, як здійснювати декомпозицію відносини, не приведеного до НФБК, на два відносини. Це здійснюється за допомогою НФ наступним чином. Нехай відношення R (A, B, C, D, E, ...) не приведено до НФБК. Визначається НФ, наприклад, С -> D, про яку відомо, що вона є причиною того, що ставлення R не знаходиться в НФБК (С є детермінантом, але не є можливим ключем). Створюється два нових відносини: R1 (A, B, C, E, ...) і R2 (C, D), де остання частина НФ була виділена з R і опущена при формуванні ставлення R1 і НФ була використана повністю при формуванні ставлення R2. Тепер необхідно перевірити, чи знаходяться в НФБК відносини R1 і R2. Про ставлення R2 (C, D) говорять, що одне є проекції відносини R. Цей тип декомпозиції називається Декомпозицією без втрат при природному з'єднанні.