Adatbázis Kezelés · 鴨騎士
鴨騎士 · ポートフォリオ
Főoldal 12. Évfolyam Adatbázis Kezelés
12. ÉVFOLYAM · 第十二学年

Adatbázis Kezelés

Relációs adatbázisok tervezése, SQL lekérdezések, adatbázis normalizálás – 12. évfolyam.

Vissza a főoldalra

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 TABLE
CREATE 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álformaKövetelmény
1NFMinden oszlop atomi (oszthatatlan) értékeket tartalmaz
2NF1NF + minden nem kulcs attribútum teljes mértékben függ a PK-tól
3NF2NF + nincs tranzitív függőség nem kulcs attribútumok között
BCNF3NF + minden determinánsa kulcs
⚠️ A túlzott normalizálás sok JOIN-t eredményez, ami lassíthatja a lekérdezéseket. Mindig mérlegelni kell a teljesítményt!

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ő neveAdattípus
JátékIDSzám
Játék NeveRövid szöveg
MűfajRövid szöveg
PlatformRövid szöveg
ÉrtékelésSzám
Megjelenési ÉvSzám
Játék ÁrSzám
Pegi 18Igen/Nem
EladásokSzám

Cég

Mező neveAdattípus
IDSzám
FejlesztőRövid szöveg
OrszágRövid szöveg
Alapítási évSzám
五·五

A táblák közötti kapcsolat

Táblák közötti kapcsolat

Lekérdezések

ACCESS · SQL

Lekérdezés 1

Lekérdezés 1 tervezés
Lekérdezés 1 eredmény
ACCESS · SQL

Lekérdezés 2

Lekérdezés 2 tervezés
Lekérdezés 2 eredmény
ACCESS · SQL

Lekérdezés 3

ACCESS · SQL

Lekérdezés 4

ACCESS · SQL

Lekérdezés 5

ACCESS · SQL

Lekérdezés 6

ACCESS · SQL

Lekérdezés 7