Az egyed-kapcsolat modell (vagy ER-modell, angolul entity–relationship model) egy adott tudásterületen belüli, egymással összefüggő dolgokat ír le. Egy alapvető ER-modell egyedtípusokból áll (amelyek osztályozzák az érdekes dolgokat), és meghatározza az egyedek (ezen egyedtípusok példányai) között létező kapcsolatokat. bélyegkép|450x450px|Egy entitás-attribútum-kapcsolat diagram egy MMORPG számára Chen jelölését használva A szoftverfejlesztésben az ER-modellt általában azért alkotják meg, hogy ábrázolja azokat a dolgokat, amelyekre az üzleti folyamatok végrehajtásához egy vállalkozásnak emlékeznie kell. Következésképpen az ER-modell egy absztrakt adatmodellé válik, amely egy olyan adat- vagy információs struktúrát határoz meg, amely egy adatbázisban, jellemzően egy relációs adatbázisban implementálható.

Az egyed-kapcsolat modellezést Peter Chen fejlesztette ki az adatbázisok és a tervezés számára, és 1976-ban publikálta egy tanulmányban, de az ötlet változatai már korábban is léteztek.A.P.G. Brown, "Modelling a Real-World System and Designing a Schema to Represent It", in Douque and Nijssen (eds.), Data Base Description, North-Holland, 1975, . Egyes ER-modellekben a szuper- és altípusú egyedek általánosítás-specializáció kapcsolatokkal kapcsolódnak egymáshoz, és egy ER-modell használható a szakterület-specifikus ontológiák specifikációjában is.

Bevezetés Az ER-modell általában egy szisztematikus elemzés eredménye, amelynek célja, hogy meghatározza és leírja, mi a fontos a folyamatok szempontjából egy adott üzleti területen. Nem határozza meg az üzleti folyamatokat; csak egy üzleti adatsémát mutat be grafikus formában. Általában grafikus formában, dobozok (egyedek) formájában rajzolják meg, amelyeket vonalak (kapcsolatok) kötnek össze, amelyek az egyedek közötti kapcsolatokat és függőségeket fejezik ki. Egy ER-modell kifejezhető verbális formában is, például: egy épület nulla vagy több lakásra osztható, de egy lakás csak egy épületben lehet.

Az egyedeket nem csak kapcsolatokkal, hanem további tulajdonságokkal (attribútumokkal) is jellemezhetjük, amelyek közé tartoznak az "elsődleges kulcsoknak" nevezett azonosítók. Az attribútumok, valamint az egyedek és kapcsolatok ábrázolására létrehozott diagramokat egyed-attribútum-kapcsolati diagramoknak, nem pedig egyed-kapcsolat modelleknek nevezhetjük.

Az ER-modellt jellemzően adatbázis formájában valósítják meg. Egy egyszerű relációs adatbázis megvalósításában egy táblázat minden sora egy egyed típus egy példányát, a táblázat minden mezője pedig egy attribútum típust képvisel. A relációs adatbázisban az egyedek közötti kapcsolat úgy valósul meg, hogy az egyik egyed elsődleges kulcsát egy másik egyed táblájában mutató vagy "idegen kulcs" formájában tároljuk.

Az ER/adatmodelleket hagyományosan két vagy három absztrakciós szinten építik fel. Megjegyzendő, hogy az alábbi fogalmi-logikai-fizikai hierarchiát más típusú specifikációkban is használják, és eltér a szoftverfejlesztés három séma megközelítésétől.

Fogalmi adatmodell Ez a legmagasabb szintű ER-modell, mivel ez tartalmazza a legkevésbé részletes részleteket, de meghatározza a modellkészletbe foglalandó elemek általános körét. A fogalmi ER-modell általában a szervezet által általánosan használt referenciaadat-törzsadatokat határozza meg. A vállalati szintű koncepcionális ER-modell kidolgozása hasznos a szervezet adatarchitektúrájának dokumentálásához. A fogalmi ER-modell egy vagy több logikai adatmodell alapjául szolgálhat (lásd alább). A fogalmi ER-modell célja ezután a törzsadat-egységek strukturális metaadat-közösségeinek létrehozása a logikai ER-modellek között. A fogalmi adatmodell felhasználható az ER-modellek közötti közösségi kapcsolatok kialakítására az adatmodell-integráció alapjaként.

