Oldal: 2 / 3 ElsőElső 123 UtolsóUtolsó
Eredmény: 11 - 20 (25) összesen

Téma: MySQL probléma

  1. #11
    Törzsvendég
    Csatlakozott
    14-08-26
    Hozzászólás
    112
    Begyűjtött 50 köszönetet
    39 hozzászólásával

    Alapbeállítás re: MySQL probléma

    +1 erre a megoldásra.

    "(plusz lenne természetesen egy saját elsődleges kulcsa)"
    Ez lehet nem is szükséges, attól függ, hogy akarsz-e egy-egy ilyen párra másik táblában hivatkozni.

    Idézet Emphus eredeti hozzászólása Hozzászólás megtekintése
    A kérdésre amúgy az adabázis normálformák kifejezésnek érdemes utánakeresgélni, ami tartalmaz egy csomó bonyolult, meg egy másik csomó hasznos és egyszerű dolgot, és rengeteget segít adatbázistervezésben.



    Én ezt úgy csinálnám, mivel belső linkekről van szó, hogy csinálnék egy pages nevű táblát, amiben tárolnám az összes aloldalt adatokkal együtt (pl. url, title stb.), ezen kívül lenne egy "links" adattáblám, amiben az tárolnám, hogy melyik page-ről melyik page-re mutat link, így gyakorlatilag egy from_id meg egy to_id mező, mindkettő a pages tábla egy-egy rekordjára külső kulcsként hivatkozna (plusz lenne természetesen egy saját elsődleges kulcsa).

    Innentől kezdve (mivel ez így gyakorlatilag matroid), mátrixban meg gráfban is elég könnyű már reprezentálni az adatokat.




  2. #12
    'Say Hello To My Little Friend'
    Csatlakozott
    10-04-13
    Hely
    Budapest
    Hozzászólás
    2.788
    Begyűjtött 867 köszönetet
    663 hozzászólásával

    Alapbeállítás re: MySQL probléma

    Idézet MrWolf eredeti hozzászólása Hozzászólás megtekintése
    "(plusz lenne természetesen egy saját elsődleges kulcsa)"
    Ez lehet nem is szükséges, attól függ, hogy akarsz-e egy-egy ilyen párra másik táblában hivatkozni.
    Adatmennyiség szempontjából elhanyagolható, viszont sok apró előnyt hordoz magával az ilyesmi. Pl. egy auto incrementes elsődleges kulccsal a rendezés általában adott, összetettebb alkalmazásnál könnyebb az alapján keresni is, és kizárja a teljes rekordduplikációt is (még ha a tényleges adattartalom azonos).



  3. #13
    Bölcs earnnet logója
    Csatlakozott
    12-08-15
    Hely
    Budapest
    Hozzászólás
    1.229
    Begyűjtött 502 köszönetet
    359 hozzászólásával

    Alapbeállítás re: MySQL probléma

    Ez lehet nem is szükséges, attól függ, hogy akarsz-e egy-egy ilyen párra másik táblában hivatkozni.
    Életemben egyszer akartam kikerülni, mondom megspórolok pár bájtot, csináltam helyette composite keyt. Aztán szembesültem vele, hogy a legkorszerűbb ORM-ek egyike sem támogatja. És végül visszaraktam az id-t (300 ezer sorra), ez kb 1Mb-tal növelte az egész db méretét.


    #define true false

  4. #14
    Törzsvendég
    Csatlakozott
    14-08-26
    Hozzászólás
    112
    Begyűjtött 50 köszönetet
    39 hozzászólásával

    Alapbeállítás re: MySQL probléma

    Nem vitaindítónak szántam, alapvetően az egyedi kulcs hasznos része az adatbázis tábláknak. Ebben a konkrét esetben azonban nem láttam, hogy bármi plusszt adna hozzá. A from_id és to_id oszlopokra egyébként is kell index, hogyha aszerint szeretne majd keresni, hogy egy-egy adott oldara és oldalról milyen linkek mutatnak.

    Idézet Emphus eredeti hozzászólása Hozzászólás megtekintése
    Adatmennyiség szempontjából elhanyagolható, viszont sok apró előnyt hordoz magával az ilyesmi. Pl. egy auto incrementes elsődleges kulccsal a rendezés általában adott, összetettebb alkalmazásnál könnyebb az alapján keresni is, és kizárja a teljes rekordduplikációt is (még ha a tényleges adattartalom azonos).



    Utoljára módosítva: MrWolf által : 2015-10-12 00:37

  5. #15
    Törzsvendég
    Csatlakozott
    14-08-26
    Hozzászólás
    112
    Begyűjtött 50 köszönetet
    39 hozzászólásával

    Alapbeállítás re: MySQL probléma

    Manapság nem érdemes pár mb-on spórolni, ez teljesen igaz. Én arra céloztam, hogy ha elvi szinten beszélünk az adatbázis tervezésről (normál formák és társai), akkor ebben a konkrét esetben az egyedi autoincrement oszlopra nincs szükség a megadott információk alapján.

    Idézet earnnet eredeti hozzászólása Hozzászólás megtekintése
    Életemben egyszer akartam kikerülni, mondom megspórolok pár bájtot, csináltam helyette composite keyt. Aztán szembesültem vele, hogy a legkorszerűbb ORM-ek egyike sem támogatja. És végül visszaraktam az id-t (300 ezer sorra), ez kb 1Mb-tal növelte az egész db méretét.




  6. #16
    Törzsvendég flaszlo logója
    Csatlakozott
    10-10-07
    Hely
    Budapest
    Hozzászólás
    129
    Begyűjtött 13 köszönetet
    12 hozzászólásával

    Alapbeállítás re: MySQL probléma

    Sohasem érdemes ezen spórolni, nem tudhatod mire szeretnéd később használni a táblát. Tovább fejlesztés stb...



  7. #17
    Törzsvendég
    Csatlakozott
    14-08-26
    Hozzászólás
    112
    Begyűjtött 50 köszönetet
    39 hozzászólásával

    Alapbeállítás re: MySQL probléma

    Amikor egy Primary Key (elsődleges kulcs) oszlop hozzáadásra kerül egy táblához, a háttérben egy egyedi index is létrejön. Mindez azzal jár, hogy:
    - a kulcsoszlop értékei kétszer is le lesznek tárolva: egyszer a tábla oszlopában, egyszer az index-ben
    - amikor a tábla adatait módosítják (DML utasítások) az adatbáziskezelő a háttérben az indexet is karban fogja tartani, ami lassítja a módosító utasítások lefutását

    Ez az oszlop tehát azon kívül, hogy helyet foglal, a módosításokat is lassítja. Azzal nem tudok egyetérteni, hogy csak azért rakjunk be mindenhova egy ilyen oszlopot, mert egyszer az még hátha jó lesz.

    Idézet flaszlo eredeti hozzászólása Hozzászólás megtekintése
    Sohasem érdemes ezen spórolni, nem tudhatod mire szeretnéd később használni a táblát. Tovább fejlesztés stb...




  8. #18
    Törzsvendég flaszlo logója
    Csatlakozott
    10-10-07
    Hely
    Budapest
    Hozzászólás
    129
    Begyűjtött 13 köszönetet
    12 hozzászólásával

    Alapbeállítás re: MySQL probléma

    Nem baj ha nem értesz egyet, majd ha megtapasztalod, rájössz az értelmére.



  9. #19
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.442
    Begyűjtött 1.108 köszönetet
    679 hozzászólásával

    Alapbeállítás re: MySQL probléma

    Idézet flaszlo eredeti hozzászólása Hozzászólás megtekintése
    Nem baj ha nem értesz egyet, majd ha megtapasztalod, rájössz az értelmére.
    Join tablaknal teljesen felesleges az autoincrement ID. De ha megis szukseged lenne ra a kesobbiekben(nem lesz, de ha tudsz peldat szivesen veszem), akkor hozza tudod adni(bar kicsit maceras).


    If debugging is the process of removing software bugs, then programming must be the process of putting them in.
    Github | Ruby tutorial
    Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.
    Respect all, fear none

  10. Az alábbi felhasználók hálásak a válaszért:

    MrWolf (2015-10-12)

  11. #20
    Törzsvendég flaszlo logója
    Csatlakozott
    10-10-07
    Hely
    Budapest
    Hozzászólás
    129
    Begyűjtött 13 köszönetet
    12 hozzászólásával

    Alapbeállítás re: MySQL probléma

    Idézet Geri eredeti hozzászólása Hozzászólás megtekintése
    Join tablaknal teljesen felesleges az autoincrement ID. De ha megis szukseged lenne ra a kesobbiekben(nem lesz, de ha tudsz peldat szivesen veszem), akkor hozza tudod adni(bar kicsit maceras).
    Természetesen nem az autoincrement-en van a hangsúly, hanem a primary key a fontos sok szempontból, de evvel te is tökéletesen
    tisztában vagy.



Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •