Re: baze podataka
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_while
E 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)?
Algoritam koji si naveo je ispravan algoritam normalizacije u BCNF. Ne znam o kojim rešenim rokovima pričaš, ali definitivno su pogrešni (ili se možda govori o normalizaciji u 3NF). Uostalom, ako sam dobro shvatio, kod tebe nema razlike između normalizacije u 3NF i BCNF.
Pozdrav,
Damjan S. Vujnović
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_while
E 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)?
Algoritam koji si naveo je ispravan algoritam normalizacije u BCNF. Ne znam o kojim rešenim rokovima pričaš, ali definitivno su pogrešni (ili se možda govori o normalizaciji u 3NF). Uostalom, ako sam dobro shvatio, kod tebe nema razlike između normalizacije u 3NF i BCNF.
Pozdrav,
Damjan S. Vujnović
- Follow-Ups:
- Engleski II
- From: "Stojic" <vladas@eunet.yu>
- Softverske tehnike
- From: "Vlada" <chiko@yubc.net>
- Engleski II
- References:
- Re: baze podataka
- From: Nikola Jevtovic <nikolajevtovic@yahoo.com>
- Re: baze podataka
Previous by date: Re: odbojka
Next by date: [no subject]
Previous by thread: Re: baze podataka Next by thread: Softverske tehnike
Previous by thread: Re: baze podataka Next by thread: Softverske tehnike