Konseptuelt skjema

Et **konseptuelt skjema** eller en **konseptuell datamodell** er en beskrivelse på høyt nivå av informasjonsbehov som ligger til grunn for utformingen av en database. Den inkluderer vanligvis bare hovedkonseptene og hovedrelasjonene mellom dem. Vanligvis er dette den første modellen som lages, og har utilstrekkelig detalj til å bygge en faktisk database. Dette nivået beskriver strukturen til hele databasen for en gruppe brukere. Den konseptuelle modellen er også kjent som datamodellen som kan brukes til å beskrive det konseptuelle skjemaet når et databasesystem implementeres. Den skjuler de interne detaljene om fysisk lagring, og fokuserer på beskrivelse av entiteter, datatyper, relasjoner og begrensninger.

## Oversikt
Et konseptuelt skjema er en avbilding av konsepter og deres relasjoner som brukes for databaser. Dette beskriver semantikken til en organisasjon og representerer en rekke påstander om dens natur. Spesifikt beskriver den tingene som er av betydning for en organisasjon (*entitetsklasser*) som den er tilbøyelig til å samle informasjon om, samt deres egenskaper (*attributter*) og assosiasjonene mellom par av disse tingene (*relasjoner*).

Fordi et konseptuelt skjema representerer semantikken til en organisasjon (og ikke en databasedesign) kan det eksistere på ulike abstraksjonsnivåer. Den originale ANSI fireskjemas arkitekturen begynte med mengden av *eksterne skjemaer* som hver representerer en persons syn på verden rundt vedkommende. Disse konsolideres til et enkelt *konseptuelt skjema* som er overmengde (*superset*) av alle disse eksterne visningene. En datamodell kan være like konkret som hver persons perspektiv, men dette har en tendens til å gjøre den lite fleksibel. Hvis denne personens verden endres må også modellen endres. Konseptuelle datamodeller tar et mer abstrakt perspektiv og identifiserer de grunnleggende tingene, hvorav tingene en person arbeider med bare er eksempler.

Modellen åpner for det som kalles arv i objektorienterte termer. Mengden instanser av en entitetsklasse kan igjen deles inn i entitetsklassr. Dermed er hver instans av en *undertypes* entitetsklasse også en instans av entitetsklasses *overtype*. Hver instans av overtypens entitetsklasse er også en instans av en av undertypenes entitetsklasse.

Overtype/undertype-relasjoner kan være eksklusive relasjoner eller ikke. En metodikk kan kreve at hver instans av en overtype bare kan være en instans av én undertype. På samme måte kan en overtype/undertype-relasjon være uttømmende eller ikke. Den er uttømmende hvis metodikken krever at hver instans av en overtype må være en instans av en undertype. En undertype kalt "Annet" er ofte nødvendig.

## Eksempel på relasjoner
* Hver {Person} kan være {Leverandør} i en eller flere {Bestillinger}
* Hver {Ordre} må være fra én og kun én {Person}
* {Person} er en {Undertype} av {Part} (Hvilket betyr at hver forekomst av {Person} også er en forekomst av {Part})
* Hver {Ansatt} kan ha en {Arbeidsleder} som også er {Ansatt}

## Datastrukturdiagram

Et datastrukturdiagram er en datamodell eller diagram som brukes til å beskrive konseptuelle datamodeller ved å gi grafiske notasjoner som dokumenterer entiteter og deres relasjoner, og begrensningene som binder dem.

## Se også
* Entitet–relasjonsmodell
* Konseptdiagram
* Konseptrammeverk
* Konseptgraf
* Domenemodell
* Datamodellering
* Objektrelasjonell avbilding
* Objekt–rolle-modellering
* Kunnskapsrepresentasjon og slutning
* Logisk skjema
* Tankekart
* Ontologi (informatikk)
* Fysisk skjema
* Semantisk vev
* Treskjemas tilnærming

## Referanser


### Litteratur
* Perez, Sandra K., & Anthony K. Sarris, eds. (1995) Technical Report for IRDS Conceptual Schema, Part 1: Conceptual Schema for IRDS, Part 2: Modeling Language Analysis, X3/TR-14:1995, American National Standards Institute, New York, NY.
* Halpin T, Morgan T (2008) Information Modeling and Relational Databases, 2nd edn., San Francisco, CA: Morgan Kaufmann.