
5. Формування вихідного відношення
Проектування БД починається з визначення всіх об'єктів, відомості про які будуть включені в базу, і визначення їхніх атрибутів. Потім атрибути зводяться в одну таблицю - вихідне відношення.
Приклад. Формування вихідного відношення.
Припустимо, що для навчальної частини факультету створюється БД про викладачів. На першому етапі проектування БД у результаті спілкування із замовником (завідувачем навчальною частиною) повинні бути визначені відомості, що втримуються в базі, про те, як вона повинна використовуватися, і яку інформацію замовник хоче одержувати в процесі її експлуатації. У результаті встановлюються атрибути, які повинні втримуватися у відносинах БД, і зв'язку між ними. Перелічимо імена виділених атрибутів і їхні короткі характеристики:
ФИО - прізвище й ініціали викладача. Виключаємо можливість збігу прізвища й ініціалів у викладачів.
Должн - посада, займана викладачем.
Оклад - оклад викладача.
Стаж - викладацький стаж.
Д_Стаж - надбавка за стаж.
Каф - номер кафедри, на якій значиться викладач.
Предм - назва предмета (дисципліни), що читається викладачем.
Група - номер групи, у якій викладач проводить заняття.
ВидЗан - вид занять, проведених викладачем у навчальній групі.
Одне з вимог до відношень полягає в тому, щоб всі атрибути відношень мали атомарні (прості) значення. У вихідному відношенні кожний атрибут кортежу також повинен бути простим. Приклад вихідного відношення ВИКЛАДАЧ наведений на мал. 2.14.
ВИКЛАДАЧ
ФИО |
Должн |
Оклад |
Стаж |
Д_Стаж |
Каф |
Предм |
Група |
ВидЗан |
Іванов И. М. |
преп |
500 |
5 |
100 |
25 |
СУБД |
256 |
Практ |
Іванов И. М. |
преп |
500 |
5 |
100 |
25 |
ПЛ/1 |
123 |
Практ |
Петров М. И. |
ст. преп |
800 |
7 |
100 |
25 |
СУБД |
256 |
Лекція |
Петров М. И. |
ст.преп |
800 |
7 |
100 |
25 |
Паскаль |
256 |
Практ |
Сидоров Н. Г. |
преп |
500 |
10 |
150 |
25 |
ПЛ/1 |
123 |
Лекція |
Сидоров Н. Г. |
преп |
500 |
10 |
150 |
25 |
Паскаль |
256 |
Лекція |
Егоров В. В. |
преп |
500 |
5 |
100 |
24 |
ПЭВМ |
244 |
Лекція |
Рис. 2.14. Вихідне відношення ВИКЛАДАЧ
Зазначене відношення має наступну схему ВИКЛАДАЧ( ФИО, Должн, Оклад, Стаж, Д_Стаж, Каф, Предм, Група, ВидЗан).
Вихідне відношення ВИКЛАДАЧ містить надлишкове дублювання даних, що і є причиною аномалій редагування. Розрізняють надмірність явну й неявну.
Явна надмірність полягає в тому, що у відношенні ВИКЛАДАЧ рядки з даними про викладачів, що проводить заняття в декількох групах, повторюються відповідне число раз. Наприклад, у відношенні ВИКЛАДАЧ всі дані по Іванова повторюються двічі. Тому, якщо Іванов І.М. стане старшим викладачем, то цей факт повинен бути відбитий в обох рядках. У іншому випадку буде мати місце протиріччя в даних, що являє приклад аномалії редагування, обумовленою явною надмірністю даних у відношенні.
Неявна надмірність у відношенні ВИКЛАДАЧ проявляється в однакових окладах у всіх викладачів і в однакових добавках до окладу за однаковий стаж. Тому, якщо при зміні окладів за посаду з 500 на 510 це значення змінять у всіх викладачів, крім, наприклад, Сидорова, то база стане суперечливою. Це приклад аномалії редагування для варіанта з неявною надмірністю.
Засобами виключення надмірності у відносинах і, як наслідок, аномалій є нормалізація відносин, розглянемо її більш докладно.