[ MilosDj @ 10.10.2010. 12:16 ] @
Npr imam bazu podataka sa sportistima. Neki se bave kosarkom, neki fodbalom, odbojkom... A neki treniraju 2 ili vise sportova.

Na koje sve nacine moze da se napravi ta baza?
Trenutno imam dva resenja:

1. tabela:
id, ime, fudbal, kosarka, .... sport X.
I stavim true, za svaki sport koji covek trenira. Cini mi se da je to prilicno rasipanje jer lako moze da se pojavi 500 raznih sportova pa ta tabela moral da ima 500 col. I ako hocu da dodam novi sport, ja moram da dodam novu kolonu jer se pojavila osoba koja trenira dhmnj jogu ili nesto jos exoticnije.
Lepa stvar je sto lako znam koliko ima kosarkasa, fudbalera itd.


2. tabela:
id, ime, [lista sportova kojim se covek bavi]
Ovo mi deluje jako ekonomicno, samo je malo teze sortirati ljude po sportovima. Tj uvek mora da se mulja po toj listi i proveri pripadnost odredjenom skupu, tj sportu.


Ima li jos nacina? Nesto bolje? Generalno, kako se prave preseci skupova u bazama?
[ Aleksandar Ružičić @ 10.10.2010. 13:25 ] @
to ti je najbolje sa tri tabele da uradis:

1. sportsman: id, name, ...
2. sport: id, name, ...
3. sportsman_sport: sportsman_id, sport_id

npr:
Code:

sportsman:    
+----+------+
| id | ime  |
+----+------+
|  1 | pera |
+----+------+

sport:
+----+---------+
| id | ime     |
+----+---------+
|  1 | fudbal  |
+----+---------+
|  2 | kosarka |
+----+---------+

sportsman_sport:
+--------------+----------+
| sportsman_id | sport_id |
+--------------+----------+
|            1 |        1 |
+--------------+----------+
|            1 |        2 |
+--------------+----------+


tako mozes koliko god hoces sportova da povezes sa jednim sportistom.
[ MilosDj @ 10.10.2010. 13:43 ] @
Genijalno! Prakticno si stavio sve veze tj. pripadnosti podskupovima u jednu tabelu.
Hvala
[ Aleksandar Ružičić @ 10.10.2010. 14:36 ] @
nije to nista sto sam ja izmislio :)

proguglaj malo na temu database normalization, mozes i ovaj forum da pretrazis bilo je dosta kvalitetnih tema o tome...
[ MilosDj @ 10.10.2010. 15:00 ] @
Hvala, kako god bilo ;)

Eh, treba znati da se to zove normalizacija. Meni su prvo skupovi pali na pamet.
[ bogdan.kecman @ 12.10.2010. 08:38 ] @
kreni odavde
[ MilosDj @ 24.10.2010. 22:04 ] @
Bograne, odlican tutorial! Zahvaljujem (sa malim zakasnjenjem)