Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Zadatak iz normalizacije

[es] :: Baze podataka :: Zadatak iz normalizacije

Strane: 1 2

[ Pregleda: 4841 | Odgovora: 24 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

shaya_man
Dragan Šajkić
serviser računara / programer
Niš

Član broj: 218686
Poruke: 31
212.200.65.*



Profil

icon Zadatak iz normalizacije30.09.2010. u 13:48 - pre 164 meseci
Zdravo svima! Da li neko moze da uradi postupak normalizacije do 3NF. Data je relacija :
P_IME_I_PREZIME, P_DAT_RODJ, P_Z_ZNAK, P_ADRESA, P_ID#, LET#, DAT_LET, GATE, AVION

Iz primera se vidi da postoje dva kljuca P_ID i LET,a li GATE nije oznacen kao kljuc, pa ne znam da li predstavlja relaciju ili je atribut!

Hvala!!
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
..106.109.adsl.dyn.beotel.net.



+18 Profil

icon Re: Zadatak iz normalizacije30.09.2010. u 17:56 - pre 164 meseci
Jel imas podatke iz tabele, mozda bi pomoglo da se lakse resi...

Ovde imas link koji ti mozda da ideju...
http://www.riteh.uniri.hr/zav_katd_sluz/zr/nastava/bp/download/6%20-%20Normalizacija.pdf
 
Odgovor na temu

shaya_man
Dragan Šajkić
serviser računara / programer
Niš

Član broj: 218686
Poruke: 31
212.200.65.*



Profil

icon Re: Zadatak iz normalizacije30.09.2010. u 18:35 - pre 164 meseci
P_IME_I_PREZIME, P_DAT_RODJ, P_Z_ZNAK , P_ADRESA , P_ID# , LET# , DAT_LET , GATE, AVION
---------------------------------------------------------------------------------------------------------------------------
CUK PTICA 1.APRIL 1950 OVAN 18000 NIS ZVECANSKA 8 1111 112 23. MAJ A1 DC10
MRAK VOZNJA 3.MART 1955 RIBA 18000 NIS DECANSKA 8 2222 223 13. MAJ A2 DC9
POP UTEHA 8.APRIL 1953 OVAN 18000 NIS PRECANSKA 8 3333 113 3. MAJ A3 DC10
TICA GOLUB 12.JUN 1950 BLIZANCI 18000 NIS SECANSKA 8 4444 666 12.MAJ A4 DC10

Po ovim podacima meni lici da je i GATE jedan od kljuceva, ali nije oznacen sa # kao ostala dva
 
Odgovor na temu

shaya_man
Dragan Šajkić
serviser računara / programer
Niš

Član broj: 218686
Poruke: 31
212.200.65.*



Profil

icon Re: Zadatak iz normalizacije30.09.2010. u 18:42 - pre 164 meseci
P_IME_I_PREZIME,,,,P_DAT_RODJ, P_Z_ZNAK ,,,,,,,,,P_ADRESA ,,,,,,,,,,,,,,,, P_ID#,,,,,LET#,,DAT_LET,,,GATE,,,AVION
---------------------------------------------------------------------------------------------------------------------------
CUK PTICA ======1.APRIL 1950== OVAN ====18000 NIS ZVECANSKA 8===1111 ===112 ==23. MAJ ==A1 ===DC10
MRAK VOZNJA ====3.MART 1955== RIBA ====18000 NIS DECANSKA 8 ====2222 ===223 ==13. MAJ ==A2 ===DC9
POP UTEHA ======8.APRIL 1953== OVAN====18000 NIS PRECANSKA 8===3333===113 ===3. MAJ ===A3 ===DC10
TICA GOLUB===== 12.JUN 1950=== BLIZANCI=18000 NIS SECANSKA 8====4444 ===666===12.MAJ ===A4 ===DC10

Izvinjavam se zbog lose formatiranih podataka. Nadam se da se ovde bolje vidi
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
..106.109.adsl.dyn.beotel.net.



+18 Profil

icon Re: Zadatak iz normalizacije30.09.2010. u 19:29 - pre 164 meseci
Mozda je najbolje da se javi neko ko ima vise iskustva...
pogledacu jos malo pa se javim...
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
..106.109.adsl.dyn.beotel.net.



+18 Profil

icon Re: Zadatak iz normalizacije30.09.2010. u 19:49 - pre 164 meseci
Ako se slazes bilo bi dobro da zajedno prodjemo kroz zadatak...

1NF definicija:
Relacija zadovoljava 1NF ako je vrijednost svakog atributa jednostruka i nedjeljiva.

Po ovome bi trebalo uraditi ovako:

P_ID#,P_Ime,P_Prezime,P_DAT_RODJ,P_Z_ZNAK,P_Grad,P_UlicaBr,P_PostBroj,LET#,DAT_LET,GATE,AVION

P_IME_I_Prezime sam izdelio na 2 polja...
P_ADRESA na P_Grad,P_UlicaBr,P_PostBroj

Jel se slazes sa ovim???
 
Odgovor na temu

shaya_man
Dragan Šajkić
serviser računara / programer
Niš

Član broj: 218686
Poruke: 31
212.200.65.*



Profil

icon Re: Zadatak iz normalizacije30.09.2010. u 20:42 - pre 164 meseci
Ja sam posao od pretpostavke da P_IME_I_PREZIME posmatra kao atomarna vrednost i da je ne treba deliti dalje. Nacrtao sam ER model da bih video u kom su odnosu Pilot i Let i tu sam stao. Ne znam da li vazi pravilo 1:N ili je M:N.
Prtpostavio sam da je tabela sa trenutnim stanjem vec u 1NF. Za 2NF sam ih razvrstao u dve tabele, gde bi prva tabela bila Pilot a Druga Let. Za 3NF sam hteo da utvrdim odnos izmedju Pilota i Leta i da na osnovu toga odredim secondary key i na osnovu relacije napravim novu tabelu, ali nisam uspeo.
 
Odgovor na temu

shaya_man
Dragan Šajkić
serviser računara / programer
Niš

Član broj: 218686
Poruke: 31
212.200.65.*



Profil

icon Re: Zadatak iz normalizacije01.10.2010. u 15:00 - pre 164 meseci
Jel zna neko drugo resenje mozda??
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
212.178.244.*



+18 Profil

icon Re: Zadatak iz normalizacije01.10.2010. u 16:45 - pre 164 meseci
Pa to tvoje resenje je skroz logicno...ali stvarno nemam pojma kako bi se doslo do 3NF...
imao sam dobru volju da pomognem...
verujem da ima majstora za baze koji ce ovo da rese :)
 
