Relációs adatbázisok alapjai
A relációs adatbázisok táblákban tárolják az adatokat, ahol a táblák sorokból (rekordokból) és oszlopokból (mezőkből) állnak. A MySQL és MariaDB a leggyakrabban használt rendszerek.
Fontos fogalmak
- Elsődleges kulcs (PK): Egyedi azonosító minden sorhoz
- Idegen kulcs (FK): Más tábla PK-jára mutató hivatkozás
- Index: Gyorsítja a keresést az adatbázisban
- Tranzakció: ACID tulajdonságú adatmódosítás
SQL parancsok
Tábla létrehozása
SQL · CREATE TABLECREATE TABLE diakok ( id INT AUTO_INCREMENT PRIMARY KEY, nev VARCHAR(100) NOT NULL, szuletesi DATE, osztalyid INT, FOREIGN KEY (osztalyid) REFERENCES osztalyok(id) );
Adatok lekérdezése
SQL · SELECT – egyszerű, JOIN, aggregáció-- Egyszerű lekérdezés SELECT nev, szuletesi FROM diakok WHERE id = 1; -- JOIN – táblák összekapcsolása SELECT d.nev, o.nev AS osztaly FROM diakok d JOIN osztalyok o ON d.osztalyid = o.id WHERE o.nev = '12A' ORDER BY d.nev ASC; -- Aggregáció – csoportosítás és szűrés SELECT osztalyid, COUNT(*) AS letszam FROM diakok GROUP BY osztalyid HAVING COUNT(*) > 20;
Adatok módosítása
SQL · INSERT · UPDATE · DELETE-- Beszúrás INSERT INTO diakok (nev, szuletesi, osztalyid) VALUES ('Kovács Péter', '2005-03-15', 3); -- Frissítés UPDATE diakok SET osztalyid = 4 WHERE id = 7; -- Törlés DELETE FROM diakok WHERE id = 12;
Normalizálás
Az adatbázis normalizálás célja az adatredundancia csökkentése és az adatintegritás javítása. A folyamat során az adatokat egyre szigorúbb normálformákba rendezzük.
| Normálforma | Követelmény |
|---|---|
| 1NF | Minden oszlop atomi (oszthatatlan) értékeket tartalmaz |
| 2NF | 1NF + minden nem kulcs attribútum teljes mértékben függ a PK-tól |
| 3NF | 2NF + nincs tranzitív függőség nem kulcs attribútumok között |
| BCNF | 3NF + minden determinánsa kulcs |
Projektfeladat
A projektfeladatot a Microsoft Access alkalmazásban hoztam létre. Két táblát készítettem:
Az első tábla a játékinfo nevet kapta – ebbe kitalált játékoknak az adatait jegyeztem fel, mint például a játék neve, megjelenési éve, ára stb.
A második tábla a cég nevet kapta – ebbe a játékokhoz tartozó kitalált cégeket és a hozzájuk tartozó adatokat rögzítettem, mint például melyik országban helyezkedik el, és hogy melyik évben alapították.
A két tábla segítségével hoztam létre a különböző lekérdezéseket.
Táblák
Játékinfó
| Mező neve | Adattípus |
|---|---|
| JátékID | Szám |
| Játék Neve | Rövid szöveg |
| Műfaj | Rövid szöveg |
| Platform | Rövid szöveg |
| Értékelés | Szám |
| Megjelenési Év | Szám |
| Játék Ár | Szám |
| Pegi 18 | Igen/Nem |
| Eladások | Szám |
Cég
| Mező neve | Adattípus |
|---|---|
| ID | Szám |
| Fejlesztő | Rövid szöveg |
| Ország | Rövid szöveg |
| Alapítási év | Szám |