Hirdetés

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

  • Drizzt
    nagyúr

    Felmerült bennem egy kérdés egy adatmodell-database leképezését illetően. Csak elméleti a dolog, a megvalósítás technikája érdekelne igazából.

    Tételezzük fel, hogy van egy "Termekek" absztrakt osztályom. Itt található id, nev, gyarto, stb.
    Ebből leszármaznak a Televíziók, Mosogepek osztályok. Ezekben már különböző adatok találhatóak. Például a Televiziok esetében kijelzoMeret, hdmiSzama, stb - Mosogepek esetében energiaOsztaly, centrifugaSebesseg, stb.

    Az volna a kérdésem, hogy adatbázisban ezt szintén így kellene megcsinálni? Azaz "termekek" táblát létrehozni, amiben id, nev, gyarto mezők lennének és mondjuk egy termek_tipus mező? Aztán lenne egy "televiziok" tábla amiben lenne egy termek_id és jönnének a kijelzoMeret, hdmiSzama mezők? Aztán a "mosogepek" tábla hasonló megoldással?
    Vagy érdemesebb volna csak két táblát (televiziok, mosogepek) csinálni, részben azonos mezőkkel? Viszont ekkor az autoincrement id a mysql-ben csak egy táblára lesz érvényes, azaz lenne 1-es id-val tv és mosógép is.

    Mi ilyen esetben az elfogadott megoldás?

    Teljesen nem olvastam vegig az alabbi linket, de szerintem minden kerdesedre valaszt kapsz belole. A valasz: attol fugg. 3 fo megoldas van: egy tabla az osszes termektipussal. Ezzel lehet a leggyorsabban lekerdezni termektipusokat ativelo modon, de constrainteket not null constrainteket nem tudsz megadni, ha az altipusok egy reszenel kellene, de legalabb egy altipusnal nem. Aztan lehet mindegyik tioust sajat tablaba rakni. Ekkor az osszes tipus lekerdezesehez tobb tablat kell lekerdezni. Aztan van a kozos tabla a kozos mezoknek, majd egyedi altipus mezoknek kulon tablak, amik visszareferalnak a kozos tulajdonsagokat tartalmazo tablara. Itt joinnal lehet lekerdezni az osszes altipus osszes elemet egyszerre. [link]

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