Бази данни


Декомпозиция на релациите



страница4/9
Дата10.05.2022
Размер1.32 Mb.
#114206
ТипЛекции
1   2   3   4   5   6   7   8   9
нормализация на данни
Свързани:
BD4, данни

Декомпозиция на релациите

  • Д. Гоцева
  • БД-лекции
  • Алтернативно решение на задачата: разделяме таблиците на две, една за повтарящата се група и една за останалите атрибути.
  • Първичният ключ от оригиналната релация се включва и в двете нови.

Релации

  • Д. Гоцева
  • БД-лекции
  • Имаме две релации Student и Record.
    • Student съдържа неповтарящите се групи от оригиналната релация.
    • Record съдържа повтарящите се групи и matric_no
  • Student(matric_no, name, date_of_birth )
  • Record(matric_no, subject, grade )
  • Тази версия на релациите няма аномалии при добавяне, изтриване или актуализация.
  • Без повтарящи се групи релациите са в 1НФ.

Втора нормална форма (2НФ)

  • Д. Гоцева
  • БД-лекции
  • Една релация е във 2НФ, тогава и само тогава, когато е в 1НФ и всеки неключов атрибут е напълно функционално зависим от целия ключ.
  • Това означава, че релацията е в 1НФ без повтарящи се групи и всички неключови атрибути зависят от целия ключ, т.е. няма зависимост от части на ключа.(partial key dependencies, PKDs).
  • Проблеми възникват, когато ключът е съставен, т.е. ключът от релацията Record - matric_no, subject. В този случай е възможно неключов атрибут да зависи само от част на ключа, т.е. само от един от двата ключови атрибута. Това не може да се случи ако релацията е във 2НФ.

Пример

  • Д. Гоцева
  • БД-лекции
  • Нека е дадена релацията Student:
  • Student(matric_no, name, date_of_birth, subject, grade )
  • В нея няма повтарящи се групи и следователно тя е в 1НФ.
  • Тя има съставен първичен ключ и се налага проверка, дали съществува неключов атрибут, който да зависи само от част от ключа (functionally dependent).
    • matric_no определя name и date_of_birth, но не и grade.
    • subject заедно с matric_no определят grade, но не и name или date_of_birth.
  • Следователно съществува проблем с потенциален излишък от данни.


Сподели с приятели:
1   2   3   4   5   6   7   8   9




©obuch.info 2022
отнасят до администрацията

    Начална страница