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

Pravljenje jedne velike, ili vise malih tabela

[es] :: Baze podataka :: Pravljenje jedne velike, ili vise malih tabela

[ Pregleda: 3358 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

M E N E
borislav
Temerin

Član broj: 30434
Poruke: 231
80.74.165.*



+1 Profil

icon Pravljenje jedne velike, ili vise malih tabela29.04.2008. u 07:59 - pre 134 meseci
Dakle, generalno, koja je prednost jednog, a koja drugog pristupa
Ako u tabeli imam 50-100 kolona, koje su jednoznacno odredjene primarnim kljucem (PK), ali od kojih nam cesto treba 10 kolona,
da li da napravim jednu tabelu sa svim tim kolonama
ili da napravim dve (ili cak vise) tabela sa identicnim PK?

Uhvatili ste me nespremnog
 
Odgovor na temu

Getsbi

Član broj: 124608
Poruke: 2724



+32 Profil

icon Re: Pravljenje jedne velike, ili vise malih tabela29.04.2008. u 10:16 - pre 134 meseci
Ako ja postavim pitanje da li u nekoj prostoriji da napravim orman-regal sa 50-100 fijoka ili nekoliko oramarića sa 10-15 fijoka, uslediće sa tvoje strane sledeća pitanja: Koja je namena prostorije? Šta se čuva u fijokama? Da li je istorodan ili raznorodan materjal koji se čuva? i niz sličnih pitanja.
Dakle odgovor na pitanje: "Ravna tabela ili relacioni model više tabela?" bio bi: "Zavisi od projektnog zadatka (namene, broja mogućih entiteta, eventualnih veza između njih, koje proističu iz poslovnih pravila ........"
Prednosti jedog nad drugim mogu da se razmatraju samo u kontekstu određenog zadatka. Zadatak mora da bude iscrpno opisan i definisan sa istaknutim svim zahtevima korisnika i resursa. Naknadno dodavanje zahteva može, a ne mora da naruši koncept.
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 5517

Sajt: pedja.supurovic.net


+1261 Profil

icon Re: Pravljenje jedne velike, ili vise malih tabela29.04.2008. u 12:09 - pre 134 meseci
Covek je sasvim dobro objasnio sta ga interesuje, samo treba znati procitati.

Dilema je vrlo cesta: da li sve podatke iz jedna tebele koji su odredjeni istim primarnikm kljucem podeliti u vise tabela koje su medjusobno u vezi 1:1, to jest, da li bi se time dobilo na performansama.

Odgovor je: to zavisi od baze. Neke baze se dobro snalaze bez obzira na obim podataak ujednom slogu a neke ne.
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Moderator
Član broj: 53780
Poruke: 575
*.ADSL.neobee.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Pravljenje jedne velike, ili vise malih tabela29.04.2008. u 12:39 - pre 134 meseci
Neću reći ništa novo - zavisi od baze (podataka).

Odgovor na pitanje zavisi od strukture podataka - obično se u tabelama sa mnogo kolona nalazi i mnogo "NULL-abilnih" kolona. To je meni uvek signal za potencijalni problem u strukturi podataka. Često takve ogromne tabele i treba da se razbiju u manje tabele. i da tom prilikom čak nastane 1:0 veza među njima (VIEW-om i JOIN-ovima se posle ove tabele lako "fletuju").

Dalje, zavisi i od prava pristupa podacima. Osetljive kolone koje netreba baš svako da vidi možeš da prebaciš u drugu tabelu i nad njom primeniš strožija pravila pristupa.

Naravno zavisi i od performansi sistema - ako se radi o maloj količini podataka teško ćeš primetiti razliku u korišćenju jedne u odnosu na dve tabele (čak i da se te dve tabele fizički nalaze na posebnim hard diskovima).

Ono što je sigurno - sistem sa više tabela je teži za "programiranje" (što ne znači da takav sistem treba izbegavati).
"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

Mare The Walker
Student

Član broj: 174789
Poruke: 14
79.101.239.*



Profil

icon Re: Pravljenje jedne velike, ili vise malih tabela15.06.2008. u 15:34 - pre 133 meseci
Ja sam za vise malih tabela,jer kao sto si i sam rekao u toj velikoj bi koristio samo 10-20% kolona!Mislim da bi u slucaju vise tabela dobio dosta na performansama sistema!
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3082
*.100.46-69.q9.net.



+78 Profil

icon Re: Pravljenje jedne velike, ili vise malih tabela16.06.2008. u 13:39 - pre 133 meseci
Chachka je kazao:
Citat:
Ono što je sigurno - sistem sa više tabela je teži za "programiranje" (što ne znači da takav sistem treba izbegavati).

Ovde moram da se donekle ne slozim. Mozda je bolje reci "sistem sa flat tabelama je 'laksi' za programiranje samo u nekim specijalnim slucajevima". Ako "sistem" posmatramo kao celinu sa mnogo funkcija koje treba da obavi, vecina funkcija koje sistem treba da obavi je mnogo laksa za programiranej ako je baza lepo normalizovana (mnogo tabela sa malim brojem kolona). Kazem "vecina", a to bi bilo izmedju 90% i 99% funkcija, zavisno od sistema, a prema mom iskustvu.

Znaci, ako se fokusiras na jednu specijalnu operaciju koju sistem moze da obavi, onda ti se moze uciniti da je jedna flat tabela 'bolja' nego normalizovana baza. To su situacije tipa "ali moj klijent hoce da unese plan za 12 meseci horizontalno, svaki mesec jedna kolona.." i slicno. U redu je da klijent tako hoce da UNOSI podatke. Nije u redu da se tako podaci organizuju. Dobar programer ce napraviti lako da klijent VIDI na ekranu ono sta je tarzio da VIDI (makar i za potrebu unosa), a da sve bude savrseno lepo normalizovano u pozadini. Naglasak je na "dobar programer". Da li je lako? Ne uvek, ali dobri programeri su obicno placeni dovoljno para da od njih ocekujemo da nauce da u svom programskom jeziku korisniku prikazu normalizovane podatke u bilo kom obliku.

Fokusiranje na jednu specijalnu funkciju (obicno unos ili prikaz podataka) i gradjenje ostatka sistema oko te funkcije, nije dobra ideja. Sta ce se sve od sistema traziti u buducnosti i nije moguce 100% predvideti na pocetku. U tome je glavna vrednost normalizovanih baza podataka - one omogucuju strahovitu fleksibilnost, i na starni sa podacima, i na front endu. Naravno, u celoj guzvi uvek ima nesto za sta bi flat tabela bila 'laksa' (ali ne i 'bolja', samo 'laksa') i to prividno, za programiranje jedne jedine funkcije sistema. A programer koji bezi od 'teskog' resenja ili je lenj ili ne zna svoj posao. Kako god okrenes, ne valja

:-)

 
Odgovor na temu

[es] :: Baze podataka :: Pravljenje jedne velike, ili vise malih tabela

[ Pregleda: 3358 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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