12. tanév

Adatbázis
Kezelés

Ebben az évben az ipari kommunikációs rendszerek, terepi buszok és modern hálózati megoldások kerültek fókuszba, különös tekintettel az ipari automatizálásra.

Elméleti alapok

Adatbázis-kezelés alapjai

A relációs adatbázis-kezelés célja az adatok strukturált, redundanciamentes tárolása és hatékony lekérdezése. A projekt során a következő alapelveket alkalmaztam:

1. Relációs modell

2. Kulcsfogalmak

Elsődleges kulcs (Primary Key) Idegen kulcs (Foreign Key) 1:N kapcsolat M:N kapcsolat Normalizálás

Az elsődleges kulcs egyedileg azonosít egy rekordot, míg az idegen kulcs más táblák rekordjaira hivatkozik, így biztosítva az adatintegritást.

3. SQL alapműveletek

-- Adatok lekérdezése
SELECT * FROM Lakosok;

-- Szűrés feltétellel
SELECT Név FROM Lakosok
WHERE SzületésiÉv > 2000;

-- Összesítés
SELECT COUNT(*) FROM Épületek;

-- Kapcsolt lekérdezés
SELECT Lakosok.Név, Épületek.Név
FROM Lakosok
INNER JOIN Épületek
ON Lakosok.Lakóhely = Épületek.[Épület azonosító];

4. Adatintegritás

Versenyfeladat

Álomváros – Relációs adatbázis projekt

A projekt célja egy fiktív város adatainak modellezése és kezelése Microsoft Access adatbázisban. A feladat a relációs adatmodell megtervezésére, kapcsolatok kialakítására és összetett SQL lekérdezések elkészítésére épült.

ADATBÁZIS SZERKEZET

Épületek Lakosok Szolgáltatások Projektek Kapcsolótábla (M:N)

FONTOS LEKÉRDEZÉSEK

-- Épületek, amelyekhez nem tartozik szolgáltatás
SELECT Épületek.Név
FROM Épületek
LEFT JOIN Szolgáltatások
ON Épületek.[Épület azonosító] = Szolgáltatások.[Épület azonosító]
WHERE Szolgáltatások.Név IS NULL;
-- Épületek legalább 3 szolgáltatással
SELECT Épületek.Név,
COUNT(Szolgáltatások.[Épület azonosító]) AS Szolgáltatások_száma
FROM Épületek
INNER JOIN Szolgáltatások
ON Épületek.[Épület azonosító] = Szolgáltatások.[Épület azonosító]
GROUP BY Épületek.Név
HAVING COUNT(Szolgáltatások.[Épület azonosító]) >= 3;

SZAKMAI KOMPETENCIÁK

Projekt – Adatmodell

Alomváros adatbázis felépítése

A versenyfeladat során egy városi infrastruktúrát modellező relációs adatbázist kellett tervezni és lekérdezésekkel kezelni.

Főbb táblák

Lakosok Épületek Szolgáltatások Projektek projekt_épületek

Az adatbázis több 1:N és N:M kapcsolatot tartalmaz. Például:

SQL Lekérdezések

Megvalósított lekérdezések

Szolgáltatások épület szerint

SELECT Szolgáltatások.Név, Szolgáltatások.Típus
FROM Szolgáltatások
WHERE Szolgáltatások.[Épület azonosító] = 110;

Szolgáltatás nélküli épületek

SELECT Épületek.Név
FROM Épületek
LEFT JOIN Szolgáltatások
ON Épületek.[Épület azonosító] =
   Szolgáltatások.[Épület azonosító]
WHERE Szolgáltatások.Név IS NULL;

Legalább 3 szolgáltatással rendelkező épületek

SELECT Épületek.Név,
       COUNT(Szolgáltatások.[Épület azonosító])
FROM Épületek
INNER JOIN Szolgáltatások
ON Épületek.[Épület azonosító] =
   Szolgáltatások.[Épület azonosító]
GROUP BY Épületek.Név
HAVING COUNT(*) >= 3;
Fejlesztési kihívások

Megoldandó problémák

A legnagyobb kihívást az összetett kapcsolatok és az aggregáló lekérdezések jelentették.

Reflexió

Mit tanultam a projektből?