Filmtár — Adatbázisterv

alt text

Az adatbázis funkciója:

Filmek és kapcsolódó adatainak (rendezők, színészek, műfajok) nyilvántartása és lekérdezése.

Támogatja egy film több színészhez való kapcsolását, valamint rendezőhöz való hozzárendelését.

Táblák:

    • films (filmek főtábla) — filmadatok. 
    • directors (rendezők) — rendezők adatai. 
    • actors (színészek) — színészek adatai. 
    • genres (műfajok) — műfajnevek. 
    • film_actor — m:n kapcsolótábla film–színész kapcsolatokhoz. 

Megszorítások és függőségek:

• PRIMARY KEY: minden táblában egyedi rekordazonosítók biztosítása 
    (id INT AUTO_INCREMENT  PRIMARY KEY)
• NOT NULL: films.cim, films.korhatar, films.rendező_id, films.mufaj_id, 
    film_actor.film_id és film_actor.actor_id kötelezően megadandó mezők. 
• UNIQUE: genres.nev biztosítja a műfajnevek egyediségét; film_actor-nál 
    UNIQUE(film_id, actor_id, karakter_nev) megakadályozza ugyanazt a kombinációt megismételni. 
• CHECK: korhatár értékek korlátozása. 
    films.korhatar CHECK (korhatar in ("NK","6","12","16","18")) 
• FOREIGN KEY: idegen kulcsok tartják fenn az integritást, vagyis azt, hogy minden hivatkozás
    érvényes.(azaz az idegen kulcsban szereplő érték mindig létező sorra mutat a cél táblában)
        ◦ films.rendező_id → directors.id 
        ◦ films.mufaj_id → genres.id 
        ◦ film_actor.film_id → films.id 
        ◦ film_actor.actor_id → actors.id 
    Az idegen kulcsok megakadályozzák, hogy például egy film hivatkozzon nem létező 
    rendezőre, műfajra vagy hogy film_actor hivatkozások hiányzó filmre/színészre mutassanak. 

Bővíthetőség:

• Könnyen bővíthető további adatokkal (stúdiók, értékelések, képek) és további mezőkkel 
    (pl. műsorszolgáltató, forgalmazó) anélkül, hogy a jelenlegi integritási szabályok sérülnének.
• A korhatár adatnál a CHECK megszorítás felváltható egy új tábla (pegi) létrehozásával 
    és a films.korhatar → pegi.id függőség beállításával.

filmtar_create.sql, filmtar_insert.sql