Databasintegritet är överensstämmelsen mellan den information som finns tillgänglig i databasen och dess interna logik, struktur och alla explicit specificerade regler. Varje regel som lägger någon form av begränsning på det möjliga tillståndet för en databas kallas en integritetsbegränsning .
Regelexempel: delvikten måste vara positiv; antalet tecken i telefonnumret bör inte överstiga 15; föräldrarnas ålder kan inte vara lägre än deras biologiska barns ålder, och så vidare.
Konceptet konsistens, eller dataintegritet, är ett nyckelbegrepp i databaser.
Kuznetsov S. D. [1] :30Självklart måste begränsningar formellt deklareras till DBMS , varefter DBMS måste upprätthålla dem. Att deklarera begränsningar är helt enkelt en fråga om att använda lämpliga databasspråkfaciliteter, och begränsningsupprätthållandet åstadkoms genom att DBMS kontrollerar uppdateringsoperationer som kan bryta mot begränsningen och inaktiverar de som gör det. När en begränsning initialt deklareras måste systemet kontrollera om databasen för närvarande uppfyller den. Om detta villkor inte är uppfyllt måste begränsningen avvisas; annars accepteras det (det vill säga skrivs till systemkatalogen) och från och med då respekteras [2] :338 .
Integritetsmekanismer är en av komponenterna i konceptet med datamodellen [3] [4] .
I teorin om relationsdatabaser är det vanligt att särskilja fyra typer av integritetsbegränsningar [2] :353 :
Ett exempel på en vanlig relationsvariabelnivåbegränsning är en kandidatnyckel ; ett exempel på en vanlig begränsning på databasnivå är en främmande nyckel .
Databasens integritet garanterar inte tillförlitligheten (sanningen) av informationen i den, men säkerställer åtminstone sannolikheten för denna information, och förkastar uppenbart osannolika, omöjliga värden. Sålunda bör man inte blanda ihop integriteten (konsistensen) hos databasen med databasens sanning. Sanning och konsekvens är inte samma sak [2] :351 .
Tillförlitlighet (eller sanning) är överensstämmelsen mellan fakta som lagras i databasen och den verkliga världen. För att bestämma tillförlitligheten hos databasen krävs det naturligtvis att ha fullständig kunskap om både innehållet i databasen och den verkliga världen. För att fastställa databasens integritet krävs endast kunskap om innehållet i databasen och de regler som anges för den. Därför kan DBMS inte garantera att det endast finns sanna påståenden i databasen; allt den kan göra är att se till att det inte finns någon data som bryter mot integritetsbegränsningarna (det vill säga att den inte innehåller några data som är oförenliga med dessa begränsningar) [2] :351 .
Av det faktum att uppgifterna är korrekta följer att de är konsekventa (men inte vice versa), och av att uppgifterna är inkonsekventa följer att de är felaktiga (men inte vice versa). Här betyder ordet "korrekt" att databasen innehåller rätt data om och endast om den helt återspeglar det verkliga tillståndet i den verkliga världen [2] :351 .
Databas | |
---|---|
Begrepp |
|
Objekt |
|
Nycklar | |
SQL |
|
Komponenter |