Pogledajte određenu poruku
Staro 13. 10. 2008.   #1
Petar Marić
Python Ambassador
Master
 
Avatar Petar Marić
 
Datum učlanjenja: 06.06.2005
Lokacija: Novi Sad
Poruke: 602
Hvala: 28
27 "Hvala" u 17 poruka
Petar Marić će postati "faca" uskoro
Pošaljite ICQ poruku za Petar Marić
Question Mapiranje vrednosti atributa na kolone ili redove?

U izradi svog Master rada sam naišao na jednu dilemu - da li je pametnije mapirati vrednosti atributa na kolone ili redove u tabeli? Slede primeri mapiranja na značajno pojednostavljenim modelima:

Mapiranje na redove:
upitnik(id, kreirao_korisnik_fk, naziv)
pitanje(id, upitnik_fk, tekst_pitanja, redosled, ...)
ponudjeni_odgovor(id, pitanje_fk, tekst_odgovora, redosled, ...)
korisnikov_odgovor(id, korisnik_fk, pitanje_fk, ponudjeni_odgovor_fk, ...)
Mapiranje na kolone:
upitnik(id, kreirao_korisnik_fk, naziv)
pitanje(id, upitnik_fk, tekst_pitanja, odgovori*, redosled, ...)
korisnikov_odgovor(id, korisnik_fk, upitnik_fk, odgovor1, odgovor2, ..., odgovorN**, ...)
* polje je tekstualnog tipa i u njemu su pojedinačni odgovori međusobno razdvojeni karakterom za novi red.
** odgovorX je odgovor na X-to pitanje upitnika. Takođe se unapred pri projektovanju baze mora postaviti ograničenje na maksimalni mogući broj ponuđenih odgovora na 1 pitanje.

Mapiranjem na kolone se postiže manji broj redova, ali su tada neke kolone NULL. Takođe se unapred mora odrediti maksimalni podržani broj ponuđenih odgovora na 1 pitanje.

Baza za koju sam dao 2 potencijalna modela je primarno namenjena za prihvatanje podataka (OLTP), ali bi bilo lepo kada bi bila prilagođena i za osnovno OLAP korišćenje da bi se izbeglo korišćenje 2 baze i njihova sinhronizacija, bar u početku.

Šta vi mislite?
__________________
Python Ambassador of Serbia
Petar Marić je offline   Odgovorite uz citat