třídění podle kategorií

Jak vhodně navrhnout struktůru tabulky, v níž jsou uloženy obrázky ke kterým jsou přiřazeny alba? Jeden obrázek může patřit do více alb a počet alb je neznámý, lze je průběžně vytvářet a mazat.

Dík za náměty a rady.
Udělal bych 2 tabulky alba a obrazky. V tabulce alba by bylo ID alba a pak název a tak. V tabulce obrazky by bylo ID obrázku a ID alba odkazujici na zaznam v tabulce alba.

alba
ID nazev
1 Výlet na hrad
2 Oslava narozenin
3 Vánoce u babičky

obrazky
ID ID_alba
1 1
2 1
3 2
4 3
5 2
6 1

Obrázky bych ukládal do adresář pod ID v databázi (1.jpg, 2.jpg).
No tohle je mi jasný, ale to neumožňuje aby jeden obrázek náležel do více alb.

Mezitím jsem se dočetl jednoho řešení, kterému jsem se chtěl původně vyhnout, ale asi bude nejlepší:

3 tabulky:

1.) obrázky (IMG-ID, cesta, komentář, autor, ...)
2.) alba (ALBUM-ID, název, komentář, ...)
3.) obrázek v albu (IMG-ID, ALBUM-ID)

Prostě ta třetí pomocná tabulka bude mít jako primární klíč kombinaci těch dvou klíčů předchozích dvou tabulek a tak zajistí mezi nimi vazbu M:N

Nějaký lepší nápad?
Teď bych ale potřeboval vědět jak zjistím to id (auto_increment) právě vkládaného obrázku abych ho mohl napsat do té další tabulky. Nevíte to někdo?
Co to udělat takto:

obrazky
ID ID_alba
1 1
2 1
3 2
4 3
5 2
6 1
2 3
3 3

Název nemusíš řešit, protože ti ho tvoří ID a .jpg si přidáš. Normálně bys tam měl mít i komentář a autora, čímž by se texty duplikovaly. To asi nevadí. Pár bytů navíc db zvládne.

Nebo to udělej jako já a ukládej si ty texty k přímo do fotky do komentáře jpegu. Tím jsem vyřešil zapisování informací do db a fotka si to nese s sebou.

Ale jde to řešit i tvým způsobem přes třetí tabulku vazeb.

Jinak autoincrement sám doplní další číslo při INSERTu. V případě výše uvedeného řešení bys autoincrement nemohl využít, ale zjistit největší existující číslo není problém - jeden dotaz.
Tretia tabuľka pre väzbu M:N je štandardné (najlepšie) riešenie.
Hodnotu posledného čísla vytvoreného cez autoincrement vráti funkcia mysql_insert_id.
http://sk2.php.net/manual/en/function.mysql-insert-id.php
AD reseni s vazbou m:n

lepsi reseni asi nebude, protoze v jinem pripade by byla nektera data zbytecne redundantni, duplikovana...
zbi : To je nefunkční kvůli tomu, že jeden obrázek nemůže patřit do více alb. Do komentáře jpegu sice ukládat text můžu, ale to zase bude fungovat jenom pro jpeg.

donny, los : Jo, při M:N to je nejlepší řešení, hledal jsem všade a říkají to všichni, takže do toho jdu. Za mysql_insert_id() díky, tu jsem vůbec neznal.