Databaseintegritet er overensstemmelsen mellem de tilgængelige oplysninger i databasen og dens interne logik, struktur og alle eksplicit specificerede regler. Hver regel, der pålægger en eller anden form for begrænsning for en databases mulige tilstand, kaldes en integritetsbegrænsning .
Regeleksempler: delvægt skal være positiv; antallet af tegn i telefonnummeret må ikke overstige 15; forældrenes alder må ikke være mindre end deres biologiske barns alder og så videre.
Begrebet konsistens eller dataintegritet er et nøglebegreb i databaser.
Kuznetsov S. D. [1] :30Det er klart, at begrænsninger skal erklæres formelt til DBMS , hvorefter DBMS skal håndhæve dem. At erklære begrænsninger er simpelthen et spørgsmål om at bruge de passende databasesprogfaciliteter, og håndhævelse af begrænsninger udføres ved at DBMS kontrollerer opdateringsoperationer, der kan overtræde begrænsningen og deaktivere dem, der gør det. Når en begrænsning oprindeligt erklæres, skal systemet kontrollere, om databasen i øjeblikket opfylder den. Hvis denne betingelse ikke er opfyldt, skal begrænsningen afvises; ellers accepteres det (det vil sige skrevet til systembiblioteket), og fra da af respekteres [2] :338 .
Integritetsmekanismer er en af komponenterne i begrebet datamodellen [3] [4] .
I teorien om relationelle databaser er det sædvanligt at skelne mellem fire typer af integritetsbegrænsninger [2] :353 :
Et eksempel på en fælles relationsvariabel niveaubegrænsning er en kandidatnøgle ; et eksempel på en almindelig begrænsning på databaseniveau er en fremmednøgle .
Databasens integritet garanterer ikke pålideligheden (sandheden) af informationen indeholdt i den, men sikrer i det mindste plausibiliteten af denne information, idet den afviser åbenlyst usandsynlige, umulige værdier. Man bør således ikke forveksle databasens integritet (konsistens) med databasens sandhed. Sandhed og konsekvens er ikke det samme [2] :351 .
Pålidelighed (eller sandhed) er overensstemmelsen mellem de fakta, der er gemt i databasen, til den virkelige verden. For at bestemme pålideligheden af databasen er det naturligvis nødvendigt at have fuldstændig viden om både indholdet af databasen og den virkelige verden. For at bestemme databasens integritet kræves kun viden om indholdet af databasen og de regler, der er specificeret for den. Derfor kan DBMS ikke garantere, at der kun er sande udsagn i databasen; alt det kan gøre er at sikre, at der ikke er nogen data, der overtræder integritetsbegrænsningerne (det vil sige, at de ikke indeholder nogen data, der er uforenelige med disse begrænsninger) [2] :351 .
Af det faktum, at dataene er korrekte, følger det, at de er konsistente (men ikke omvendt), og af det faktum, at dataene er inkonsistente, følger det, at de er forkerte (men ikke omvendt). Her betyder ordet "korrekt", at databasen indeholder de korrekte data, hvis og kun hvis de fuldt ud afspejler den sande tilstand i den virkelige verden [2] :351 .
Database | |
---|---|
Begreber |
|
Objekter | |
Nøgler | |
SQL | |
Komponenter |