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

Geografska odredjenost kao entitet u relaciji sa drugim entitetima...

[es] :: Baze podataka :: Geografska odredjenost kao entitet u relaciji sa drugim entitetima...

[ Pregleda: 2582 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.3dnet.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Geografska odredjenost kao entitet u relaciji sa drugim entitetima...10.11.2006. u 11:30 - pre 213 meseci
Pozdrav,

Imam jednu dilemu vezanu za projektovanje baze:

* Pretpostavimo da je geografska odredjenost (država i grad) nečega u nekoj
bazi jako bitna u samoj obradi, pa se ne sme dopustiti da bude "običan" opisni
atribut nekog entiteta podlozan greskama operatera.

* Pretpostavimo da je zbog gore navedenog geografsku odredjnost potrebno
definisati kao zaseban entitet (tabelu/tabele) ka kojima će se ostvarivati spoljne
ID veze.

* Pretpotavimo da geografsku odredjenost jednoznačno definiše Država + Grad.

* Pretpostavimo da više Gradova može imati isto ime, ali samo u nekoj drugoj
zemlji, na primer (ovo je OK):

Great Britain + London
Canada + London

* Pretpostavimo da tabela Država *mora* biti zasebna zbog nekih posebnih razloga.

Kako je po vama najbolje projektovati entitet/entitete geografske određenosti (po
teoriji baza podataka, normalnih formi i same kasnije upotrebljivosti), da bi se kasnije
po potrebi uspostavljale veze ka toj geografskoj odredjenosti, kako ka samoj
drzavi, tako i ka konkretnom gradu u drzavi?

Na primer, moze li ovako (karikirano):

--- entiteti uvedeni zbog geografske odredjenosti ---

Tabela: Države
1. ID
2. ime_drzave
(ID auto-increment, ime_drzave bez duplikata, ID+ime_drzave=P.KEY.
Ovde je ocigledno da ne treba ni ID, ali ipak bih ga zadrzao)

Tabela: Gradovi
1. drzava_ID (veza sa Drzave.ID)
2. grad
(drzava_ID+grad=P.KEY)


--- sa stanovista koriscenja ---

Tabela: Ličnosti
1. ID
2. ime_prezime
3. drzava_ID (veza sa Drzave.ID)
4. grad_ID (veza sa Gradovi.grad)


Da li je ovo gore ispravno, uobičajeno, itd...?

U ovom trenutku imam dilemu. S obzirom da je u tabeli Gradovi sadržano
sve što je potrebno za jednoznačno definisanje geografske lokacije (jer
ima i atribut država), da li je ovakva modifikacija sistema moguća (i validna):

* Da se Tabela Gradovi preimenuje u Tabelu MESTO (zbog jasnoće):


Tabela: MESTO (bivša Gradovi)
1. ID
2. drzava_ID (veza sa Drzave.ID)
3. grad
(drzava_ID+grad=P.KEY, ID da bude običan auto-increment
bez duplikata, jer kad bih i njega uzeo u obzir za primarni ključ, izgubio bih
jedinstvenost atributa: drzava_ID+grad)


* Da se Tabela Ličnosti modifikuje tako da se atributi drzava_id i grad_id
zamene jednim atributom - mesto_ID:

Tabela: Ličnosti
1. ID
2. ime_prezime
3. mesto_ID (veza sa MESTO.ID)


E sad, ne znam koliko je uobičajeno da se spoljni ključ (Ličnosti.mesto_ID) vezuje
za atribut koji NIJE KLJUČ ILI DEO PRIMARNOG KLJUČA:MESTO.ID ?

(Čak mislim da standard "iso/iec 2382-17:1996" sam naziv spoljni ključ jasno vezuje
za pojam primarnog ključa nekog drugog etiteta)

Kako biste vi to rešili?
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+11 Profil

icon Re: Geografska odredjenost kao entitet u relaciji sa drugim entitetima...10.11.2006. u 12:53 - pre 213 meseci
Ova druga opcija je po meni bolja, samo sto ID grad apostaje primarni kljuc. Upravo zbog toga se i uvodi to polje, da bude surogat kljuc koji ce imati ulogu PK umesto da PK bude sastavljen od dva polja. Pored PK definisi jos jedan indeks koji ce biti unique, a koji ce se odnositi na polja drzava_id + grad
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.3dnet.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Geografska odredjenost kao entitet u relaciji sa drugim entitetima...10.11.2006. u 13:22 - pre 213 meseci
Citat:

Ova druga opcija je po meni bolja, samo sto ID grada postaje
primarni kljuc.

Misliš ovako:

Tabela: MESTO

1. ID (PK)
2. drzava_id (spoljni kljuc ka ID-ju drzave)
3. grad (obican string)

Citat:

Pored PK definisi jos jedan indeks koji ce biti unique, a koji
ce se odnositi na polja drzava_id + grad

Razumem šta hoćeš da mi kažeš, ali ne znam kako to da postignem,
barem ne u MS Access bazi.

Kako da mi ID ostane PK, a da proglasim da mi drzava_id + grad
posmatrani zajedno budu UNIQUE?
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.kalik.info.



Profil

icon Re: Geografska odredjenost kao entitet u relaciji sa drugim entitetima...10.11.2006. u 14:35 - pre 213 meseci
Pozdrav,

problem bi možda mogli malo zakomplikovati. Hipotetički, šta ako imamo u okviru neke države dva grada(mesta) sa identičnim nazivom!?! Trebalo bi uvesti i razlikovanje mesta po opštinama!?!
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+11 Profil

icon Re: Geografska odredjenost kao entitet u relaciji sa drugim entitetima...10.11.2006. u 14:47 - pre 213 meseci
ja to obicno resavam tako sto uopste neinsistiram na jedinstvenosti kombinacije drzava + grad. To ostavim slobodno, pa ako neko bas voli da unosi duplikate, neka mu ih :)

