Стоимость_за_суткиКод_номера
3.2 Нормалізація таблиць
У процесі нормалізації розглядаються різні функціональні залежності. Функціональні залежності визначають не поточний стан БД, а всі можливі її стану. тобто вони відображають ті зв'язки між атрибутами, які присуши реальному об'єкту, що моделюються в БД.
Функціональна залежність. Атрибут Y деякого відношення функціонально залежить від X (атрибути можуть бути складовими), якщо в будь-який момент часу кожному значенню X відповідає одне значення Y. Функціональна залежність позначається X? Y.
Надлишкова функціональна залежність - це залежність, що містить у собі таку інформацію, яка може бути отримана на основі інших залежностей, наявних в базі даних.
Повна функціональна залежність. Неключових атрибут функціонально повно залежить від складеного ключа якщо він функціонально залежить від усього ключа в цілому, але не знаходиться у функціональній залежності від якого-небудь з вхідних в нього атрибутів.
Транзитивная функціональна залежність. Нехай X, Y, Z - три атрибута деякого відносини. При цьому X? Y і Y? Z, але зворотне відповідність відсутня, тобто Z - / -> Y і Y - / -> X. Тоді Z транзитивній залежить від X.
Багатозначна залежність. Нехай X. Y, Z - три атрибута відносини R. У відношенні R існує багатозначна залежність R. X - »R. Y тільки в тому випадку, якщо безліч значень Y. відповідне парі значень X і Z. залежить тільки від X і не залежить від Z.
Розглянь функціональні залежності по базі даних «Готель»:
ФЗ 1: Код_гостініци - Наіменованіе_гостініци, Адрес_гостініци;
ФЗ 2: Код_адміністратора-Код_гостініци, Фамілія_адміністратора;
ФЗ 3: Код_гостя - Код_адміністратора, Код_номера, Ім'я, Прізвище, Год_ народження, Дата_пріезда, Дата_от'езда, Цель_пріезда, Примітка;
ФЗ 4: Код_гостя - Місто, Вулиця, Дата_регістраціі;
ФЗ 5: Код_гостя - Номер_паспорта, Дата_видачі, Виданий;
ФЗ6: Код_гостя, код_номера, Код_адміністратора - Номер_квітанціі.
ФЗ7: Код_номера - Чісло_комнат, Поверх, ТБ, Холодильник, Чісло_мест, Категорія, Балкон, Стоімость_за_суткі.
Нормалізація дозволяє позбутися від надмірності даних, що дозволяє здійснювати несуперечливе і коректне редагування даних.
Надмірність інформації усувається не стільки з метою економії пам'яті, скільки для виключення можливої ??суперечливості збережених даних і спрощення управління ними.
Використання ненормалізованих таблиць може привести до порушення цілісності даних (несуперечності інформації) в базі даних.
Розглянемо нормалізацію таблиць по БД «Готель»
Таблиці ГОТЕЛЬ, АДМІНІСТРАТОР, ГОСТІ, АДРЕСА, ПАСПОРТ, ОПЛАТА, НОМЕР знаходяться в 1НФ, т.к. всі атрибути цих відносин прості (табл. 3).
Таблиці ГОТЕЛЬ, АДМІНІСТРАТОР, ГОСТІ, АДРЕСА, ПАСПОРТ, ОПЛАТА, НОМЕР знаходяться під 2НФ, т.к. вони знаходяться в 1НФ і мають первинні ключі: Код_гостініци, Код_адміністратора, Код_гостя, Код_гостя, Код_гостя, Код_гостя, Код_номера, Код_адміністратора, Код_номера.
Таблиці КЛІЄНТ, ЗАМ...