ugrás a tartalomhoz

egy mezőn belül több adat vagy mindent külön, strukturáltan?

kalamona · 2007. Szep. 28. (P), 01.25
Sziasztok!

Több nagyobb projektben is megfigyeltem olyan megoldások bátor használatát, amiket én annak idején mindig ronda gányolásnak éreztem. Ilyen pl. amikor egy rekord egy mezőjében felsorolásszerűen kapnak helyet adatok.
pl drupal permissions táblájában. itt egy csoport jogai a csoport id-je által azonosított rekord egy mezőjében felsorolás formájában sorakoznak.

- mikor célszerű ilyen megoldást választani?
- mennyivel erőforrás igényesebb egy n:m kapcsolat létrehozása (a csoportok és jogok összerendelése kapcsolótáblával)?
- redunadancia, karbantarhatóság szempontjából tényleg megfelel?

Hasonló dolog a fa struktúrák tárolása is. Egyszer írtam egy portálmotort, amelynek gerince olyan táblával dolgozott ahol egy rekord egy node-ot azonositott a fában (nested set algoritmussal).
Később több helyen találkoztam "ingyombingyom/tutalibe/malibe" szerű útvonal sztringekkel megoldott strukturálással.
Mikor érdemes rendes 1 rekord / 1 node módszerrel dolgozni és mikor stringekkel?

Általában sokat agyalok rajta, hogy hogyan lehet jó koncepciót kialakítani tipikus adatkezelési problémákra, kíváncsi vagyok ki milyen kompromisszumokat tart közületek elfogadgatónak a sokszor körülményeskedőnek tűnő agyonstrukturáló módszer és a spórolós huszárvágások között?
 
1

Gányolás

janoszen · 2007. Szep. 28. (P), 05.45
Szvsz teljes joggal érezhetted gányolásnak. Aláírom, hogy vannak helyzetek amikor egyszerűbb így csinálni (pl amikor egy rendszer pár hónap múlva úgyis kuka lesz) de egy továbbfejlesztésre szánt rendszernél normalizálni kell.

Annál is inkább, hogy a mai napig találkozom olyan felfogású emberekkel, akik azt mondják, nem szeretnek normalizálni, mert a sok join terheli a szervert.

Mértem egyet. Egy jobb asztali PCn nem a gép lesz a szűk keresztmetszet.

Egyébként meg a saját életedet könnyíted meg, ha szétbontod. Aztán csinálsz viewkat és akkor könnyű lesz kiolvas is. Mindenki boldog.