Keresés

Új hozzászólás Aktív témák

  • Soak

    veterán

    válasz Speeedfire #10703 üzenetére

    Ez azt jelenti, hogy ha lesz 10 képem , mindegyik 10 tag-el akkor lesz 100 sorom abban a táblában. Nem fog ez elszállni egy idő után? Nem tudom mi számít soknak, de ha 5.000 user feltölt csak 5 képet és mindegyiken van 5 tag az 125.000 sor. És 5.000 user az nagyon kevés.

    Sk8erPeter : És az összekapcsoló táblában úgy gondolod, hogy a két id az foregin key lenne, updatelve? Tehát ha törlök egy taget akkor tölődik a kapcsolat, plusz ha egy képet akkor is. Kicsit jobban rendbe tartja magát.

  • Sk8erPeter

    nagyúr

    válasz Speeedfire #10703 üzenetére

    Ennél még egy fokkal szebben kellene (de ez még így is egy egyszerű megoldás):
    lehetne egy tag tábla, egy képeket nyilvántartó tábla, plusz egy összekapcsoló tábla;
    tag táblában: tag id, tag neve
    kép táblában: kép id, kép elérési útja, stb.
    összekapcsoló táblában: tag id, kép id
    Ahhoz meg persze megint külön összekapcsoló táblák kellenek, hogy jelezzük, hogy milyen cikkekhez kapcsolódnak a tagek. Hasonló módon mondjuk cikk id, tag id.
    Inkább érdemes több táblát létrehozni, hogy szét legyen választva az, ami logika szerint nem feltétlenül kapcsolódik egymáshoz szorosan.

    Ennek megvan az az előnye, hogy akár több kép is tartozhat egy taghez. Meg így lazább kapcsolatot teremt a kettő között.
    Ezenkívül olyan elképzelés is szóba jöhet, hogy minden tagnek van egy "szülője", ami azt jelzi, hogy milyen kategórián belüli tagekről van szó. Ilyenkor a hierarchia nyilvántartásához össze kell kapcsolni az id-kat egy külön táblában (tag id, parent tag id).
    Többnyelvűségnél kicsit tovább is érdemes bonyolítani, hogy magát a fordításokat ismét külön táblában tároljuk, és a taghez legfeljebb fordítási "csomópontot" tárolunk (pl. Drupal is így csinálja).

    =============

    (#10702) Soak :
    soha ne tárolj vesszővel elválasztott módon különálló kifejezéseket, mert iszonyatosan kényelmetlen lesz módosítani, törölni is, a query-k is lassúak lesznek, plusz nagyon nehéz a táblákban így keresni. Inkább a fentiekhez hasonló megoldást alkalmazz.
    A query-k megírásában meg segítünk, ha elakadtál!

Új hozzászólás Aktív témák

Hirdetés