xfiles, PK pravis kao i svaki drugi PK, eventualno topolje naravis kao autoincrement, a unique indeks pravis kao i svaki druqi unique index. Ne koristim MS Access pa ne bih ulazio u njegovu sintaksu.
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Geografska odredjenost kao entitet u relaciji sa drugim entitetima...10.11.2006. u 15:00 - pre 213 meseci
Citat:
loshmiscg: Pozdrav,

problem bi možda mogli malo zakomplikovati. Hipotetički, šta ako imamo u okviru neke države dva grada(mesta) sa identičnim nazivom!?! Trebalo bi uvesti i razlikovanje mesta po opštinama!?!

Ne moras hipoteticki, to je stvarno tako:
1. Bare (kod Knica, kod Pozarevca, kod Sjenice)
2. Jasenovo (kod Bele Crkve, kod Despotovca, kod Nove Varosi)
3. Kamenica (kod Dimitrovgrada, kod Gornjeg Milanovca, kod Koceljeve, kod Valjeva)
....
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.kalik.info.



Profil

icon Re: Geografska odredjenost kao entitet u relaciji sa drugim entitetima...10.11.2006. u 15:25 - pre 213 meseci
Edit:
Možda bi moglo napraviti i entitet OPSTINA, pa sa MESTOM povezati preko ID_Opstina.
DRZAVA (#ID_DRZAVA, NAZIV)
OPSTINA(#ID_OPSTINA, NAZIV, $ID_DRZAVA) -- NAZIV, ID_DRZAVA da budu UNIQUE
(ne mogu biti 2 opštine sa istim imenom u jednoj državi)
MESTO (#ID_MESTO, NAZIV_MESTA, $ID_OPSTINA) -- ID_OPSTINA i NAZIV_MESTA da budu UNIQUE
(u jednoj opštini ne mogu biti dva mesta s istim nazivom)
LICNOSTI (#ID_LICNOST, IME, ..., $ID_MESTO)

Na kraju napravimo pogled u kojem ćemo to sve lepo prikazati kao jednu celinu, odraditi spajanje tabela u jednu flat tabelu.

[Ovu poruku je menjao loshmiscg dana 10.11.2006. u 19:01 GMT+1]
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 576
*.suonline.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Geografska odredjenost kao entitet u relaciji sa drugim entitetima...10.11.2006. u 17:07 - pre 213 meseci
1.
Grad je grad bez obzira na to kojoj drzavi pripada i koje ime trenutno ima. Dobar primer za to je danasnji Istambul, koji je menjao imena (Carigrad, Konstantinopolj) i drzave kojima je pripadao (Rimsko Carstvo, Vizantija, Turska). Svi znamo da je to jedan te isti grad.

Ja nebih u identifikaciju grada uplitao trenutnu pripadnost grada nekoj drzavi. Drzave nastaju i nestaju, a gradovi ih najcesce nadzivljavaju. Gradovi ne zavise egzistencijalno od drzava.

Zaista je dobro pitanje po cemu se to grad identifikuje? Pada mi na pamet geografska sirina + geografska duzina. Ali ja ne znam te podatke ni za grad u kojem zivim, te mi se to nikako ne svidja.

Definitivno se mora uvesti vestacki atribut koji ce sluziti kao primarni kljuc, dok je pripadnost grada drzavi samo relacija izmedju entiteta 'Gradovi' i entiteta 'Drzave'. Nacin realizovanja ove relacije (kao posebna tabela ili kao atribut) zavisi od toga da li se treba pratiti istorija pripadnosti.


2.
Sto se tice:
Citat:
X Files: (Čak mislim da standard "iso/iec 2382-17:1996" sam naziv spoljni ključ jasno vezuje za pojam primarnog ključa nekog drugog etiteta)

isti taj standard (koji je btw povucen, ako ne laze internet) kaze da primarni kljuc nedvosmisleno identifikuje jedan red tabele, te po njemu sledi da su i atribut ID i par atributa (drzava_ID, grad) iz tabele 'MESTO' u stvari primarni kljucevi. Po meni se, u duhu tog standarda, u prvom postu ispravno koristi termin 'FOREGN KEY'.

U SQL-u se terminom PRIMARY KEY oznacava kljuc koji se uzima kao default kljuc za foreign key referenciranje. To ne znaci da se referenciranje ne moze vrsiti i po ostalim kljucevima (pa cak i po ne kljucnim atributima sto ja ponekad koristim). Na zalost ti ostali kljucevi (i atributi) se u SQL-u moraju definisati upotrebom UNIQUE INDEX-a, jer mene to asocira na fizicko uredjenje baze.

"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
89.216.236.*

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Geografska odredjenost kao entitet u relaciji sa drugim entitetima...10.11.2006. u 19:01 - pre 213 meseci
Hvala svima na detaljnim odgovorima. Ovo je bacilo malo svetla na celu situaciju.

Pozdrav.
 
Odgovor na temu

[es] :: Baze podataka :: Geografska odredjenost kao entitet u relaciji sa drugim entitetima...

[ Pregleda: 2582 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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