relational model
Főnév
relational model (tsz. relational models)
A relációs modell az adatbázis-kezelés egyik legelterjedtebb és legismertebb elméleti alapja, amelyet Edgar F. Codd dolgozott ki 1970-ben. A modell célja az adatok strukturált, logikus és következetes tárolása és kezelése.
📘 1. Alapfogalom: Mi az a relációs modell?
A relációs modell az adatokat táblákban (relációkban) tárolja, ahol minden tábla sorai rekordokat (tuplékat), oszlopai pedig attribútumokat (mezőket) jelentenek. A modell tisztán matematikai elveken – halmazelméleten és predikátumlogikán – alapul.
🧱 2. Az adatbázis szerkezete
2.1. Reláció (tábla)
Olyan két dimenziós táblázat, amely sorokat (rekordokat) és oszlopokat (attribútumokat) tartalmaz.
2.2. Attribútum (mező)
A tábla oszlopainak neve. Pl.: Név, Kor, Email.
2.3. Tupel (sor)
Egy sor egy egyedi rekord a táblában.
2.4. Domén
Az attribútumhoz tartozó lehetséges értékek halmaza. Pl. a Kor mező doménje lehet: pozitív egész számok.
🔐 3. Kulcsfogalmak
3.1. Elsődleges kulcs (Primary Key)
Az a mező (vagy mezők csoportja), amely egyértelműen azonosít egy rekordot a táblában.
Példa: Egy
Személytábla esetén aTAJ-számlehet elsődleges kulcs.
3.2. Idegen kulcs (Foreign Key)
Egy másik tábla elsődleges kulcsára hivatkozó mező. Segít az adatok kapcsolatának modellezésében.
3.3. Külső hivatkozások
Az idegen kulcsok biztosítják az adatbázis integritását és a kapcsolatok épségét.
🔗 4. Kapcsolatok a relációk között
4.1. Egy-egy kapcsolat (1:1)
Egy rekord csak egy másik rekordhoz tartozhat.
4.2. Egy-több kapcsolat (1:N)
Egy rekord több másik rekordhoz kapcsolódhat.
4.3. Több-több kapcsolat (M:N)
Több rekord több másikkal is kapcsolatban állhat – általában kapcsolótáblával oldjuk meg.
✅ 5. Relációs integritási szabályok
5.1. Entitás integritás
Az elsődleges kulcs nem lehet NULL.
5.2. Hivatkozási integritás
Az idegen kulcs csak olyan értéket vehet fel, amely létezik a hivatkozott táblában, vagy NULL.
🛠 6. Műveletek: Relációs algebra
A relációs modell matematikai alapját az algebrai műveletek képezik:
| Művelet | Leírás |
|---|---|
| Kiválasztás (σ) | Sorok szűrése feltétel alapján |
| Vetítés (π) | Csak meghatározott oszlopok megtartása |
| Unió (∪) | Két tábla egyesítése |
| Metszet (∩) | Két tábla közös elemei |
| Különbség (-) | Az egyik tábla azon rekordjai, amik a másikban nincsenek |
| Deszkárteszi szorzat (×) | Két tábla minden kombinációja |
| Összekapcsolás (⨝) | Kapcsolódó rekordok egyesítése egy közös mező alapján |
📄 7. Példa
Diák tábla:
| DiákID | Név | Születésnap |
|---|---|---|
| 1 | Anna | 2002-04-12 |
| 2 | Béla | 2001-12-05 |
Beiratkozás tábla:
| DiákID | Tárgy |
|---|---|
| 1 | Matematika |
| 1 | Fizika |
| 2 | Biológia |
Itt a DiákID az elsődleges kulcs a Diák táblában, és idegen kulcs a Beiratkozás táblában.
💾 8. SQL és a relációs modell
A SQL (Structured Query Language) a relációs modell lekérdezési nyelve.
Példa:
SELECT Név
FROM Diák
WHERE DiákID = 1;
Ez lekérdezi az Anna nevű diákot.
📈 9. Előnyök
- Adatintegritás és konzisztencia
- Egyszerű adatkapcsolatok
- Erőteljes lekérdezési nyelv (SQL)
- Szabványosított elméleti háttér
⚠️ 10. Hátrányok
- Nem ideális hierarchikus vagy gráf típusú adatokhoz
- Bonyolult kapcsolatok esetén nehezebb kezelni
- Skálázás nagy mennyiségű adat esetén kihívás lehet (bár sok RDBMS jól optimalizált)
🧱 11. Relációs adatbázis-kezelő rendszerek (RDBMS)
Néhány ismertebb relációs adatbázis:
| Név | Leírás |
|---|---|
| MySQL | Nyílt forráskódú, széles körben használt |
| PostgreSQL | Fejlett funkciók, nyílt forráskód |
| SQLite | Beágyazott, fájl alapú |
| Oracle | Nagyvállalati szintű rendszer |
| Microsoft SQL Server | Microsoft ökoszisztémába illeszkedik |
🧠 12. Összegzés
A relációs modell egy robusztus, jól definiált adatstruktúra, amely elterjedten használt az informatikai rendszerekben. Lehetővé teszi az adatok következetes, pontos, és jól karbantartható tárolását és elérését. A modell alapelvei a mai napig meghatározzák az adatbázis-kezelés világát.
- relational model - Szótár.net (en-hu)
- relational model - Sztaki (en-hu)
- relational model - Merriam–Webster
- relational model - Cambridge
- relational model - WordNet
- relational model - Яндекс (en-ru)
- relational model - Google (en-hu)
- relational model - Wikidata
- relational model - Wikipédia (angol)