adatbázis
Relációs adatmodell
Adatbázis
Relációs adatmodell
Relációs adatmodell alapelemei
Relációk és attribútumok
-
Reláció (tábla): A reláció az adatok szervezésének két dimenziós megjelenítése, amely sorokból (rekordok) és oszlopokból (attribútumok) áll.
- Példa:
Filmek(filmcím, év, hossz, műfaj)
Attribútumok: a reláció minden oszlopának egyedi neve van, például a
filmcím
az adott film címét reprezentálja. - Példa:
-
Attribútum típusok:
- Atomikus attribútumok: Egyszerű, nem bontható értékek. (Pl. film címe)
- Kompozit attribútumok: Több elemből állhatnak (pl.
cím
attribútum, amely tartalmazza az utcát, várost, irányítószámot). - Többértékű attribútumok: Egy rekordhoz több érték tartozhat (pl. film több rendezővel rendelkezhet).
- Származtatott attribútumok: Más attribútumokból számíthatóak ki (pl. film korát az év alapján).
Értéktartományok és séma
- Az attribútumok értéktartománya meghatározza az adott oszlopban tárolható adat típusát (pl.
év:integer
,filmcím:string
).
integer: egész számokat tárol, ezek lehetnek pozitívak, negatívak, de nem tartalmazhat tizedesjegyeket
String: karakterlánc. Ez lehet betű, számjegy, vagy speciális karakterek bármilyen kombinációja. Pl.: Csillagok háborúja
Miért fontos ez?
SQL lekérdezésben az integer tpusú oszlopokat könnyen össze leht hasonlítani (pl.: WHERE év > 2000)
Megakadályozza, hogy hibás adatokat adjunk meg, nem lehet az integer mezőbe betűket írni
Egyéb adattípusok:
float – lebegőpontos szám – pl.: film értékelési pontszámához
bolean: igaz/hamis értékek
date: dátum típus - Relációs séma: A reláció attribútumainak szerkezeti definíciója. (Pl.
Filmek(filmcím:string, év:integer, hossz:integer, műfaj:string)
)
A relációs adatmodell tulajdonságai
- Egyediség: Minden relációnak egyedi neve van az adatbázis-sémán belül.
- Atomi értékek: Minden cella pontosan egy értéket tartalmaz, vagy üres (nem lehet lista vagy halmaz). Egy attribútum értékei ugyanabból a domain-ből származik
- Nem tartalmazhat két azonos sort
- Azonosítás: Minden egyes attribútum egyedi névvel rendelkezik
- Tetszőleges sorrend: A rekordok és attribútumok sorrendje nem befolyásolja az adatok jelentését.
- NULL értékek: Hiányzó adatok reprezentálása.
A relációs adatbázis felépítése
- Adatbázis: összekapcsolt relációk (táblák) halmaza
2. Reláció: kétdimenziós táblázat, amely oszlopokból és sorokból áll. Minden táblázat egyedi névvel rendelkezik
3. Rekord: egy sor a táblázatban, amely az egymással kapcsolatban levő adatokat jelenti
4. Attribútum: egy oszlop a táblázatban, amelyre a nevével hivatkozhatunk (oszlop fejléce)
5. Elsődleges kulcs: olyan attribútum, amely a relációban (táblában) tárolt rekordokat (sorok) egyértelműen azonosítja. Aláhúzással jelöljük, pl.: TAJ szám
6. Idegen kulcs: ezen keresztül hivatkozhatunk egy másik tábla valamely rekordjára.Egyéb fogalmak:
Domain: az attribútum által felvehető értékek halmaza
Fokszám: az attribútumok száma
Kardinalitás: a rekordok száma (új rekordok beszúrásával, vagy törlésével változik)
Reláció és Descartes-szorzat kapcsolata
A relációs modell matematikai alapjait a reláció és a Descartes-szorzat fogalma adja.
Descartes-szorzat magyarázata
A Descartes-szorzat, más néven direkt szorzat, két halmaz összes lehetséges kombinációját tartalmazza. Ha adott két halmaz:
D1 = {1, 3, 5}
D2 = {2, 4}
Akkor a Descartes-szorzatuk: D1xD2={(1,2), (1,4), (3,2), (3,4), (5,2), (5,4)}
Ez a szorzat a relációs modell alapját képezi, mivel minden reláció egy ilyen Descartes szorzat részhalmaza. Tehát minden elempár az egyik halmaz egy eleméből és a másik halmaz egy eleméből áll.
Reláció a Descartes-szorzaton belül
Egy reláció úgy definiálható, mint a Descartes-szorzat egy részhalmaza. Például, ha csak azokat az elemeket akarjuk megadni, ahol az első elem nagyobb, mint a második, akkor a fenti szorzatból egy relációt képezhetünk:
r= {(3,2), (5,2), (5,4)}
Ez a reláció tartalmazza az összes olyan rendezett párt, amely megfelel az adott feltételnek.
Adottak a következő halmazok (domainek): D1, D2, …, Dn
A Descartes-szorzat ezeknek a halmazoknak az összes lehetséges kombinációját tartalmazza: D1xD2x … xDn
A reláció (r) a Descartes-szorzat egy részhalmaza: r ⊆ D1xD2x … xDn
A reláció n-elemű sorok halmaza (a1, a2, …, an) ahol
ai∈Di
Egyszerűsítve:
– a Descartes-szorzat minden lehetséges kombinációt tartalmaz
– egy reláció ezek közül csak azokat az elemeket választja ki, amelyek megfelelnek bizonyos feltételeknek.
Relációs séma
A relációs séma meghatározza, hogy milyen típusú adatokat tárolunk egy relációban. A séma megadja:
- A reláció nevét.
- Az attribútumok listáját (az oszlopok nevét).
Példa
Egy reláció neve lehet „Személy”, amely három attribútumot tartalmaz:
- Szigetszám (pl. azonosító szám),
- Név (pl. egy személy neve),
- Születési_dátum (pl. egy személy születési dátuma).
A relációs séma jelölése:
R(A1, A2, …, An)
Konkrétan: Személy(SzigSzám, Név, Születési dátum)
Ez azt jelenti, hogy a Személy reláció egy olyan táblázat, amely minden személyről a fent felsorolt adatokat tartalmazza.
Egy adatbázisban több reláció található, amelyek mind különböző típusú adatokat tárolnak. Az adatbázis sémája ezeknek a relációknak az összessége.
Példa
Egy cég adatbázisa tartalmazhat több relációt:
- Dolgozók(DolgozóID, Név, Osztály) – a cég alkalmazottainak adatai.
- Osztályok(OsztályID, OsztályNév) – a cég osztályai.
- Projektek(ProjektID, ProjektNév, Határidő) – a cég projektjei.
Az adatbázis-séma ezeknek a relációknak a halmaza.
A relációs modell műveletei
A relációs algebra segítségével végezhető műveletek:
- Lekérdezések (SELECT): Adatok szűrése és megjelenítése meghatározott feltételek alapján.
- Módosítások: Új rekordok beszúrása (INSERT), meglévő adatok frissítése (UPDATE), rekordok törlése (DELETE).
Gyakorlás: Relációs adatmodell