Oskar Skibski, grupa nr 4, sala 2043

Bazy danych 2015/16

Laboratorium 7 (23.11.2015) - NF / Normalizacja

Normalizacja 3NF

Aby przeprowadzić normalizację relacji R z zależnościami F do trzeciej postaci normalnej należy:

  1. wyznaczyć pokrycie minimalne zbioru zależności F
  2. odrzucić zależności których zbiór atrybutów zawiera się w zbiorze atrybutów innych zależności
  3. dla każdej zależności X -> A stworzyć nową relację z atrybutami X i A
  4. jeżeli żadna relacja nie zawiera żadnego klucza R, należy dodać relację z atrybutami z klucza
Zadanie 1.

Przeprowadź normalizację do trzeciej postaci normalnej następujących relacji:

  • R = ABCDEFG z zależnościami AB -> C, C -> A, BC -> D, ACD -> B, D -> EG, BE -> C, CG -> BD, CE -> AGE
  • R = ABCDEF z zależnościami ABC -> DF, B -> E, CE -> D, F -> A, AD -> BF, CD -> E

Normalizacja BCNF

Aby przeprowadzić normalizację relacji R z zależnościami F do postaci normalnej Boyce'a-Codda należy:

  1. ze zbioru zależności wyrzucić zależności trywialne (lub trywialne atrybuty z prawej strony)
  2. wybrać zależność X -> Y naruszającą BCNF
  3. rozłożyć relację na dwie relację: z atrybutami X i Y oraz drugą - R bez Y; odpowiednio zrzutować zbiór zależności na obie relacje
  4. jeżeli któraś powstała relacja nie jest w BCNF zastosować dla niej rekurencyjnie ten algorytm
Zadanie 2.

Przeprowadź normalizację do postaci normalnej Boyce'a-Codda następujących relacji:

  • R = ABCDE z zależnościami C -> BF, EB -> C, D -> A, E -> D
  • R = ABCDEF z zależnościami D->A, B->E, CF->ABE, F->D, BF->C, C->D

Oskar Skibski (oski@mimuw.edu.pl), Wydział Matematyki, Informatyki i Mechaniki