Logikai adatmodell A logikai ER-modellhez nincs szükség fogalmi ER-modellre, különösen akkor, ha a logikai ER-modell hatálya csak egy különálló információs rendszer fejlesztésére terjed ki. A logikai ER modell több részletet tartalmaz, mint a fogalmi ER-modell. A törzsadat-egységek mellett már működési és tranzakciós adategységek is meghatározásra kerülnek. Az egyes adategységek részleteit kidolgozzák, és megállapítják az ezen adategységek közötti kapcsolatokat. A logikai ER-modell azonban attól a konkrét adatbázis-kezelő rendszertől függetlenül kerül kidolgozásra, amelybe implementálható.

Fizikai adatmodell Minden logikai ER-modellből egy vagy több fizikai ER-modell is kialakítható. A fizikai ER-modellt általában úgy fejlesztik ki, hogy adatbázisként lehessen létrehozni. Ezért minden egyes fizikai ER-modellnek elegendő részletességet kell tartalmaznia egy adatbázis létrehozásához, és minden egyes fizikai ER-modell technológiafüggő, mivel minden adatbázis-kezelő rendszer némileg különbözik. A fizikai modell általában egy adatbázis-kezelő rendszer strukturális metaadataiban van leképezve relációs adatbázis-objektumokként, például adatbázis-táblák, adatbázis-indexek, egyedi kulcsindexek, és adatbázis-kényszerek, idegenkulcs-kényszer vagy közösségi kényszer formájában. Az ER-modellt általában a relációs adatbázis-objektumok módosításainak megtervezésére és az adatbázis strukturális metaadatainak karbantartására is használják.

Az információs rendszer tervezésének első szakaszában a követelményelemzés során ezeket a modelleket használják fel az információs igények vagy az adatbázisban tárolandó információk típusának leírására. Az adatmodellezési technika használható egy adott területre vonatkozó bármely ontológia (azaz a használt kifejezések és kapcsolataik áttekintése és osztályozása) leírására. Egy adatbázisra épülő információs rendszer tervezése esetén a fogalmi adatmodellt egy későbbi szakaszban (általában logikai tervezésnek nevezik) egy logikai adatmodellre, például a relációs modellre képezik le; ez pedig a fizikai tervezés során egy fizikai modellre kerül leképezésre. Megjegyzendő, hogy néha mindkét fázisra "fizikai tervezésként" hivatkoznak.

Egyed-kapcsolat modell keretezett|Két kapcsolódó egyed bélyegkép|Egyed egy tulajdonsággal bélyegkép|Kapcsolat egy tulajdonsággal keretezett|Elsődleges kulcs Az egyed olyan önálló létezésre képes dologként definiálható, amely egyedileg azonosítható. Az egyed egy tartomány komplexitásától való elvonatkoztatás. Amikor egyedről beszélünk, általában a valós világ valamely aspektusáról beszélünk, amely megkülönböztethető a valós világ más aspektusaitól.

Az entitás olyan dolog, amely fizikailag vagy logikailag létezik. Egy entitás lehet egy fizikai tárgy, például egy ház vagy egy autó (ezek fizikailag léteznek), egy esemény, például egy ház eladása vagy egy autószerviz, vagy egy fogalom, például egy ügyféltranzakció vagy megrendelés (ezek logikailag léteznek - mint fogalom). Bár a leggyakrabban az entitás kifejezést használják, Chent követve valóban különbséget kell tennünk az entitás és az entitástípus között. Az entitástípus egy kategória. Az entitás szigorúan véve egy adott entitástípus egy példánya. Egy entitástípusnak általában sok példánya van. Mivel az entitástípus kifejezés kissé nehézkes, a legtöbb ember hajlamos az entitás kifejezést ennek a kifejezésnek a szinonimájaként használni.

Az entitásokat főneveknek tekinthetjük. Példák: egy számítógép, egy alkalmazott, egy dal, egy matematikai tétel stb.

A kapcsolat azt mutatja meg, hogy az entitások hogyan kapcsolódnak egymáshoz. A kapcsolatokat igéknek tekinthetjük, amelyek két vagy több főnevet kapcsolnak össze. Példák: saját kapcsolat egy vállalat és egy számítógép között, felügyeli kapcsolat egy alkalmazott és egy osztály között, előadja kapcsolat egy művész és egy dal között, bizonyítja kapcsolat egy matematikus és egy feltevés között stb.

A modell fent leírt nyelvi aspektusát az ERROL deklaratív adatbázis-lekérdezési nyelvben használjuk, amely a természetes nyelvi konstrukciókat utánozza. Az ERROL szemantikája és megvalósítása az átformált relációs algebrán (RRA) alapul, egy olyan relációs algebrán, amely az egyed-kapcsolat modellhez igazodik, és megragadja annak nyelvi aspektusát.

