1A. Tétel: Adatbázisrendszerek
Adatbázis, adatbázisrendszer, adatbázis-kezelő rendszer (DBMS) fogalma és jellemzői.
Adatbázis
Az adatbázis egy olyan adatgyűjtemény, amely szervezett módon tárolja az adott feladathoz kapcsolódó adatokat, gondoskodik az adatokhoz való hozzáférésről, mindemellett az adatok integritásának megőrzését, és az adatok védelmét biztosítja.
Adatbázisrendszer
Az adatbázis rendszer magába foglalja az adatbázisokat, a számítógépes erőforrásokat, sőt tágabb értelemben ide vehetjük az adatbázis-adminisztrátorokat, akik azok a személyek, akik az adatbázisok kezelését, tervezését végzik.
Adatbázis-kezelő rendszer (DBMS)
Az adatbázis-kezelő rendszerek megkönnyítik az adatbázisok kezelését. Feladatuk az adatbázisban lévő adatok rögzítése, tárolása, kezelése.
Adatbázis-kezelő rendszernek nevezik az olyan programrendszereket, melynek feladata az adatbázishoz történő hozzáférések biztosítása és az adatbázis belső karbantartási feladatainak ellátása, azaz:
- Adatbázisok létrehozása
- Adatbázisok tartalmának definiálása
- Adatok tárolása
- Adatok lekérdezése
- Adatok védelme
- Adatok titkosítása
- Hozzáférési jogok kezelése
- Fizikai adatszerkezet szervezése
Egyed, tulajdonság és kapcsolat fogalma és tulajdonságai.
Egyed
Egyednek nevezzük azokat a dolgokat, objektumokat, amelyek egymástól jól elkülöníthetők, melyekről adatokat tárolunk és tulajdonságokkal jellemzünk. Egyednek tekintünk például egy személyt.
Tulajdonság
A tulajdonság, az egyed valamely jellemzője. Az egyed az attribútumok összességével jellemezhető. Egy személy egy jellemzője lehet például a neve.
Tulajdonságtípus:
Egyedtípus:
Kapcsolat
Az adatmodell harmadik fontos elemét a kapcsolatok jelentik. Kapcsolatnak nevezzük az egyedek közötti összefüggést, viszonyt.
Kapcsolattípusok:
- Egy–egy típusú kapcsolat esetén az egyik egyed minden egyes előfordulásának a másik egyed pontosan egy előfordulása tartozik.
- A következő csoportot az egy-sok típusú kapcsolatok alkotják. Ezeknél az egyik egyed minden előfordulásához a másik egyed több előfordulása tartozhat.
- A kapcsolatok legáltalánosabb formáját a sok-sok kapcsolatok jelentik. Sok-sok kapcsolat esetén mindkét egyed előfordulásaihoz a másik egyed több előfordulása tartozhat.
Relációs, objektum-relációs és NoSQL adatbázisok jellemzése.
Relációs adatbázisok
A relációs adatmodell kidolgozása Codd nevéhez fűződik (1971). Azóta fontos szerepet játszik az adatbázis kezelők alkalmazásában.
A relációs modell előnyei:
- A relációs adatszerkezet egyszerűen értelmezhető a felhasználók és az alkalmazás készítők számára is, így ez lehet közöttük a kommunikáció eszköze.
- A logikai adatmodell relációi egy relációs adatbázis kezelő rendszerbe módosítások nélkül átvihetők. Az egyes relációkat egyedi névvel látjuk el. A relációk oszlopaiban azonos mennyiségre vonatkozó adatok jelennek meg. Az oszlopok névvel rendelkeznek, melyeknek a reláción belül egyedieknek kell lenniük, de más relációk tartalmazhatnak azonos nevű oszlopokat. A reláció soraiban tároljuk a logikailag összetartozó adatokat. A reláció sorainak sorrendje közömbös, de nem tartalmazhat két azonos adatokkal kitöltött sort.
Objektum-relációs adatbázisok
Objektum-relációs elv azt jelenti, hogy: Belül minden relációsan működik. Erre egy ráépülő rétegként alakítják ki az objektum-orientált felületet. Az objektum-relációs modellek az alap relációs modellt egészítik ki többek között a viselkedés leírására szolgáló eszközökkel. A tervező specifikálni tudja mind a sokszorosan összetett objektumok szerkezetét, mind az ezeken az objektumokon alkalmazható műveleteket. Az objektumok az OO programozási nyelvekben tranziensek a futás befejeztével törlődnek. Az objektumok az ODMS-ekben perzisztensek, eltárolódnak, később kinyerhetőek és megoszthatóak más programokkal.
NoSQL adatbázisok
A NoSQL adatbázisok nem táblákban tárolják az adatokat, és általában nem használnak SQL nyelvet lekérdezésre. A legtöbb NoSQL adatbázis szerver erősen optimalizált írás és olvasás műveletekre, míg ezen túl nem sok műveletet támogatnak. A jobb sebesség és a skálázhatóság érdekében olyan adatszerkezeteket használnak tárolásra, mint a kulcs-érték párok, gráfok, dokumentum-adatbázisok vagy oszlopcsaládok. Leginkább a big data-ban és a real-time web alkalmazásokban használatosak.
A funkcionális függés fogalma.
Funkcionális függőség
Funkcionális függőség, ha egy rendszerben szereplő egyik tulajdonságtípus bármely értékéhez egy másik tulajdonságtípusnak csakis egy értéke rendelhető hozzá.
Koncepcionális adatbázis-tervezés, az ER modell és leképezése relációs modellre.
A koncepcionális adatmodellek tervezés lépései
A koncepcionális adatmodellek tervezés lépései:
- a követelményrendszer felállítása és analízise
- az adatbázis koncepcionális sémájának létrehozása: a koncepcionális séma a felhasználók adatkövetelményeinek egy tömör leírása
- az adatbázis tényleges megvalósítása: ezt a lépést logikai tervezésnek vagy az adatmodell leképezésének nevezzük
- fizikai tervezés: megadjuk az adatbázis állományainak belső tárolási szerkezetét, indexeit, elérési útjait és állományszervezési módjait
ER modell
Az ER modell az adatokat, mint egyedeket, kapcsolatokat és attribútumokat írja le. Az ER modell által kezelt alapvető objektum az egyed, amely a valós világnak egy olyan darabja, amely önálló léttel bír.
Minden egyednek vannak attribútumai ezek az őt leíró tulajdonságok. Az egyedeket leíró attribútumértékek fogják alkotni az adatbázisban tárolt adatok nagy részét.
Az ER séma leképezése relációs sémára
Az ER séma leképezése relációs sémára:
- Erős egyedtípusok leképezése
- Gyenge egyedtípusok leképezése
- Bináris 1:1 számosságú kapcsolattípusok leképezése
- Bináris 1: N számosságú kapcsolattípusok leképezése
- Bináris M:N számosságú kapcsolattípusok leképezése
- Többértékű attribútumok leképezése
- Az n-ed fokú kapcsolattípusok leképezése
Az SQL elemei: DDL, DML, DCL, egyszerű lekérdezések és táblák összekapcsolása.
DDL- Data Definition Language:
A DBA és adatbázis tervezők használják azért, hogy az adatbázis koncepcionális sémáját meghatározzák. Az SQL DDL nyelve ad eszközöket a tartománymegszorítás, kulcsmegszorítás és egyéb (not null, unique stb.) kényszerítésre.
DML - Data Manipulation Language:
Arra használjuk, hogy az adatbázisból való keresést, illetve az adatbázis frissítését specifikáljuk. A DML utasítások beágyazhatóak olyan általános célú programozási nyelvekbe mint, C, C++, JAVA.
DCL - Data Control Language:
A DCL nyelv egy, az adatbázisok hozzáférésének szabályozásához használatos nyelv. DCL parancsok például a GRANT és a REVOKE.