1 / 11

PRZYKŁAD

PRZYKŁAD. Anomalie w 3PN : R = ( { S , P , W }, { SP  W, W  P }) S – student, P – przedmiot, W – wykładowca R jest w 3PN ale wyst ę puje anomalia do łą czania i usuwania :. Nie można przypisać wykładowcy do przedmiotu zanim nie przypisze się co najmniej

Download Presentation

PRZYKŁAD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PRZYKŁAD Anomalie w 3PN : R = ( { S, P, W }, { SP  W, W  P }) S – student, P – przedmiot, W – wykładowca R jest w 3PN ale występuje anomalia dołączania i usuwania : Nie można przypisać wykładowcy do przedmiotu zanim nie przypisze się co najmniej jednego studenta do przedmiotu. Gdy usuwamy ostatniego studenta uczęszczającego na dany przedmiot tracimy informację o prowadzącym przedmiot

  2. Rozkład bez straty danych: E = ( { I, N, P, O } { I  N, IP  O } Rozkład według zależności funkcyjnej : I N E1= ( { I, N } { I  N } ) E2= ({ I, P, O } , { IP O } ) E : E1: E2 : I N P O I N I P O 10 f a 3 10 f 10 a 3 10 f b 4 11 g 10 b 4 11 g a 3 12 h 11 a 3 12 h a 3 12 a 3

  3. Rozkład bez straty zależności funkcyjnych: R = ( { S, W, D } { S W, S D, D W, W D } ) Rozkład według zal. funkcyjnej : DW R1 = ( { D, W } { DW, WD } )R2 =({ D, S }, { SD} ) R:R1:R2 : S W DD WD S 1 x a a x a 1 2 y b b y b 2 3 x a a 3 4 y b b 4

  4. Rozkład bez straty danych • ale nie bez straty zależności funkcyjnych: R = ( {S, W, D } { SW, SD, DW, WD } ) Rozkład według zal. funkcyjnej : SW R3 = ({ S, W } { SW } )R4 =({ D, S }, { SD} ) R:R3:R4 : S W DS WD S 1 x a 1 x a 1 2 y b 2 y b 2 3 x a 3 x a 3 4 y b 4 y b 4

  5. Rozkład bez straty zal. funkcyjnych ale nie bez straty danych: R = ( {A, B, C, D } { AB, BCD, DB, DC} ) R1= ({A, B} { AB })R2=({ B, C, D}, { BCD, DB, DC } ) R :R1: R2 : A B C D A B B C D a b c d a b b c d a1 b c1 d1 a1 b b c1 d1 a2 b c1 d1 a2 b R1R2 :A B C D a b c d a b c1 d1 a1 b c d a1 b c1 d1 a2 b c d a2 b c1 d1

  6. ALGORYTM DEKOMPOZYCJI CODDA – FAGINA Dane : S0 = { R = (U, F ) } Wynik :SD = { Ri = ( Ui , Fi ) , i = 1,...,n } SDjest równoważny z S0bez straty danych Rijest w 3PN , 1 i  n.

  7. 1. Określ wszystkie klucze w schemacie R. • 2. Przekształć S0 do S1 = { Rj = ( Uj, Fj ) , j = 1,...,k } takiego, że: • - Rj jest w 2PN , 1i  k • - S1jest równoważny z S0 w sensie RD. • (Wykorzystaj Twierdzenie, tzn : • znajdź zależność funkcyjną postaci X Y  F+, X  K • dla pewnego klucza K i rozłóż schemat na 2 odpowiednie projekcje ; • powtarzaj postępowanie) • 3. Określ atrybuty kluczowe i niekluczowe w każdym schemacieRj , j = 1,...,k

  8. 4. Przekształć S1 do SD = { Ri = ( Ui , Fi ) , i = 1,...,n } takiego, że : • - Ri jest w 3PN , 1i  n. • - SD jest równoważny z S0w sensie RD • ( tzn.: znajdź schemat Ri S1 , który nie jest w 3PN • i zależności X Y F+, Y  X  F+, YZ F+ • takie, że X,Y,Z są parami rozłączne • i Zjest zbiorem atrybutów niekluczowych; • rozłóż Ri na dwa schematy Ri1 = Ri [ YZ] i Ri2 = Ri [ Y(U-Z) ]; • powtarzaj )

  9. ALGORYTM BERNSTEINA {Uproszczona wersja } Dane : S0 = { R = ( U, F ) } Wynik :SD = { Ri = ( Ui , Fi ) , i = 1,...,n } SD jest równoważny z S0 bez straty zal. funkcyjnych (RF) Ri jest w 3PN , 1i  n (Nie zawsze)

  10. 1. Usuń zbędne atrybuty z lewych stron zależności funkcyjnych, tzn.: • jeśli XY F+ i X – AY F+, to F+ := F+ - { XY}. • Oznacz otrzymany zbiór zależności przez F’. • 2. Znajdź minimalny zbiór F0  F’ taki, że F0+ = F’+ . • 3. Podziel F0 na rozłączne podzbiory F1, ... Fm takie, że : • Fi zawiera zal. fun. o identycznych poprzednikach(Ui ), i = 1,...,m. • 4. Grupowanie: • niech Fi = { Ui “coś” }, Fj = { Uj “coś” }; • jeśli Ui  Uj F0+ i Uj Ui F0+ , • to utwórz jeden zbiór z Fi i Fj ; • oznacz otrzymany podział przez F1, ... , Fn.

  11. 5. Utwórz schematy relacyjne : • Ri= ( Ui , Fi ) , i =1,...,n • gdzie Ui := { A  U : (XYFi) ( A XY ) }, • 6. Wyznacz klucze : • Kjest kluczem Ri jeśli istnieje zal. fun. KY  Fi+ . • 7. SD:= { Ri = ( Ui , Fi ) , i = 1,...,n }

More Related