Databasintegritet

Den stabila versionen checkades ut den 4 oktober 2022 . Det finns overifierade ändringar i mallar eller .

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] :30

Sjä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] .

Klassificering av integritetsbegränsningar

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 .

Integritet och sanning för data i databasen

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 .

Se även

Anteckningar

  1. Kuznetsov S. D. Grunderna i databaser. - 2:a uppl. - M .: Internet University of Information Technologies; BINOM. Kunskapslaboratoriet, 2007. - 484 sid. - ISBN 978-5-94774-736-2 .
  2. 1 2 3 4 5 Datum KJ Introduktion till databassystem = Introduktion till databassystem. - 8:e uppl. - M. : Williams , 2005. - 1328 sid. - ISBN 5-8459-0788-8 (ryska) 0-321-19784-4 (engelska).
  3. Codd, EF "Datamodeller i databashantering. Proc. Workshop i dataabstraktion, databaser och konceptuell modellering (Michael L. Brodie och Stephen N. Zilles, red.), Pingree Park, Colo. (juni 1980): ACM SIGART Nyhetsbrev nr 74 (januari 1981) ACM SIGMOD Record 11(2), februari 1981 ACM SIGPLAN Notices 16(1), januari 1981
  4. Datum K.J. Den relationella modellen kommer att stå emot tidens tand // Intelligent Enterprise, 1 juni 1999, volym 2, nummer 8)