E/K modell
Adatbázissémák vázolására
Megszorításokat is tartalmazhat, de műveleteket nem
- A tervek lesznek az egyed-kapcsolat-diagrammok
- később ezek átalakítása adatbázissémává
E/K modellek motivációja
- A tervezés fontos
- Jellemzően csak a tény adott, hogy kell egy adatbázis, részletek nélkül
- A főbb részek felvázolására hatékonyabb lehet egy ábra...
Egyedhalmazok
- Egyed
- Egyedhalmaz
- OOP-s Osztályok-hoz hasonlít
- Attribútum
- atomi értékűek
E/K diagramm
- Egyedhalmaz
- Téglalap
- Attribútum
- Megfelelő téglalaphoz kötött ovális
- Krumpli 🥔
- Megfelelő téglalaphoz kötött ovális
Kapcsolatok
- Kettő vagy több egyedhalmazt köt össze
- Rombusz, hozzá kötve a kapcsolathoz tartozó téglalapok
Kapcsolatok - Példa

Kapcsolat halmaz
- Egyedhalmaz "értéke" a hozzá tartozó egyedek halmaza
- Egy kapcsolat "értéke" a kapcsolat halmaz
- Sorok egy halmaza
- Minden eleme egy kapcsolatbeli egyedhalmazból való
- Sorok egy halmaza
Többirányú kapcsolatok
- Esetenként több egyedhalmazt kell összekötni
Hármas kapcsolat - Példa

Több a többhöz kapcsolat (sok-sok)
- Elsősorban bináris kapcsolatok
- Ekkor mind a két résztvevő egyedhalmaz egyedei több másik egyedhez kapcsolódnak
Egy a többhöz (sok-egy)
- Minden egyede az első egyedhalmaznak legfeljebb egy egyedhez kapcsolódhat a másik halmazból
- A másik halmaz entitásai nulla, egy vagy több entitáshoz is kapcsolódhat
Egy az egyhez (egy-egy)
- Minden entitás legfeljebb egy másikhoz kapcsolódhat a másik halmazból
Kapcsolatok számossága
- sok-egy kapcsolat "egy oldalán" nyíl
- egy-egy kapcsolat mindkét végén nyíl
- pontosan egy esetén lekerekített nyíl
- Mindenképp lesz párja
Kapcsolat számossága - Példa

Kapcsolatok attribútumai
- Néha érdemes attribútumhoz illeszteni
- Nagyjából a halmazban lévő kapcsolat sorainak tulajdonsága

ugye a
Felszolgál(Kocsma, Sör, Ár)
Kocsma Sör Ár Joe bárja Bud 2.3 Joe bárja Miller 3.1 Sue bárja Bud 2.4 Sue bárja Pete' Ale 3.2 Sue bárja Bud Lite 2.1
- Vegyünk fel egy egyedhalmazt, ami a kérdéses attribútum értékei reprezentálja
- Az új adathalmazt pedig adjuk hozzá

- Előfordulhat, hogy egy egyedhalmaz többször is megjelenik egy kapcsolatban
- Ekkor az éleket címkézzük
- A címkéket szerepeknek hívjuk itt
- Ekkor az éleket címkézzük

Alosztályok
- Alosztály = speciális eset = kevesebb egyed = több tulajdonság (attribútum/kapcsolat)
- Feltesszük, hogy az alosztályok rendszere fát alkot
- Többszörös öröklés nincs, (OEP vibes)
- Az aloszály kapcsolatot "az-egy" háromszögek jelölik
- Ősosztály fele mutat a háromszög felső csúcsa
Alosztályok - Példa

E/K vs OO
- OO paragidmában minden objektum pontosan egy osztálynak lehet eleme
- Az alosztályok az ősosztályból örökölnek
- E/K egyedeknek minden alosztálynak vannak reprezentánsai, amikhez hozzátartoznak
- Szabály: ha az \(e\) egyed szerepel egy alosztályban, akkor \(e\) szerepel az ősosztály(ok)ban is
Kulcsok
- Kulcs az atribútumoknak egy olyan halmaza, melyekre nem létezhet két olyan egyed, amelyek a kulcsatribútumok mindegyikén azonos értéket vennének fel.
- Pár helyen előfordulhat egyezés, de nem mindenhol(!)
- Minden egyedhalmazhoz meg kell adnunk egy kulcsot
- Jelölni továbbra is aláhúzással lehet
- Egy öröklődési hierarhiában csak a gyökér egyedhalmaznak lehet kulcsa, ez lesz a hierarhiában szereplő többi alosztálynak is a kulcsa
- Illetve csak egy kulcs adható meg egy modellben
- Egyszerűen azért, mert állhat több attribútumból is a kulcs, nem tudnánk hol elválasztani
- Ez persze azt is jelenti, hogy a kulcs most is állhat több attribútumból
- Illetve csak egy kulcs adható meg egy modellben
Kulcs - Példa

Gyenge egyedhalmazok
- Jelölés: dupla téglalap
- Esetenként
egy-egyegyedhalmaz elemeinek egyedi meghatározásához további információra van szükség - Egy \(E\) egyedhalmaz akkor számít gyengének, ha \(E\) elemeinek azonosításához egy vagy több, \(E\)-ből induló
sok-egykapcsolat kapcsolódó egyedek kulcsértékére is szükség van - A gyenge egyedhalmazt támogató
sok-egykapcsolatot dupla rombusz jelzi
Gyenge egyedhalmaz - Szabályok
- Egy gyenge egyedhalmaznak akár több
sok-egykapcsolata lehet más támogatóhoz (egyedkapcsolathoz) - Nem kell az összes
sok-egykapcsolatnak támogatónak lennie - Támogatók kerek nyílban végződnek
- Tehát a a gyenge egyedkapcsolat a
sokoldal, és a támogató azegyoldal - Egy támogató egyed azonosít egy(vagy több) gyenge egyedet
- Tehát a a gyenge egyedkapcsolat a
- Kulcsa a saját aláhúzott és a támogató egyedhalmaz(ok) aláhúzott attribútumaiból áll
- Ugye beszéltük, ahhoz, hogy a gyenge egyedet azonosítsuk, kell a támogatás, annak meg megvan rá a saját kulcsa az azonosításra
Gyenge- egyedhalmaz - Példa

Itt minden játékoshoz tartoznia kell egy csapatnak