A relációs adatmodellt/adatbázist hogyan magyaráznátok el egyszerűen?
Valamilyen hétköznapi életből vett példával, minél kevesebb szakszóval, és minél kevésbé absztrakt módon.
Olyannak, aki a google-n talált definíciók alapján nem érti.
Jól van, látom itt két emberke úgy látszik jobban tud mindent, pedig egyetemen első félévben tanítják már a relációkat algebrából. Ezek szerint nem sikerült teljesíteni a félévet, de azért a tanultabbak minősítése az megy.
De akkor hadd kérdezzem meg őket. Várom a válaszukat.
1. Mit jelent az adatbázis? Ez még talán a legkönyebb kérdés.
1. Mitől relációs modell?
2. Mitől adatbázis modell?
Legyen ez a beugró kérdés a további vitához. Ha mindháromra tudnak jó választ adni, akkor elismerem, hogy szakmai vitát folytatnak, nem csak ész nélkül lepontozzák a másikat.
"Miért kell egy kezdő kedvét eleve elvenni azzal, hogy egyből a normálformákkal kezdeni? "
Ezek tulajdonságok, nem kellenek a definiáláshoz. Ha fontosnak tartod, akkor körül lehet írni őket egyszerű szavakkal.
Köszönöm azoknak, akik a kérdésre válaszoltak.
Azt azért szeretném tisztázni, hogy nem az absztrakt definíciók HELYETT szerettem volna egyszerűbb példákat megismerni, hanem MELLETTE, mert nekem ez segíti a megértést.
Lehet, hogy másnak erre nincs szüksége, de nekem segíteni szokott.
Jól értem, hogy akkor relációs egy adatbázis, ha az adatok külön táblákban vannak tárolva, és kapcsolatok vannak közöttük?
Más adatmodellekre tudtok olyan példákat, mint a könyvtáras?
#16 - Durván leegyszerűsítve, igen, ez az alapja.
Gyakorlati példa pedig... Elég sok van. Néhány példa, részletezés nélkül. Házi feladat: gondold át, hogy milyen mezők vannak a táblákban, és hol vannak a kapcsolatok.
Bármilyen értékesítés: termék, vásárló, rendelés, rendelés sor
Raktár: termék, épület, polc, készlet
Beszállítók: termék, beszállító, rendelés, rendelés sor
Könyvelés (ez egy trükkösebb): számla, alszámla, költséghely, tranzakció, tranzakció sor
Fórum: felhasználó, topik, bejegyzés
CMS (pl. Drupal) médiatár (ez is egy trükkösebb): könyvtár, fájl, felhasználó, jogosultság (segítek: acl-re gondoltam)
Ezek a gyakorlatban persze jóval komplexebbek, cserébe viszonylag gyakori struktúrák.
Szerintem mindenki túl bonyin magyarázza, persze fontos nem ötéves szinten tudni, de elmagyarázni szerintem nem szabad bonyolultan, ha ennyire nehezen érted meg, ami nem baj, medior fejlesztő vagyok és nekem is voltak olyan másoknak könnyű témák, amit nem értettem meg könnyen:D pedig matek szakot csináltam, szóval sokak szerint ""okos"" vagyok, de nyílván nem.
Kezdjük azzal, hogy mi van akkor, ha nem relációs adatmodellt használsz. Ekkor pl azt kifejezni, hogy neked van egy szürke suzuki autód elég nagy sz*pás, mert pl név alapján magadhoz tudod kötni, de ugye rengeteg embernek van itthon szürke suzukija:D tehát minden egyes embernek kell egy új sor, ahol leírod ugyan azt a szürke suzukit, csak másnak a neveivel. Ugye érződik, hogy ez így nem túl okés megoldás.
Na ennek a problémának a megoldása a relációs adatbázis, ami fancy név, de csak annyit jelent, hogy kapcsolatokban álló adatbázis.
Itt van két táblád már, egyik ahova az emberek neveit írod, másik ahova a kocsikat. Így elég csak egyszer a kocsikhoz beírni, hogy szürke suzuki, mert a felhasználók táblából mindenkit ahhoz fogunk kötni, így nem kell rohadt sok sort használni.
Hogy kötjük össze? Gondolom id-ről hallottál már, ez lehet akát az adatok sorszáma is. Pl a suzuki az első sorban van az autók táblában, akkor neki 1 az id-je. Innentől kezdve csak fogod és azt az 1-est beírod a neved mellé a te sorodban és innentől kezdve ez azt fogja jelenteni, hogy az autók táblából az első sorban lévő kocsid van. Ugye ezt elvégezheted minden emberre és nem kell új sorokat csinálni, csak beírod a neve mellé egy új oszlopba aztán kész is vagy.
Foreign key meg primary key még fontos fogalmak. Ugye itt a key az id, magyarán valami amivel beazonosítod a sorokat. A foreign key az idegen kulcs, az a mi esetünkben a suzuki 1-es id-je, hiszen az egy idegen táblából jött az emberek táblájába. A primary key pedig az elsődleges kulcs, ez pedig az az id, amivel egy adott táblában megkülönbözteted a sorokat. Pl az autók táblában az id primary key, mert azzal különbözteted meg ott a sorokat. De ugye mikor ezt a nevek mellé csapod egy oszlopba, akkor az ott egy idegen valami lesz, ezért számít ott idegen kulcsnak.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!