Az egyedek és a kapcsolatok egyaránt rendelkezhetnek attribútumokkal. Például: egy alkalmazott egyednek lehet egy társadalombiztosítási szám (SSN) attribútuma, míg egy bizonyított kapcsolatnak lehet egy dátum attribútuma.

A gyenge egyedek kivételével minden egyednek rendelkeznie kell egy minimális, egyedileg azonosító attribútumkészlettel, amely egyedi/első kulcsként használható.

Az egyed-kapcsolati diagramok nem mutatják az egyke egyedet vagy a kapcsolatok egyetlen példányait. Inkább egyedhalmazokat (azonos típusú egyedek) és kapcsolathalmazokat (azonos típusú kapcsolatok) mutatnak. Példák: egy adott dal egy egyed; az adatbázisban lévő összes dal gyűjteménye egy egyedhalmaz; egy gyermek és az ebédje közötti evéskapcsolat egyetlen kapcsolat; az adatbázisban lévő összes ilyen gyermek-ebéd kapcsolat halmaza egy kapcsolathalmaz. Más szóval, egy kapcsolathalmaz a matematikában egy relációnak felel meg, míg egy kapcsolat a reláció egy tagjának.

A kapcsolatkészletekre vonatkozó bizonyos kardinalitási korlátozások is megadhatók.

Természetes nyelv leképezése Chen a következő "ökölszabályokat" javasolta a természetes nyelvi leírások ER-diagramokba való leképezésére: "English, Chinese and ER diagrams" (Angol, kínai és ER-diagramok), Peter Chen. Angol nyelvtani szerkezet ER struktúra Köznév Egyed típusa Tulajdonnév Egyed Tárgyas ige Kapcsolat típusa Intranzitív ige Attribútum típusa Melléknév Az egyed attribútuma Határozószó Attribútum a kapcsolathoz A fizikai nézet megmutatja, hogy az adatokat ténylegesen hogyan tárolják.

Kapcsolatok, szerepek és kardinalitások Chen eredeti tanulmányában egy példát ad egy kapcsolatra és annak szerepeire. Leír egy kapcsolatot "házassággal" és annak két szerepével "férj" és "feleséggel".

A házasságban a férj szerepét az egyik személy, a feleség szerepét pedig egy másik személy játssza. Ezek a szavak főnevek. Ez nem meglepő; a dolgok megnevezéséhez főnévre van szükség.

Chen terminológiáját korábbi elképzelésekre is alkalmazták. Egyes diagramok vonalai, nyilai és varjútalpa inkább a korábbi Bachman-diagramoknak, mint Chen kapcsolati ábráinak köszönhetők.

Chen modelljének egy másik gyakori kiterjesztése, hogy a kapcsolatokat és szerepeket igeként vagy kifejezésként "nevezzük meg".

Szerepek elnevezése Az is elterjedt, hogy a szerepeket olyan kifejezésekkel nevezzük meg, mint például az is the owner of és az is owned by. A helyes főnevek ebben az esetben a tulajdonos és a birtoklás. Így a személy a tulajdonos és az autó a birtoklás szerepét játssza, ahelyett, hogy a személy játssza a szerepét, a tulajdonosa stb.

A főnevek használata közvetlen előnyökkel jár, amikor szemantikus modellekből fizikai megvalósításokat generálunk. Ha egy személynek két kapcsolata van az autóval, akkor olyan neveket lehet generálni, mint a owner_person és driver_person, amelyek azonnal értelmesek.

Kardinalitások Az eredeti specifikáció módosítása előnyös lehet. Chen leírta a look-across kardinalitásokat. Mellékesen megjegyezzük, hogy az Oracle Designerben használt Barker-Ellis jelölés a minimális kardinalitás (az opcionalitással analóg) és a szerep esetében azonos oldali, a maximális kardinalitás esetében pedig keresztbe nézős jelölést használ (a varjas láb).

A Merise,Hubert Tardieu, Arnold Rochfeld and René Colletti La methode MERISE: Principes et outils (Paperback - 1983) Elmasri & NavatheElmasri, Ramez, B. Shamkant, Navathe, Fundamentals of Database Systems, third ed., Addison-Wesley, Menlo Park, CA, USA, 2000. és mások esetében a szerepek esetében az azonos oldali, valamint a minimális és maximális kardinálisok előnyben részesülnek. Újabb kutatók (Feinerer, Dullea et al.) kimutatták, hogy ez koherensebb, ha 2-nél nagyobb rendű n-edik kapcsolatokra alkalmazzák.