Re: baze podataka
Nisam siguran da razumem ta znaèi "dekomponovati neku relaciju do praznog skupa zavisnosti", ali mislim da nasluæujem ta je pitanje... Odgovor je: zavisi. Zavisi od toga da li eli dekompoziciju sa ili bez gubitaka zavisnosti. To se najlepe vidi kod algoritma za dekompoziciju u 3NF. Algoritam koji predlae Bleki æe èak i kada je relacija veæ u 3NF (dakle, kada ne postoji niti jedna zavisnost koja naruava 3NF) izvriti dekompoziciju po svakoj zavisnosti. To je zato to taj algoritam za normalizaciju u 3NF èuva zavisnosti, i moe se desiti (ako ba eli, mogu ti dati i primer) da kada dekomponuje samo po zavisnostima koje naruavaju 3NF izgubi neke zavisnosti. Postoji i algoritam za normalizaciju u 3NF koji ne èuva zavisnosti, i manje-vie se svodi na to to ti predlae... Pozdrav,Damjan S. Vujnoviæ Da OK je to za 3NF sto kazes, jer sam ja i radio po Blekijevom algoritmu (sve funkc. zavisnosti postaju relacije, pa ako nema KK ni u jednoj dodaje se jos jedna relacija, pa ako je nestao neki element jos jedna ; manje vise prepricavam algoritam) ali je kod dekompozicije u BCNF algoritam koji je dao Bleki (valjda je on dao taj algoritam) to ovako:
rezultat := {R};
uradjeno := False;
sracunavanje F+
while (not uradjeno) do
if (postoji Fi koji nije u BCNF) then
begin vazi X->Y, X->Ri element Fi;
rezultat:=(rezultat-Ri)unija(Ri-Y)unija(X,Y); end
else uradjeno:= true
end_if
end_whileE zbog ove while petlje gde se radi sve dok postoji neko Fi koje narusava BCNF, a kad vise nema takvih Fi algoritam se prekida, pa preostali elementi sa preostalim funkc.zavisnostima cine poslednju relaciju (koja ujedno zadovoljava BCNF). U mnogim (da ne kazem skoro svim) resenim rokovima, radjeno je da se dekompozicija vrsi sve dok postoje funkc. zavisnosti (bez obzira da li narusavaju ili zadovoljavaju BCNF) tako da za poslednju relaciju vise nema nista iz polaznog skupa F (na to sam mislio da je preostao prazan skup funkc.zav). Ono sto ne znam je to da li je potrebno (prvenstveno mislim za ispit da li je potrebno) vrsiti dekompoziciju i pri tome se truditi da se sacuvaju sve polazne funkc.zav. ili je dovoljno sprovesti ovaj algoritam i eventualno konstatovati sta se izgubilo (ako se nesto izgubilo)? Nikola
---------------------------------
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
- Follow-Ups:
- Re: baze podataka
- From: "Damjan S. Vujnovic" <damjan@galeb.etf.bg.ac.yu>
- Re: baze podataka
- References:
- Re: baze podataka
- From: "Damjan S. Vujnovic" <damjan@galeb.etf.bg.ac.yu>
- Re: baze podataka
Previous by date: Re: baze podataka
Next by date: Re: odbojka
Previous by thread: Re: baze podataka Next by thread: Re: baze podataka
Previous by thread: Re: baze podataka Next by thread: Re: baze podataka