logo search
rektorska_pi

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. Цей тип декомпозиції називається Декомпозицією без втрат при природному з'єднанні.