Autor | Zpráva | ||
---|---|---|---|
Forseti Profil |
#1 · Zasláno: 3. 8. 2009, 21:05:09 · Upravil/a: Forseti
No nevím jak bych to přesně popsal tak uvedu rovnou příklad:
1. mám chovatele, kteří chovají různé druhy papoušků 2. mám různé druhy papoušků, přičemž jeden druh papouška může chovat více chovatelů no a můj problém je, že jaksi nevím jak sestavit tabulky. U klasických relací 1:1 a 1:N bych si věděl rady, ale u N:N mě nějak nenapadá jak na to (a asi to taky není moc dobrý nápad dělat něco takového). Leda udělat tabulku s chovateli a pro každého chovatele udělat tabulku s papoušky a svázat to, ale to je podle mě celkem nesmyslné. V budoucnu by mělo být možné vyhledávání kdo chová určitý druh papouška a co chový který chovatel. proto nechci dávat papoušky u chovatelů do pole. Uvažoval jsem nějak takhle: tabulka chovatele: id jmeno id_papouska ... tabulka papousci: id rod druh ... ale to by podle mě neřešilo moji situaci, nebo jo??? Teď mě tak napadlo tam vkládat další řádky a měnit jenom id_papouska, nebo udělat další tabulku jenom na přiřazení chovatele k papouškovi id id_chovatele id_papouska 1 1 1 2 1 2 3 1 3 4 2 1 5 2 5 ... PS: s databázemi začínám |
||
Kajman_ Profil * |
#2 · Zasláno: 3. 8. 2009, 21:58:13
Ano, většinou se to řeší zmíněnou třetí tabulkou. Často se ve třetí tabulce nepoužívá id řádku, ale jako primární klíč slouží kombinace obouch id. Jen v případě, že chcete mít nějak informaci o opřesném jednom papouškovi (datum narození, pohlaví, barva) tak se takové id hodí. Jinak by stačilo přidat sloupeček s počtem kusů tědlech papoušků daného chovatele.
|
||
Apacuka Profil |
#3 · Zasláno: 3. 8. 2009, 22:09:38
mam to nejak podobne, akorat ne s papouskama :)
chovatele - id, jmeno papousci - id, rod, druh, chovatel_id // co chova ktery chovatel $result = mysql_query("SELECT * FROM papousci LEFT JOIN chovatele ON chovatele.id = papousci.chovatel_id WHERE chovatel_id"); while ($row = mysql_fetch_array($result)) { echo "$row["jmeno"] - $row["druh"]"; } |
||
Časová prodleva: 3 dny
|
|||
Forseti Profil |
#4 · Zasláno: 6. 8. 2009, 10:37:00
děkuju, ta třetí tabulka bude asi ideální i s tím zmíněným počtem papoušků
|
||
Časová prodleva: 15 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0