Entitet (informatikk)

Entitetstypen «ansatt», hvor i dette tilfeller flere personer hører til, kan igjen ha attributter

I datamodellering er en entitet et klart definert objekt hvis informasjon skal lagres eller behandles. Objektetet som modelleres kan være materielt eller immateriell, konkret eller abstrakt. Noen eksempler kan være et kjøretøy, en konto, en person eller en tilstand.

Entitetstype

Entiteter er individuelt identifiserbare objekter, personer osv. Disse kan tildeles individuelle egenskaper (som for eksempel farge = rød, fødselsdato = 28. august 1749, høyde = 2962 meter, temperatur = -4,5 celsius). Entitetstyper (noen ganger kalt entitetsklasser) kan utledes ved å skrive (gjenkjenne de samme attributtene/karakteristikkene til entiteter); flere personer blir for eksempel "kunder". De enkelte kundene regnes som entiteter, altså konkrete manifestasjoner (instanser) og har en identitet (for eksempel naturlig nøkkel).

Mengden entiteter av en entitetstype kalles entitetsmengden - som (avhengig av utvalget) kan inkludere alle, bare visse eller ingen entiteter. Entiteter som elementer i en entitetsmengde kjennetegnes ved deres egenskaper (attributtverdier). Hver entitet av en entitetstype identifiseres fra de andre entitetene av samme entitetstype gjennom en unik verdi av en identifiserende attributt eller kombinasjon av attributter (for eksempel rammenummeret for en individuell bil eller kjøretøyets registreringsnummer for en individuell registrering). Denne attributten eller attributtkombinasjonen kalles for kort for identifikasjon, identifikator eller ID.

En entitet kan være i relasjon med andre entiteter så vel som med seg selv. For eksempel: Person X <er eier av> kjøretøy Y, person A <er leder av> person B, hvor <... > = betydning/navn på relasjonen.

Typifiseringen av entiteter og mulige relasjoner mellom entiteter (til relasjonstyper) skjer gjennom abstraksjon. Dette skillet mellom instanser og typer er nødvendig for å komme frem til en datamodell. I modellen blir entitetene entitetstyper, og relasjonene deres blir relasjonstyper, som kan representeres grafisk i et entitet-relasjon-diagram. I dagligtale brukes av og til det kortere ordet «entitet» i stedet for det korrekte uttrykket «entitetstype», selv om konteksten vanligvis viser om det menes en objektinstans (entitet) eller dens typifisering (entitetstype).

For eksempel for å lage en relasjonsdatabase implementeres en entitetstype som en tabell i databasen, basert på datamodellen. Hver tabellrad i denne tabellen (også kalt en oppføring eller tuppel) vil representere en entitet, mens identifikatoren blir primærnøkkelen, og relasjoner blir fremmednøkkelen.

Generalisering/spesialisering

Hvis attributter og/eller relasjonstyper som er identiske for samme entitet forekommer i ulike entitetstyper, kan disse administreres og oppsummeres under en ny entitetstype, som omtales som generalisering. Den resulterende entitetstypen inneholder de vanlige attributtene. De opprinnelige entitetstypene forblir; de arver attributtene til den nye entitetstypen. Dermed kan for eksempel entitetstypene kunde og leverandør slås sammen til den generaliserte entitetstypen forretningspartner, hvor for eksempel navn, adresse, bankinformasjon, med mer kan brukes både for kunder og leverandører. Det omvendte (at attributter for en entitetstype bare vises i visse situasjoner/roller) kan også resultere i en ny entitetstype (for eksempel privatkunde) og omtales som spesialisering.

Generalisering, spesialisering og arv av attributtene tilsvarer den grunnleggende ideen om objektorientert programmering .

Eksempler

Noen eksempler på entitetstyper er:

Sammenligning av grunnleggende begreper

Tabell Relasjonsdatabase Entitet–relasjonsmodell (ERM) Unified Modeling Language (UML)
Verdiområde (domene) Verdiområde (domene) Verdiområde (domene) Verdiområde (domene)
Overskrift Relasjonstype / relasjonsformat / relasjonsskjema Entitetstype Klasse
Kolonneoverskrift Egenskap Egenskap Egenskap
Innhold Relasjon Entitetsmengde Objektmengde, instansmengde
--/-- Fremmednøkkel Relasjon Assosiasjon
Linje Tuppel Entitet Objekt, forekomst
Celle Attributtverdi Attributtverdi Attributtverdi

Forskjellen mellom entitet og objekt

Entitetsbegrepet er knyttet til objektbegrepet i objektorientert programmering. Imidlertid har begrepene ulik betydning i sine respektive konseptuelle verdener, datamodellering og objektorientert programmering. De korresponderer i hovedsak med hverandre, men er verken identiske eller synonyme:

Begge begrepene (entitet og objekt) har én ting til felles: De kan identifiseres, struktureres, avledes til entitets-/objekttyper og dokumenteres - vanligvis som en del av programvareutviklingsprosesser. Spesifikasjonene blir teknisk implementert i dataprogrammene gjennom deklarasjoner og datarelaterte behandlingskommandoer, og eksisterer til sist som innholdet i datasett. Den metodisk mer detaljerte objektorienterte modelleringen er ofte basert på klassisk datamodellering med dens entiteter, attributter og relasjoner.

Se også

Referanser

  1. ↑ Peter Pin-Shan Chen (1. mars 1976). «The Entity-Relationship Model-Toward a Unified View of Data» (PDF; 363 kB). Massachusetts Institute of Technology. Besøkt 7. januar 2010. Definition des Entity Relationship Modells