Takhle, zkusim ti nastinit, co tu mam treba za db a jak mam tabulky.
Mam db seznam publikaci.
Publikace - nazev, popis, 1-n autoru, typ publikace, zanr, oddeleni, dalsi sloupce (tiskove udaje ISBN, pocet stran)
tab_publikace - id_pub, id_typ, dalsi_sloupce
tab_autor - id_autor, dalsi_sloupce (jmeno, prijmeni, datum narozeni, zeme narozeni, ...)
tab_pub_aut - id_publikace, id_autor
tab_zanr - id_zanr, dalsi_sloupce (scifi/detektivka, popis zanru...)
tab_pub_zan - id_publikace, id_zanr
tab_oddeleni - id_oddeleni, dalsi sloupce (anglicka lit/ceska lit, ...)
tab_pub_odd - id_publikace, id_oddelleni
Pak chces z toho seznam publikaci, tak je to jeden sileny dotaz s mnoha LEFT JOIN.
Pokud se ma vyhledavat, silenost stoupa a resil jsem to nekolika selecty v sobe, jejichz vysledkem je seznam id pro puvodni sileny dotaz s left joiny (20 ruznych prijmeni autoru mi to najde mezi 4000 publikacemi asi za 0.5s; samozrejme, to je extrem, vyhledavani mam omezene na asi 6-8 prijmeni naraz).