Проектування БД починається з визначення всіх об'єктів, зведення про які будуть включені в базу, і визначення їхніх атрибутів. Потім атрибути зводяться в одну таблицю - вихідне відношення.
Приклад. Формування вихідного відношення.
Для навчальної частини факультету створюється БД про викладачів. На першому етапі проектування БД необхідно визначити, зведення що містяться в базі і про те, як вона повинна використовуватися, і яку інформацію замовник хоче одержувати в процесі її експлуатації. У результаті встановлюються поля, що повинні міститися в таблицях БД, і зв'язки між ними. Імена полів і їх короткі характеристики:
ПІБ – прізвище, ім’я і по батькові викладача;
Посада - посада, займана викладачем;
Оклад - оклад викладача;
Стаж - викладацький стаж;
ДСтаж - надбавка за стаж;
Каф - номер кафедри, на якій працює викладач;
Предм - назва предмета (дисципліни), що читається викладачем;
Група - номер групи, у якій викладач проводить заняття;
Видзан - вид занять, що проводяться викладачем у навчальній групі;
|
|
Усі поля таблиці повинні мати прості значення. Приклад вихідної таблиці ВИКЛАДАЧ приведений на рис. 7.4.
ВИКЛАДАЧ | ||||||||
▼ПІБ | Посада | Оклад | Стаж | ДСтаж | Каф | ▼Предм | ▼Група | ВидЗан |
Іванов И.М. | викладач | СУБД | практ | |||||
Іванов И.М. | викладач | ПЛ/1 | практ | |||||
Петров М.И. | ст. викл | СУБД | лекція | |||||
Петров М.И. | ст. викл | Паскаль | практ | |||||
Сідоров Н.Г. | викладач | ПЛ/1 | лекція | |||||
Сідоров Н.Г. | викладач | Паскаль | лекція | |||||
Єгоров В. В. | викладач | ПЭВМ | лекція | |||||
Рис. 7.4. Вихідне відношення ВИКЛАДАЧ |
Відношення має схему ВИКЛАДАЧ(ПІБ, Посада, Оклад, Стаж, ДСтаж, Каф, Предм, Група, ВидЗан). Ключ відношення складений (ПІБ, Предм, Група).
Відношення ВИКЛАДАЧ містить надлишкове (надмірне) дублювання даних, що є причиною аномалій редагування. Надмірність буває явною і неявною.
Явна надмірність - у відношенні ВИКЛАДАЧ записи з даними про викладачів, що проводять заняття в декількох групах, повторюються декілька разів. Наприклад, дані по Іванову повторюються двічі. Якщо Іванов стане старшим викладачем, то це необхідно відбити в обох рядках. Інакше буде протиріччя в даних, що являє приклад аномалії редагування, яка обумовлена явною надмірністю даних у відношенні.
|
|
Неявна надмірність у відношенні ВИКЛАДАЧ виявляється в однакових окладах у всіх викладачів і в однакових добавках до окладу за однаковий стаж. Тому, якщо при зміні окладів з 500 на 510 це значення змінити у всіх викладачів, крім, наприклад, Сидорова, то база стане суперечливою. Це приклад аномалії редагування для варіанта з неявної надмірністю.
Засобом виключення надмірності і, як наслідок, аномалій є нормалізація відношень.