adatbázis
Adatbázis tervezése – feladat 2
Adatbázis
Adatbázis tervezése – feladat 2
Az alábbi adatokból állítunk össze egy adatbázist:
rendszám, szín, név, lakcím, évjárat, érték, személyi szám, típus,
Célunk az, hogy az adatok redundanciáját minimalizáljuk, miközben biztosítjuk az adatbázis hatékony és logikus működését. A folyamatot az 1NF-től egészen a 3NF-ig és a BCNF-ig vezetjük végig.
1NF (Első normál forma)
Az 1NF követelményei:
- Minden mezőnek atomi (oszthatatlan) értékeket kell tartalmaznia.
- Minden sor egyedi.
- Az adatok táblázatos szerkezetben vannak.

Elemzés:
- A tábla már táblázatos formátumú, és minden mező atomi értéket tartalmaz.
- Probléma: az adatok redundanciát tartalmaznak, például „Kovács P.” kétszer szerepel ugyanazzal a lakcímmel és személyi számmal.
Eredmény:
Az 1NF biztosítja, hogy az adatok oszthatatlan értékek formájában jelenjenek meg, de még mindig tartalmaz redundanciát, amelyet további normalizálással kell csökkenteni.
2NF (Második normál forma)
A 2NF követelményei:
- Az 1NF-ben van.
- Minden nem kulcs attribútumnak teljesen függenie kell az elsődleges kulcstól (nincs részleges függőség).
Elemzés:
- Kulcs azonosítása: Az autókhoz kapcsolódó adatok (pl. rendszám, szín, évjárat, érték) az rendszám attribútumtól függnek.
- A tulajdonosokhoz kapcsolódó adatok (pl. név, lakcím, személyi szám) az személyi szám attribútumtól függenek.
A redundancia csökkentéséhez két táblát hozunk létre:
- Autók tábla: Az autók adatai + a tulajdonos azonosítója (személyi szám) idegen kulcsként.
- Tulajdonosok tábla: A tulajdonosok adatai, ahol a személyi szám az elsődleges kulcs.


Az autók tábla Személyi szám
mezője idegen kulcs, amely a tulajdonosok táblájának elsődleges kulcsára hivatkozik.
3NF (Harmadik normál forma)
A 3NF követelményei:
- A tábla 2NF-ben van.
- Nincs tranzitív függőség (egy nem kulcs attribútum nem függhet egy másik nem kulcs attribútumtól).
Elemzés:
- Az Autók tábla attribútumai (pl.
Szín
,Évjárat
,Érték
) közvetlenül az elsődleges kulcstól (Rendszám
) függenek. - A Tulajdonosok tábla attribútumai (pl.
Név
,Lakcím
) közvetlenül az elsődleges kulcstól (Személyi szám
) függenek.
Eredmény:
Mivel nincs tranzitív függőség, mindkét tábla 3NF-ben van.
2. feladat: tulajdonos helyett legyen egy autókölcsönző autói. Ebben az esetben 3 tábla készül.
A 3NF így nézne ki
1. tábla: rendszám (kulcs), típus, szín, érték, évjárat
2. tábla: kölcsönző: tag_id (kulcs), név, lakcím
3. tábla: kölcsönzés: kölcsönzés_id (kulcs), dátum, visszahozta, rendszám, tag_id
Az autó – kölcsönzés egy 1-N kapcsolat, mert egy autó van, egy rendszámmal, kölcsönzésnél viszont a rendszám sokszor fordulhat elő.
A kölcsönző-kölcsönzés is 1-N kapcsolat, mert a kölcsönző adatait egyszer visszük fel, viszont a kölcsönzésnél a tag_id sokszor szerepelhet, sokszor bérbe veheti az autót.
Maga az autó és a kölcsönző ember kapcsolata több a többhöz kapcsolat, amit csak így lehet létrehozni, hogy közéjük teszünk egy másik kapcsolótáblát.