I klassisk databaseteori er en datamodel en formel teori om datarepræsentation og -behandling i et databasestyringssystem (DBMS), som omfatter mindst tre aspekter:
Strukturaspektet definerer , hvordan databasen logisk ser ud. Manipulationsaspektet definerer, hvordan man skifter mellem tilstande i databasen (dvs. hvordan man ændrer data), og hvordan man henter data fra databasen. Integritetsaspektet definerer midlerne til at beskrive de korrekte tilstande i en database.
En datamodel er en abstrakt, selvforsynende, logisk definition af objekter, operatører og andre elementer, der tilsammen udgør en abstrakt dataadgangsmaskine, som en bruger interagerer med. Disse objekter giver dig mulighed for at modellere strukturen af dataene, mens operatorer giver dig mulighed for at modellere dataens adfærd [1] .
Hver database og DBMS er bygget på grundlag af en eksplicit eller implicit datamodel. Alle DBMS'er bygget på den samme datamodel er af samme type. For eksempel er grundlaget for relationel DBMS relationel datamodel , netværks-DBMS - netværksdatamodel , hierarkisk DBMS - hierarkisk datamodel osv.
I litteraturen, artikler og i daglig tale bruges udtrykket "datamodel" nogle gange i betydningen " databaseskema " (" databasemodel "). Denne brug er forkert, som påpeget af mange myndigheder, herunder K. J. Date , M. R. Kogalovsky , S. D. Kuznetsov. Datamodellen er teorien eller modelleringsværktøjet , mens databasemodellen (databaseskemaet) er resultatet af modelleringen . Ifølge K. Data ligner forholdet mellem disse begreber forholdet mellem et programmeringssprog og et specifikt program på dette sprog [1] .
M. R. Kogalovsky forklarer udviklingen af betydningen af udtrykket som følger. Oprindeligt blev begrebet en datamodel brugt som et synonym for datastrukturen i en bestemt database . I processen med at udvikle teorien om databasesystemer har begrebet "datamodel" fået et nyt indhold. Der var behov for et udtryk, der ville betegne et værktøj, og ikke resultatet af modellering, og som således ville inkorporere et sæt af forskellige databaser af en bestemt klasse. I anden halvdel af 1970'erne, i mange publikationer om disse problemer, begyndte den samme betegnelse "datamodel" at blive brugt til disse formål. I øjeblikket fortolkes termen "datamodel" i den videnskabelige litteratur i langt de fleste tilfælde i en instrumentel forstand (som et modelleringsværktøj) [2] .
Men i lang tid blev udtrykket "datamodel" brugt uden en formel definition. En af de første specialister, der helt formelt definerede dette koncept, var E. Codd . I artiklen "Data Models in Database Management" [3] definerede han en datamodel som en kombination af tre komponenter:
Der er mindst følgende datamodeller:
Softwareudvikling | |
---|---|
Behandle | |
Koncepter på højt niveau | |
Vejbeskrivelse |
|
Udviklingsmetoder _ | |
Modeller | |
Bemærkelsesværdige tal |
|
Database | |
---|---|
Begreber |
|
Objekter | |
Nøgler | |
SQL | |
Komponenter |