Odgovor na temu

bojan21
Bojan Zukic
Beograd

Član broj: 101113
Poruke: 251
92.244.151.*



+6 Profil

icon Re: Zadatak iz normalizacije01.10.2010. u 22:29 - pre 164 meseci
Ja bih to resio ovako:
Code:

//'Oznaka_Aviona' odnosi se na 'Avion' iz zadatka
AVIONI(#ID_AVI, Oznaka_Aviona) 

// 'Oznaka_Terminala' odnosi se na 'gate' iz zadatka (ne volim da mesam engleske i srpske reci za nazive atributa)                 
TERMINALI(#ID_TER, Oznaka_Terminala)      

//ime i prezime kao i adresu mozes da rasclanis na vise atributa, ali neka ostane kao u zadatku                         
PILOTI(#ID_PIL, Ime_Prezime, Datum_Rodjenja, Adresa, Znak)

//dva poslednja atributa predstavljaju strane kljuceve   
LETOVI(#ID_LET, Datum_Leta, ID_TER, ID_AVI)                    

//odnos izmedju 'Pilota' i 'Leta', vise na prema vise
PILOT_LET(#ID_PIL, #ID_LET)


Mada opet, dosta toga zavisi od same postavke zadatka i zahteva profesora (pretpostavljam da ti treba za gimnaziju/faks).
 
Odgovor na temu

shaya_man
Dragan Šajkić
serviser računara / programer
Niš

Član broj: 218686
Poruke: 31
212.200.65.*



Profil

icon Re: Zadatak iz normalizacije01.10.2010. u 22:44 - pre 164 meseci
Najveci problem u tome je sto je celi zadatak bas ovako kako sam ga napisao i kaze sprovesti postupak noramalizacije do 3NF, bez dodatnih objasnjenja,npr o tome sta se u opste ocekuje od same baze i koja je svrha.
Slazem sa sa ovim sto je uradjeno, ali me interesuje da li je dozvoljeno da se dodaju atributi koji nisu zadati u zadatku? Npr Id aviona i Id terminala. Sto se tice konkretno terminala, po mom misljenju sam terminal kao GATE moze da sluzi kao ID jer je svaki terminal zaveden po jednim imenom, tako da postoji samo jedan terminal A1?!
Inace mi treba za fax.
Hvala puno svima!
 
Odgovor na temu

bojan21
Bojan Zukic
Beograd

Član broj: 101113
Poruke: 251
92.244.151.*



+6 Profil

icon Re: Zadatak iz normalizacije01.10.2010. u 23:34 - pre 164 meseci
Citat:
da li je dozvoljeno da se dodaju atributi koji nisu zadati u zadatku? Npr Id aviona i Id terminala.

To pitanje treba profesoru da postavis. Ja sam u sredjoj imao zadatke u kojima su svi "buduci" kljucevi definisani u polaznoj relacionoj semi, tako da nisam imao potrebe nista da dodajem.

Dodatni (vestacki) kandidat kljuc ti omogucava laksu izmenu podataka. Na primer, ako hoces da promenis oznaku aviona iz 'DC10' u 'DC21', jer si slucajno pogresio u unosu, sve sto je potrebno je da promenis vrednost atributa 'Oznaka_Aviona', dok 'ID_AVI' ne moras da diras. Samim tim ne moras da azuriras vrednost stranog kljuca u tabeli LETOVI jer ID aviona nije promenjen.
U slucaju kada bi sam atribut 'Oznaka_Aviona' bio primarni kljuc, posle njegove izmene morao bi da azuriras sve redove iz tabele LETOVI ciji je strani kljuc imao prethodnu vrednost (osim ako nije ukljucen referencijalni integritet, tada ce sistem to da uradi umesto tebe).



Citat:
po mom misljenju sam terminal kao GATE moze da sluzi kao ID jer je svaki terminal zaveden po jednim imenom, tako da postoji samo jedan terminal A1?!

Sigurno je tako, isto vazi i za avion, i to je tvoj izbor da li ces tako da uradis (svodi se opet na ovo gore). Mada, ako nije precizirano u zadatku, mozes uvek da probas da uprostis, pa da se posle vadis na cinjenice. :)


Dakle, za faks radi kako profesor kaze, a za posao kako je bolje.
 
Odgovor na temu

shaya_man
Dragan Šajkić
serviser računara / programer
Niš

Član broj: 218686
Poruke: 31
212.200.65.*



Profil

icon Re: Zadatak iz normalizacije02.10.2010. u 23:23 - pre 164 meseci
Hvala ti puno na savetima! Neke stvari su mi sada mnogo jasnije! Kako vidim, svaki zadatak moze da bude uradjen na vise nacina i da se dobije resenje koje je tacno, sto u stvari i jeste svrha.

Sto se tice pitanja za profesora, od toga nema nista. Zato sam ja resio da naucim dobro ovaj predmet, tako da ako na moje resenje bude netacno, ja onda imam dobre argumenta po kojima mogu da se suprotstavim i do kazem da je moje resenje tacno.

Hvala puno jos jednom!
 
Odgovor na temu

EmmaR
Srbija

Član broj: 269847
Poruke: 466



+172 Profil

icon Re: Zadatak iz normalizacije04.10.2010. u 19:39 - pre 164 meseci
Citat:
P_IME_I_PREZIME,,,,P_DAT_RODJ, P_Z_ZNAK ,,,,,,,,,P_ADRESA ,,,,,,,,,,,,,,,, P_ID#,,,,,LET#,,DAT_LET,,,GATE,,,AVION
---------------------------------------------------------------------------------------------------------------------------
CUK PTICA ======1.APRIL 1950== OVAN ====18000 NIS ZVECANSKA 8===1111 ===112 ==23. MAJ ==A1 ===DC10
MRAK VOZNJA ====3.MART 1955== RIBA ====18000 NIS DECANSKA 8 ====2222 ===223 ==13. MAJ ==A2 ===DC9
POP UTEHA ======8.APRIL 1953== OVAN====18000 NIS PRECANSKA 8===3333===113 ===3. MAJ ===A3 ===DC10
TICA GOLUB===== 12.JUN 1950=== BLIZANCI=18000 NIS SECANSKA 8====4444 ===666===12.MAJ ===A4 ===DC10


1. Jedan pilot može da ima više letova, tako da podatke vezane za pilota (ime i prezime, datum rođenja, znak, adresa, ID broj /ovo kako ključ) treba izdvojiti zasebno od podataka vezanih za let (LET#, DAT_LET, GATE, AVION)
2. U drugoj tabeli, koja se odnosi na let treba kao spoljni ključ dodati ID pilota. Inače, ovo je izvedena tabela.

3. Pitanje je koliko treba ići dalje:
1) u tabeli PILOTI može se razbiti polje adresa na: mesto, poštanski broj, adresa. Dalje, poštanski broj može da posluži kao ključ ka tabeli Mesto jer je izvesno da će se ponavljati mesta boravka. Može da se razdovoji i polje koje se odnosi na ime i prezime, zatim da se napravi lista sa 12 horoskopskih znakova. Pa čak i da se horoskopski znak izbaci jer može da se izračuna na osnovu datuma rođenja.
2) u tabeli LET, koja je izvedena, osnovni ključ je LET#, a svi ostali atributi su veze - spoljni ključevi ka drugim tabelama. Pitanje je da li treba formirati i te tabele sa par osnovnih podataka.


Lično mislim da je za treću normalnu formu dovoljno da se razdovoje podaci:

Tabela1: P_IME_PREZIME, P_DAT_RODJ, P_Z_ZNAK, P_ADRESA, P_ID#
Tabela 2: LET#, DAT_LET, GATE, AVION, P_ID*




Definicija druge normalne forme je sledeća: Entitet A zadovoljava drugu normalnu formu aka zadovoljava prvu i ako svaki atribut koji nije ključ potpuno zavisi od primamog ključa.
Definicija treće normalne forme je sledeća: Entitet zadovoljava treću normalnu formu ako svaki atribut koji nije ključ zavisi od ključa, čitavog ključa i ne služi ničemu drugom osim ključa.

ER
 
Odgovor na temu

shaya_man
Dragan Šajkić
serviser računara / programer
Niš

Član broj: 218686
Poruke: 31
212.200.65.*



Profil

icon Re: Zadatak iz normalizacije05.10.2010. u 22:00 - pre 164 meseci
Ovo bi moglo ovako u slucaju da je odnos izmedju pilota i leta 1 prema vise, ali ako je vise prema vise onda bi bilo drugacije, sto znaci da bi onda imali jednu tabelu vise!
 
Odgovor na temu

EmmaR
Srbija

Član broj: 269847
Poruke: 466



+172 Profil

icon Re: Zadatak iz normalizacije06.10.2010. u 10:36 - pre 164 meseci
Druga tabela je IZVEDENA i sadrži vezu između pilota i leta. E, sada ne radim u avio kompaniji i ne znam kakvi su odnosi ali pretpostavka je da u toku dana jedan pilot ide na jednom letu, sem ako se ne šeta na relaciji BG-NI-BG. Tabela u svakom slučaju dozvoljava da se u njoj više puta ponavlja isti pilot.

Misilim da sam pogrešila kada sam napisala da je LET# glavni ključ. Pre bi to bila kobinacija oznake leta, datuma leta i ID pilota i u tom slučaju je možda najpametnije dodati jedinstveni ključ u vidu AutoNumber polja, koje će se automatski povećavati pri svakom novom unosu. U stvari, to je definitivno bila greška. Sorry.

Kao što sam već napisala, ne znam da li treba dalje da razrađuješ bazu, jer za ovu kombinovanu tabelu nedostaje tabela sa podacima o letu i avionu. Mada, mislim, da jedan broj leta je samo oznaka za taj dan, tako da nije potrebna tabela vezana samo za let. Ne radim u avio kompaniji niti letim avionom, tako da stvarno to ne znam.

ER
 
Odgovor na temu

shaya_man
Dragan Šajkić
serviser računara / programer
Niš

Član broj: 218686
Poruke: 31
212.200.65.*



Profil

icon Re: Zadatak iz normalizacije06.10.2010. u 11:51 - pre 164 meseci
Ja sam razmisljao o tome da na letu postoje dva pilota, odnosno pilot i kopilot. E sad, da li kopilot moze da bude i pilot, ili ne. Ako moze, onda bi to znacilo da vise pilota mogu biti na jednom letu. Sa druge strane, da li jedan pilot moze biti na vise leta. Ovo se svodi na ono o cemu si govorila, da jedino ako ima vise leta u toku dana, ali u jednom trenutku, jedan pilot je samo na jednom letu.

Mislim da nije potrebno dodatno razbijanje atributa adresa,p ime i prezime i ostalo, nego samo na postojecu situaciju da se izvrsi normalizacija sa pretpostavkom da je sama tabela vec u 1NF. Mozda bi samo trebalo, pored tabele let, izdvojiti u posebnoj tabeli avion i gate. Po mom misljenju sam naziv terminala predstavlja kljuc jer ne postoje dva terminala sa istim imenom!
 
Odgovor na temu

EmmaR
Srbija

Član broj: 269847
Poruke: 466



+172 Profil

icon Re: Zadatak iz normalizacije06.10.2010. u 12:56 - pre 164 meseci
Citat:
shaya_man: Ja sam razmisljao o tome da na letu postoje dva pilota, odnosno pilot i kopilot. E sad, da li kopilot moze da bude i pilot, ili ne. Ako moze, onda bi to znacilo da vise pilota mogu biti na jednom letu. Sa druge strane, da li jedan pilot moze biti na vise leta. Ovo se svodi na ono o cemu si govorila, da jedino ako ima vise leta u toku dana, ali u jednom trenutku, jedan pilot je samo na jednom letu.

Mislim da nije potrebno dodatno razbijanje atributa adresa,p ime i prezime i ostalo, nego samo na postojecu situaciju da se izvrsi normalizacija sa pretpostavkom da je sama tabela vec u 1NF. Mozda bi samo trebalo, pored tabele let, izdvojiti u posebnoj tabeli avion i gate. Po mom misljenju sam naziv terminala predstavlja kljuc jer ne postoje dva terminala sa istim imenom!


Tako sam i ja prvo mislila. Ali broj terminala - kapija je ograničen: Različiti letovi u različito vreme će se odvijati sa istih terminala - dolazak/polazak. To ti je nešto kao peroni na autobuskim ili železničkim stanicama. Ako već razmišljaš i u tom pravcu, dodaj još jedno polje u drugu tabelu - koje će se automatski uvećavati pri svakom novom unosu.
NEbitno je u kakvoj je statusu kopilot. Ako ćeš već tako, imaš ih još u kabini aviona, tako da to nije važno. Nije ni bitno ni da li kopilot na nekom drugom letu može biti glavni pilot. SVE SE POVEZUJE PREKO IZVEDENE TABELE koja sadrži podatke u LETU, DATUMU LETA, TERMINALU, i, ono što sam predložila, PILOTU (id oznaka); i na kraju ID oznaka slogova - redova u ovoj tabeli da se ne bi pravio kombinovani ključ a LET, GATE, P_ID (pa čak i oznaka aviona) mogu da posluže kao spoljni ključevi - indeksi u slučaju pretrage tipa da se vidi koliko je letova bilo sa tog i tog terminala, kog dana i sl...
Hm, ovde nedostaje vreme polaska/dolaska (???)

P.S. Koliko mi je poznato, izbegavaju se tabele sa odnosnom više prema više. Obično se pravi međutabela sa kojom imaju odnos jedan prema više a koja se sastoji od njihovih primarnih ključeva koji ih povezuju, sa eventualnim dodavanjem jedinstvenog ID ključa za tu tabelu.

Imaš li pravo na neku konsultaciju sa profesorom? Poznaješ li nekog starijeg studenta koji zna šta profesor voli ili ne voli (mislim kod ovakvih radova)?
To sve može da ti olakša da dođeš do "tačnog" rešenja.
ER
 
Odgovor na temu

shaya_man
Dragan Šajkić
serviser računara / programer
Niš

Član broj: 218686
Poruke: 31
212.200.65.*



Profil

icon Re: Zadatak iz normalizacije06.10.2010. u 13:40 - pre 164 meseci
Ma sve je to jedna zamrsena situacija sa profesorom, a starije studente da pitas, nemaju pojma, jer kod profesora ti je sve ralativno. Mozes da uradis sve pogresno i da polozis ispit, a sa druge strane mozes da uradis dobro i da ne polozis. Isao sam kod asistenta na konsultacije, ail on izbegava da pokazuje normalizaciju, zato sto profesor ne priznaje normalizaciju na njegov nacin, a sam profesor ga nema nikad u skoli. Iz tog slucaja sam resio da sve uradim kako treba i da budem siguran da je resenje potpuno tacno, tako da ne moze da me obori.

Sto se tice terminala, u pravu si! Nisam razmisljao u tom smeru.

Svi podaci su bas takvi kako stoje u tabeli i nema dodatnih objasnjenja...
 
Odgovor na temu

EmmaR
Srbija

Član broj: 269847
Poruke: 466



+172 Profil

icon Re: Zadatak iz normalizacije06.10.2010. u 14:09 - pre 164 meseci
Mora da postoji neka caka: Svaki profesor na nešto "pada" (sećam se profesorke kod koje je devojka sa slabim radom položila sa 10 samo zbog ruže u indeksu a kolega koji je razbijao taj predmet dobio mršavu 8icu jer ima loš (ali čitljiv) rukopis).

To sve predaješ u pismenoj formi? Ako ništa drugo, rešenje do koga dođeš detaljno objasni - zašto, kako - kompletan pravac razmišljanja. I, pokušaj maksimalno da se približiš predavanjima - primerima i definicijama vezanim za normalizaciju. A možeš i da ga citiraš u svom radu.
Dalja razrada bi zavisila od toga koliko profesor voli da student razmišlja svojom glavom. (ti su bolji, imaš prostora). U tom slučaju možeš da spomeneš i u zadatku nenavedene tabele vezane za avion, let, ...

A, ako je neko ko voli da bude samo po njegovom, za 10 treba da ga "pogodiš" 200 posto....
ER
 
Odgovor na temu

[es] :: Baze podataka :: Zadatak iz normalizacije

Strane: 1 2

[ Pregleda: 4841 | Odgovora: 24 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.