Databasintegritet. Projektet Data Warehouse och Technology for Revealing Hidden Relationships Within Large Databases. Särskilda egenskaper hos information

Dataintegritet avser informationens riktighet och dess konsistens. Det inkluderar vanligtvis också relationsintegritet, vilket eliminerar relationsfel mellan primär- och sekundärnycklarna. Exempel på kränkningar av dataintegritet:

  • förekomsten av föräldralösa poster (underordnade poster som inte har något samband med överordnade poster);
  • förekomsten av identiska primärnycklar.

För att kontrollera dataintegriteten i kryptografi används hashfunktioner, till exempel MD5. Hashfunktionen omvandlar en sekvens av byte av godtycklig storlek till en sekvens av byte fixad storlek(siffra). Om data ändras kommer numret som genereras av hashfunktionen också att ändras.

Dataintegritet är en egenskap där data behåller en förutbestämd form och kvalitet.

Definitioner från standarder

Konceptet av " objektets integritet" (eng. integrity) används som en term i teorin om informationssäkerhet (IS). Ett objekt förstås som information, specialiserade data eller resurser i ett automatiserat system. Integriteten hos information (som en resurs i ett automatiserat system) är en av de tre huvudegenskaperna hos ett IS-objekt. IB-objektegenskaper:

  • tillgänglighet (eng. tillgänglighet);
  • integritet (eng. integritet);
  • sekretess (eng. konfidentialitet).

Ibland läggs denna lista till:

  • non-repudiation (eng. non-repudiation);
  • accountability (eng. accountability);
  • autenticitet eller autenticitet (eng. authenticity);
  • reliability (eng. reliability).

Sätt att säkerställa integritet

Metoder och medel för att implementera de krav som ställs i definitionerna av begreppet beskrivs i detalj inom ramen för ett enhetligt system för att säkerställa ett objekts informationssäkerhet (informationsskydd).

De viktigaste metoderna för att säkerställa integriteten av information (data) när den lagras i automatiserade systemär:

  • feltolerans(redundans, duplicering, spegling av utrustning och data, till exempel genom användning av RAID-arrayer);
  • säker återhämtning(säkerhetskopiering och elektronisk arkivering av information).

En av effektiva metoder genomförandet av kraven på informations integritet under dess överföring över kommunikationslinjer är kryptografiskt skydd av information(kryptering, hashing, elektronisk digital signatur).

integrerad strategi till företagsskydd utvecklas riktningen för att säkerställa integriteten och tillgängligheten av information (resurser för affärsprocesser) till en handlingsplan som syftar till att säkerställa kontinuitet i verksamheten .

Dataintegritet i kryptografi

Datakryptering garanterar inte att dataintegriteten inte äventyras. Därför, för att kontrollera dataintegriteten i kryptografi, ytterligare metoder. Dataintegritetsbrott innebär följande:

  • bitinversion ;
  • tillägg av nya bitar (särskilt helt nya data) av en tredje part;
  • ta bort eventuella databitar;
  • ändra ordningen på bitar eller grupper av bitar.

Inom kryptografi innebär lösningen av problemet med informationsintegritet användningen av åtgärder som gör det möjligt att upptäcka inte så mycket slumpmässiga förvrängningar av information, eftersom metoder för kodningsteori med feldetektering och korrigering är ganska lämpliga för detta ändamål, men en ändamålsenlig förändring av information av en aktiv kryptoanalytiker.

Integritetskontrollprocessen tillhandahålls av introduktionen till överförd information redundans. Detta uppnås genom att lägga till en viss paritet av byte till meddelandet. Denna kombination av byte beräknas enligt vissa algoritmer och låter dig kontrollera om data har modifierats av en tredje part. Sannolikheten att data har ändrats är ett mått på chifferets imitationsstyrka.

Ytterligare redundant information som introduceras i meddelandet kallas imitationsinsättning. Imitationen kan beräknas före eller under meddelandekryptering.

Imitationsinsatser

Antalet binära siffror (antal bitar) i imitationsinsättningen bestäms i allmänhet av kryptografiska krav med hänsyn till det faktum att sannolikheten för att lägga på falska data är lika med 1/2 p , där p är antalet binära siffror (antal bitar) i imitationsinsättningen.

ImitationInsert är ett tal som beräknas utifrån innehållet i meddelandet. Det vill säga, imitationsinsättning är en meddelandefunktion:

M= f(x) ,

  • M - imitationsinsats;
  • f är en funktion som beräknar den simulerade infogningen;
  • x - meddelande.

Imitation kan användas för att både autentisera ett meddelande och verifiera dess integritet. Beroende på syftet med insättningssimuleringen är algoritmerna för driften av funktioner f (koder) indelade i två klasser:

  • me(MDC, eng. modifieringsdetekteringskod). Algoritmer beräknar en dummy-insättning som är lämplig för att kontrollera integriteten (men inte äktheten) av data genom att hasha meddelandet;
  • meddelandeautentiseringskoder (MAC, engelsk meddelandeautentiseringskod). Algoritmer beräknar en imitationsinsättning som är lämplig för att skydda data från förfalskning genom att hasha ett meddelande med en hemlig nyckel.

MDC

Hashfunktioner för att beräkna en kontrollkod för meddelandeintegritet tillhör en underklass av nyckellösa hashfunktioner. I verkliga kryptosystem är dessa hashfunktioner kryptografiska, det vill säga, förutom minimiegenskaperna för hashfunktioner (datakomprimering, enkel beräkning av sammanfattningen (engelsk sammanfattning) från meddelandet) uppfyller följande egenskaper:

  • irreversibilitet (eng. preimage motstånd);
  • motstånd mot kollisioner av det första slaget (eng. svagt kollisionsmotstånd);
  • motstånd mot kollisioner av det andra slaget (eng. starkt kollisionsmotstånd).

Beroende på vilka av dessa egenskaper som MDC-hashfunktioner uppfyller, kan två underklasser särskiljas:

  • envägs hashfunktioner (OWHF, från engelska envägs hashfunktion), som uppfyller egenskapen irreversibilitet och är resistenta mot kollisioner av det första slaget;
  • kollisionsbeständiga hash-funktioner (CRHF, från engelskan. kollisionsbeständig hash-funktion), som är resistenta mot kollisioner av det första och andra slaget (generellt sett tillfredsställer CRHF-hashfunktioner i praktiken även irreversibilitetsegenskapen).

Det finns tre huvudtyper av MDC-hashalgoritmer, beroende på hur de är byggda:

  • på blockchiffer; ex: algoritm Matyas-Meyer-Oseas, algoritm Davies Meyer, algoritm Miyaguchi Preneel MDC-2, MDC-4;
  • speciella (eng. anpassade) hashalgoritmer som betonar hastighet och är oberoende av andra systemkomponenter (inklusive blockchiffer eller en modulär multiplikationskomponent som redan kan användas för andra ändamål). Till exempel: MD4, MD5, SHA-1, SHA-2, RIPEMD-128, RIPEMD-160;
  • på modulär aritmetik; till exempel: MASH-1 , MASH-2 .

MAC

MAC-hashfunktioner för att beräkna meddelandeautentiseringskoder, en underfamilj av nyckelhashfunktioner, inkluderar en familj av funktioner som uppfyller följande egenskaper:

  • lätt att beräkna sammanfattningen (eng. digest) från meddelandet;
  • datakomprimering - ett ingångsmeddelande med godtycklig bitlängd omvandlas till ett sammandrag med en fast längd;
  • sprickmotstånd - med ett eller flera meddelandesammandragspar, (x[i], h(x[i])), är det beräkningsmässigt omöjligt att erhålla ett nytt meddelandesammandragspar (x, h(x)), för alla nya meddelanden x .

Om den sista egenskapen inte uppfylls kan MAC:n förfalskas. Den sista egenskapen innebär också att nyckeln inte kan beräknas, det vill säga givet ett eller flera par (x[i], h(x[i])) med nyckeln k, är det beräkningsmässigt omöjligt att erhålla denna nyckel.

Algoritmerna för att erhålla meddelandeautentiseringskoden kan delas in i följande grupper enligt deras typ:

  • på blockchiffer. Till exempel, CBC-MAC, RIPE-MAC1, RIPE-MAC3;
  • skaffa MAC från MDC;
  • speciella (eng. anpassade) algoritmer. Till exempel, MAA, MD5-MAC;
  • på strömchiffer. Till exempel, CRC-baserad MAC.

MAC-förvärv baserat på MDC

Det finns metoder för att erhålla meddelandeautentiseringskoder från MDC:n genom att inkludera den hemliga nyckeln i inmatningen av MDC-algoritmen. Nackdelen med detta tillvägagångssätt är att i praktiken är de flesta MDC-algoritmer designade för att vara antingen OWHF eller CRHF, som har andra krav än MAC-algoritmer.

  1. hemliga prefixmetoden : Till sekvens av datablock x (\displaystyle x)=x 1 x 2 x 3 ..x n läggs till med den hemliga nyckeln k: k||x. För en given datasekvens, med hjälp av en iterativ hashfunktion, beräknas MDC till exempel så att H 0 =IV (från det engelska initialvärdet ), H i = f(Hej-1, x i) h(x) = Hn. Alltså MAC M (\displaystyle M)=h(k||x). Nackdelen med detta tillvägagångssätt är att en tredje part kan lägga till ytterligare data i slutet av blocksekvensen. y: k||x||y. Ny MAC kan beräknas utan att känna till nyckeln k: M (\displaystyle M) 1 = f(M (\displaystyle M),y).
  2. hemlig suffixmetod : Den hemliga nyckeln tilldelas i slutet av datasekvensen: x||k. I det här fallet MAC M (\displaystyle M)=h(x||k). I det här fallet kan en födelsedagsattack tillämpas. För en smälta längd av n bit. En tredje part kommer att behöva en beställning 2 n/2 operationer för ett meddelande x hitta meddelande x' Så att h(x)= h(x'). Men kunskap om nyckeln k kommer inte att krävas. Att ha lärt sig MAC-värde M (\displaystyle M) för ett meddelande x, kommer den tredje parten att kunna generera rätt par ( x',M (\displaystyle M)).
  3. kuvertmetod med stoppning : För nyckel k och MDC h h k ( x)=(k||sid||x||k), var sid- en sträng som kompletterar nyckeln k upp till datablockets längd, för att säkerställa att minst 2 iterationer utförs. Till exempel för MD5 k- 128 bitar, och sid- 384 bitar.
  4. HMAC : För nyckel k och MDC h beräkna MAC från meddelandet h k ( x)=(k||sid 1 ||h(k||sid 2 ||x)), var sid 1 ,sid 2 - olika strängar, kompletterande k upp till datablockets längd. Denna design är ganska effektiv, trots den dubbla användningen h.

Användningsmönster

Faktum är att i allmän syn, processen att överföra data och kontrollera dess integritet är som följer: användaren A lägger till ett sammandrag i meddelandet. Detta par kommer att överföras till den andra parten B. Där väljs ett meddelande, en sammanfattning beräknas för det och sammanfattningarna jämförs. Om värdena matchar kommer meddelandet att anses vara giltigt. En missmatchning indikerar att data har ändrats.

Säkerställa dataintegritet med hjälp av kryptering och MDC

Från Ursprungligt meddelande MDC beräknas, M (\displaystyle M)=h(x). Detta

2.4. Begreppet "dataintegritet"

Exekvera dataändringssatser i databastabeller INFOGA , DELETI och UPPDATERA kan leda till kränkning dataintegritet och deras riktighet, dvs. till förlust chh tillförlitlighet och konsekvens.

För att säkerställa att informationen som lagras i databasen är entydig och konsekvent, irelationsmodell vissa restriktiva villkor är fastställda - regler som definierar de möjliga värdena för data och ger en logisk grund förupprätthålla korrekta värden. Integritetsbegränsningar tillåta minimeringfel som uppstår vid uppdatering och bearbetning av data.

I en databas byggd på en relationsmodell specificeras en uppsättning integritetsregler, som,i själva verket är de restriktioner för alla giltiga databastillstånd och garanterar att uppgifterna är korrekta. Tänk på följande typer av dataintegritetsbegränsningar:

- nödvändig data;

- begränsningar för fältdomäner;

- företagsbegränsningar;

- entitetsintegritet;

- referensintegritet.

Obligatoriska uppgifter

Vissa fält måste alltid innehålla en av tillåtna värden, med andra ord, dessafält får inte vara tomma.

Fältdomänbegränsningar

Varje fält har sin egen domän, som är en uppsättning av dess giltiga värden.Företagsintegritetsbegränsningar

Det finns ett koncept av "företag Integritetsbegränsningar" hur ytterligare regler Stöd dataintegritet, användardefinierade, företagsomfattande eller databasadministratörer. Ett företags begränsningar kallas affärsregler.

Entitetsintegritet

Detta integritetsbegränsning bekymmer primära nycklar basbord. Per definition,primärnyckel den minsta identifieraren (ett eller flera fält) somanvänds för att unikt identifiera poster i en tabell. Alltså nejdelmängd primärnyckel kanske inte räcker för att unikt identifiera uppgifter.

Entitetsintegritet definierar att det inte finns något fält i bastabellen primärnyckel intekan innehålla saknade värden som anges NULL .

Förutsatt närvaron av en determinant NULL i någon del primärnyckel thär liktydigt med att säga att inte alla dess fält behövs för att unikt identifieraregistrerar och motsäger definitionen primärnyckel.

Ofta etableras relationen mellan tabeller av primärnyckel de där. värden extern nyckel-en tabell tilldelas värden primärnyckel annan. Detta är dock inte obligatorisk - i det allmänna fallet kan kommunikation upprättas med hjälp av sekundära nycklar. Dessutom, när du upprättar relationer mellan tabeller, finns det inget behov av obligatorisk unikhet. nyckeln som upprättar anslutningen. fält främmande nyckel behöver inte ha samma namn samt namnen på de nycklar de motsvarar. Extern nyckel kan hänvisa till din eget bord - i det här fallet extern nyckel kallas rekursiv.

Referensintegritet bestämmer: om tabellen finns extern nyckel, då dess betydelse måste antingen matcha värdet primärnyckel något rekord i bastabellen, eller ges av determinanten NULL .

Det finns flera viktiga punkter associerad med främmande nycklar. För det första borde det analysera om det är acceptabelt att använda främmande nycklartomma värden. Allt som alltom deltagandet barn bord i anslutning är obligatorisk, rekommenderas förbjuda användningen av tomma värden i motsvarande främmande nyckel. Samtidigt om det finns delaktighet barn bord i en relation och lägg sedan tomma värden i fältet främmande nyckel borde tillåtas. Till exempel, om i driften av fastställande erbjudanden av vissa handelsföretag måste du ange köparen, då måste klientkodsfältet ha attributet INTE NULL . Om det är tillåtet att sälja eller köpavaror utan att ange klienten, sedan för fältet klientkod kan anges attribut NULL .

Nästa problem är organisationen stöd för referensintegritetutföra datamodifieringsoperationer i databasen. Följande situationer är möjliga här:

1. Föra in ny linje i barn bord. Att förse referensintegritet du måste se till värdet främmande nyckel ny linje barn mallar är lika med ett tomt värde eller något specifikt värde som finns ifält primärnyckel en av raderna föräldrabord.

2. Ta bort en rad från barn bord. Inga kränkningar referensintegritet inte happening.

3. Uppdatering främmande nyckel i kö barn bord. Detta fall liknar det som beskrivsöver den första situationen. Att spara referensintegritet du måste se tillvad är värdet främmande nyckel i den uppdaterade raden barn bordär lika med tomvärde eller något specifikt värde som finns i fältet primär nyckel-en av raderna föräldrabord.

4. Lägger in en rad föräldrabord. Sådan infogning kan inte orsaka överträdelserreferensintegritet. Den tillagda raden blir helt enkelt det överordnade objektet,har inga barnobjekt.

5. Ta bort en rad från föräldrabord. Referensintegritet vi finner oss själva trasig, om barn bord det kommer att finnas rader som hänvisar till raderad rad föräldrabord. I det här fallet en av följande strategier:

INGEN ACTION . Ta bort en rad från föräldrabord förbjudet ombarn bord det finns minst en rad som refererar till det.

KASKAD . På avlägsnande rader från föräldrabord automatisktalla rader som hänvisar till det tas bort barn bord. Om någon avraderade rader barn bord fungerar som förälder i någon annan koppling, sedan operationen avlägsnande gäller alla linjerbarn bord detta samband osv. Med andra ord, avlägsnande raderföräldrabord gäller automatiskt för alla barn tabeller.

SÄTT NULL . När du tar bort en rad från föräldrabord i alla hänvisningarpå den barnrelationens linjer i fältet främmande nyckel, relevant primärnyckel raderad rad skrivs ett tomt värde. Följaktligen, ta bort linjer från föräldrabord kommer att göra att ett tomt värde anges motsvarande fält barn bord. Denna strategi kan användasendast när du är på fältet barntabell främmande nyckel får placeras tomma värden.

SÄTTA SOM NORMALT . När du tar bort en rad från föräldrabord i fält extern nyckel-alla rader som hänvisar till det barn bord automatisktvärdet som anges för detta fält placeras som standardvärde. Så Alltså att ta bort en rad från föräldrabord ringer rummet standardvärdet i fältet främmande nyckel alla rader barn bord hänvisar till den raderade raden. Denna strategi är endast tillämplig i dessa fall när fältet barntabell främmande nyckel, några standardvärde.

INGEN KONTROLL . När du tar bort en rad från föräldrabord ingen åtgärd påbevarande referensintegritet ingen data tas.

6. Uppdatering primärnyckel i kö föräldrabord. Om värdet primär nyckel-någon linje föräldrabord kommer att uppdateras, överträdelse referens integritetkommer att ske förutsatt att det finns rader i barnrelationen,refererar till ursprungligt värde primärnyckel. Att spara referensintegritet någon av strategierna som beskrivs ovan kan användas. Använder sig av
strategier
KASKAD uppdatering värden primärnyckel i kö förälder tabellerkommer att visas på valfri rad barn bord hänvisar till detta linje.

Det finns en annan typ av integritet - semantisk (semantisk) integritet Databas. Krav semantisk integritet bestämmer att uppgifterna i databasen ska ändras på ett sådant sätt att den semantiska relation som har utvecklats dem emellan inte kränks.

Underhållsnivå dataintegritet i olika system varierar avsevärt.

Klient-arkitekturens ideologi - servern kräver överföring av maximalt möjliga antal regler dataintegritet till servern. Fördelarna med detta tillvägagångssätt inkluderar:

- databasintegritetsgaranti, eftersom alla regler är koncentrerade på ett ställe (i databasen);

- automatisk applikation definierad på servern Integritetsbegränsningar för alla applikationer;

- frånvaron av olika implementeringar av begränsningar i olika klientapplikationer arbeta med databasen;

- snabbt svar på restriktioner, eftersom de är implementerade på servern och därför inte behöver skicka data till klienten, samtidigt som de ökar nätverkstrafik;

- tillgängligheten av ändringar gjorda av begränsningar på servern för alla klientapplikationer som arbetar med databasen, och frånvaron av behovet av att omfördela de ändrade klientapplikationerna till användarna.

Till nackdelarna med att lagra integritetsbegränsningar på servern inkluderar:

- oförmågan hos klientapplikationen att svara på några felaktigasituationer som uppstår på servern när vissa regler implementeras (t.ex.fel vid exekvering av lagrade procedurer på servern);

- språkliga begränsningar SQL och språket för lagrade procedurer och triggers förgenomförandet av alla nya behov av definitionen dataintegritet.

I praktiken implementerar klientapplikationer endast de regler som är svåra ellerkan inte implementeras med hjälp av serververktyg. Övrig Integritetsbegränsningar data överförs till servern.

Ett av de grundläggande begreppen inom databasteknik är konceptet integritet. I det allmänna fallet är detta begrepp främst relaterat till det faktum att databasen reflekterar in informationsformulär något objekt i den verkliga världen eller en uppsättning sammanlänkade objekt i den verkliga världen. I den relationella modellen representeras verkliga objekt som en uppsättning inbördes relaterade relationer. Under integritet vi kommer att förstå överensstämmelsen med informationsmodellen ämnesområde lagras i databasen, verkliga objekt och deras relationer vid varje given tidpunkt.

Varje förändring av ämnesområdet som är väsentlig för den konstruerade modellen bör återspeglas i databasen, samtidigt som en entydig tolkning av informationsmodellen vad gäller ämnesområdet bör bevaras.

Datamodellen bör tillhandahålla medel och metoder som möjliggör dynamisk spårning i databasen av konsekventa åtgärder som är förknippade med en konsekvent förändring av information.

Att upprätthålla integritet i relationsdatamodellen i dess klassiska bemärkelse inkluderar 3 aspekter.

Först är stödet. strukturell integritet, vilket tolkas som att ett relationellt DBMS ska tillåta arbete endast med homogena datastrukturer av typen "relationell relation". Samtidigt konceptet<реляционного отношения >måste uppfylla alla begränsningar som ålagts den i den klassiska teorin om en relationsdatabas (frånvaron av dubbletter av tupler, den obligatoriska närvaron av en primärnyckel, frånvaron av begreppet beställning av tupler).

Förutom strukturell integritet måste frågan om nollvärden övervägas. Ett odefinierat värde tolkas i relationsmodellen som ett värde som för närvarande är okänt. Detta värde kan ersättas med något specifikt värde när som helst när ytterligare information visas. Gäller inte vid jämförelse av nollvärden. standardregler jämförelser, ett nollvärde anses aldrig vara lika med ett annat nollvärde. För att identifiera likheten mellan värdet av något attribut och ett odefinierat värde, används standardspecialoperatorer:

<имя атрибута>ÄR NULL och<имя атрибута>ÄR INTE NULL.

Om det angivna attributet i denna tuppel (i den här raden) har ett odefinierat värde, utvärderas IS NULL-predikatet till TRUE (True), och IS NOT NULL-predikatet utvärderas till FALSE (False), i annat predikatet IS NULL utvärderas till FALSE och IS NOT NULL-predikatet utvärderas till TRUE.

I SQL2-standarden blev det möjligt att jämföra inte bara specifika attributvärden med ett odefinierat värde, utan också jämföra resultaten av logiska uttryck med ett odefinierat värde; för detta introducerades en speciell logisk konstant UNKNOWN. I det här fallet ser jämförelseoperationen ut så här. booleskt uttryck>ÄR(SANT|FALSK|OKÄNT)

För det andra är stödet språklig integritet, som består i det faktum att ett relationellt DBMS måste tillhandahålla språk för att beskriva och manipulera data som inte är lägre än SQL-standarden. Andra datamanipuleringsmöjligheter på låg nivå som inte följer standarden bör inte vara tillgängliga.

Det är därför åtkomst till informationen som lagras i databasen, och eventuella ändringar av denna information, endast kan utföras med SQL-språkoperatorer.

För det tredje är det stöd referensintegritet(Declarative Referential Integrity, DRI).

Vid upprätthållande av referensintegritet mellan huvud- och undertabeller används ofta följande regler:

En underordnad rad kan inte infogas förrän huvudraden finns. Du kan till exempel inte ange post för fakturaposter förrän den huvudbord ingen kontopost kommer att visas. Det är dock möjligt att ange tomma värden i det främmande nyckelfältet, vilket indikerar att posterna bara förbereds och ännu inte är relaterade;

Huvudraden kan inte tas bort förrän alla underordnade rader har tagits bort. Du kan till exempel inte ta bort en fakturapost om det finns poster för fakturaposter i undertabellen;

Om det primära nyckelvärdet i huvudraden ändras, måste alla främmande nyckelvärden som hänvisar till det primära nyckelvärdet också uppdateras; och vice versa, du kan inte ändra värdet nyckelfält i huvudtabellen om relaterade poster finns.

För att tillämpa dessa regler på en specifik anslutning i Access DBMS, markera kryssrutan när du skapar den Säkerställa dataintegritet i fönstret Ändra anslutningen. Om den här rutan är markerad kommer varje försök att utföra en åtgärd som bryter mot en av reglerna ovan att resultera i att en varning visas på skärmen, och själva åtgärden kommer inte att utföras.

Referensintegritet säkerställer upprätthållandet av ett konsekvent tillstånd för databasen i processen att modifiera data vid tilläggs- eller raderingsoperationer.

Integritetsbegränsningar används för att säkerställa dataintegritet när du skapar applikationer.

Begränsning- något begränsande villkor. I databasen - allmänt begrepp, som täcker ett brett spektrum av aspekter av databashantering: nycklar, värden, datatyper och format, etc. Restriktioner sätter vissa gränser för användaren när han anger, ändrar eller tar bort programdata.

Till exempel kan en begränsning användas för att säkerställa att varje anställd i en databas tillhör en avdelning, eller att användare inte av misstag kan ange ett negativt pris för en vara.

Restriktioner kan definieras på två nivåer:

i databasen. Restriktioner i en databas är associerade med tabellobjektdefinitioner. Till exempel kan en tabell ha en begränsning som kräver att varje värde i en kolumn är unikt.

I Access-applikationen (i programkod eller fastigheter föremål). Begränsningar i en applikation är associerade med applikationsobjekt som bildar ett gränssnitt till databasinformation. Till exempel kan ett textfält ha en begränsning som kräver att alla värden som anges i det är större än 20.

Databasbegränsningar. En databasbegränsning är en deklarativt definierad regel som begränsar de värden som kan anges i en kolumn eller uppsättning kolumner i en tabell. Databasbegränsningar är deklarativa eftersom de definierar begränsningar som en del av strukturen för en tabell när den skapas eller ändras.

När den väl är associerad med en tabell, bibehålls begränsningen alltid om den inte uttryckligen tas bort eller inaktiveras.

Att placera begränsningar i en databas har följande fördelar:

Centralisering. En databasgräns definieras endast en gång och kan automatiskt användas av alla klienter som kommer åt databasen. Att definiera en begränsning i en databas frigör utvecklaren från att behöva ange samma begränsning på alla formulär som använder den informationen. Dessutom, om en begränsning behöver ändras, görs ändringarna till endast ett objekt;

Skydd. Databasbegränsningar stöds alltid, oavsett vilket dataåtkomstverktyg som används. Å andra sidan kan begränsningar som definieras i ett program överträdas av en användare som använder ett annat program eller verktyg för att komma åt samma tabeller;

Enkelhet. Databasbegränsningar är lätta att definiera och kräver ingen programmeringskod.

Typer av begränsningar i databasen. Vilka typer av begränsningar som kan associeras med en tabell varierar beroende på i vilken databas tabellen är lagrad. Kategorierna av begränsningar som beskrivs nedan stöds av de flesta relationsdatabaser, inklusive Microsoft Access.

Null eller inte Null-begränsningar. Begränsningar tillåter eller förbjuder inmatning av nollvärden i en tabellkolumn. Det gäller alltid enskilda kolumner. Not Null-begränsningar används för att säkerställa att viktig data alltid har värden. Till exempel kan denna begränsning användas för att säkerställa att varje anställds post i databasen har sin lön.

När strukturen för en tabell definieras, ställs denna begränsning i Access DBMS genom att ställa in egenskapsvärdena Obligatoriskt fält Och Tomma tabellfältsrader. Det finns två typer av nollvärden att särskilja: nollvärden och nollsträngar. I vissa situationer kan ett fält lämnas tomt eftersom data för det antingen finns men är ännu inte känt, eller inte existerar alls. I detta avseende särskiljs två typer av tomma strängar. Till exempel, om tabellen har ett "Faxnummer"-fält, kan det vara tomt eftersom användaren inte vet om klienten har ett faxnummer eller inte, eller för att han vet att klienten inte har ett faxnummer. Således, om ett fält har ett tomt (Null) värde, betyder det att dess värde är okänt. Om en tom sträng skrivs in (två raka citattecken (" ")), betyder det att det inte finns något strängvärde.

Begränsningar av Unique. Begränsningen hindrar användaren från att ange dubbletter av värden i en kolumn eller uppsättning kolumner. Den unika begränsningen kan aktiveras på en enda kolumn eller på en kombination av kolumner. I det senare fallet kallas den unika begränsningen ibland som en sammansatt unik begränsning.

Unika begränsningar används för att säkerställa att det inte finns några dubbletter av kolumnvärden i en tabell. Det kan till exempel säkerställa att varje anställd i databasen tilldelas ett unikt nummer.

Den unika begränsningen hindrar inte användaren från att ange flera nollvärden i tabellen - ett nollvärde i en kolumn uppfyller alltid den unika begränsningen. För att förhindra att en kolumn med en unik begränsning anger nollvärden, måste du också lägga till en Not Null-begränsning i kolumnen.

I Access utlöses den unika begränsningen genom att ställa in värdet " Ja (Slumpar är inte tillåtna)" för fastigheten Indexerat fält eller ställ in värdet " Ja"för egendom Unikt index.

Primära nyckelbegränsningar. En primärnyckelbegränsning säkerställer att varje rad i en tabell identifieras unikt av ett värde i en kolumn eller uppsättning kolumner i primärnyckeln. En primärnyckelrestriktion kombinerar funktionerna i en unik restriktion och en Not Null-restriktion.

Det rekommenderas i allmänhet att inkludera en primärnyckelbegränsning i varje tabell du skapar. Att använda en primärnyckel kan avsevärt förbättra prestandan för åtkomst till rader i en tabell. Primärnyckelbegränsningen används också för att upprätthålla referensintegritet när en-till-många-relationer definieras i databasen. Genom att ställa in referensintegritet kan du upprätthålla en överensstämmelse mellan huvud- och underordnade tabeller. För att upprätthålla referensintegritet används primärnyckelbegränsningar i kombination med främmande nyckelbegränsningar, som beskrivs nedan.

Vissa DBMS:er (som Access) kan automatiskt bibehålla full referensintegritet efter skapandet av begränsningar för främmande nyckel och primärnyckel. I andra databaser (som SQL Server tidiga versioner) måste du definiera referensintegritetshantering separat (vanligtvis i en trigger). Men i alla fall, för att upprätta referensintegritetsregler i en databas, måste begränsningar för primärnyckel och främmande nyckel definieras.

Notera: Du kan också ställa in referensintegritetsregler i applikationen. Att upprätthålla referensintegritet på applikationsnivå kräver inte specifikation av begränsningar för primärnyckel och främmande nyckel, men i det här fallet måste alla nödvändiga procedurer och regler implementeras programmatiskt.

Restriktioner för främmande nyckel. En främmande nyckel-begränsning säkerställer att varje värde som anges i en kolumn redan finns i någon annan kolumn (vanligtvis en annan tabell). Foreign Key-begränsningar används vanligtvis för att upprätthålla referensintegritet när en-till-många-relationer definieras i databasen. Begränsningar för främmande nyckel används alltid tillsammans med begränsningar för primärnyckel (beskrivs i föregående avsnitt).

I en en-till-många-relation är en främmande nyckel en kolumn i en undertabell som innehåller ett rad-ID i huvudtabellen. Värdet i kolumnen för främmande nyckel är lika med värdet i primärnyckelkolumnen i den andra tabellen.

I en en-till-en-relation motsvarar varje rad i den underordnade tabellen en unik rad i huvudtabellen. I en en-till-många-relation kan en rad i den överordnade tabellen matcha valfritt antal rader i den underordnade tabellen.

Utöver de övervägda integritetsbegränsningarna finns det:

1. Restriktioner för de verkliga värdena för data som lagras i databasen så att fältvärdet hör till ett visst värdeintervall, eller någon aritmetisk överensstämmelse mellan värdena för olika fält observeras.

2. I en given relation, för varje tuppel mellan värdena i fält A och B, måste villkoret alltid vara uppfyllt att det första är större än det andra.

3. Värdena som vissa attribut tar måste begränsas till det givna intervallet.

4. För vissa attribut (eller en kombination av attribut) kan det finnas en ändlig, liten uppsättning giltiga värden (till exempel för attributet EDUCATION kan det bara finnas värdena PRIMARY, INCOMPLETE SECONDARY, SECONDARY, INFULLSTÄNDIG HÖGRE, HÖGRE).

5. Värdet på något attribut måste uppfylla ett visst format.

5. Värdeuppsättningen för ett av relationsattributen måste uppfylla något statiskt villkor. Till exempel bör ett visst värde inte överstiga mer än två gånger medelvärdet.

7. Värdeuppsättningen för någon kolumn i relationen är en delmängd av värdena i en annan kolumn i denna relation.

Utöver de listade finns det andra integritetsbegränsningar. Till exempel begränsningar av villkoren för att utföra parallella operationer på data i databasen; begränsningar av typen "gammal" - "ny", när databasen går in i ett nytt tillstånd.

Beskrivningen av integritetsbegränsningar innehåller två delar. Den första av dem uttrycker själva begränsningen, den andra beskriver när, under vilka förhållanden kontrollen ska utföras. Datamanipulationsspråket i verkliga system gör det möjligt att stödja många av de övervägda integritetsbegränsningarna i viss utsträckning.

"...dataintegritet: Datas egenskap att förbli korrekt och konsekvent oavsett gjorda ändringar (ISO/IEC 2382-8)..."

En källa:

"HÄLSOINFORMATISERING. KRAV FÖR ARKITEKTUREN FÖR ELEKTRONISK HÄLSEORECORDNING. GOST R ISO / TS 18308-2008"

(godkänd av Order of Rostekhregulirovanie den 11.03.2008 N 44-st)

  • - fullständighet, integritet och egen regelbundenhet ...

    Början av modern naturvetenskap

  • - Integritet och ärlighet...

    Stor psykologisk uppslagsbok

  • - ett tillstånd där medvetandet och det omedvetna samverkar i harmonisk harmoni. Enligt Jung motsvarar integritet hälsa, samtidigt som det representerar potentialen och förmågan ...

    Analytisk psykologi ordbok

  • - Tålighet och ärlighet...

    Ordbok för neurolingvistisk programmering

  • - Engelsk. integritet; tysk Ganzheit. En generaliserad egenskap hos objekt med en komplex inre struktur...

    Encyclopedia of Sociology

  • - innehav av intern enhet, odelbarhet ...

    Stor ekonomisk ordbok

  • - "... - tillståndet för programvara och data, kännetecknat av frånvaron av förändringar av avsiktlig eller oavsiktlig karaktär ..." Källa: "ALLMÄNNA KRAV FÖR MÄTINSTRUMENTENS MJUKVARA. REKOMMENDATION ...

    Officiell terminologi

  • - en egenskap hos databasen, vilket innebär att databasen innehåller fullständig och konsekvent information som är nödvändig för att applikationerna ska fungera korrekt. Integritetsbegränsningar införs för att säkerställa integritet...

    Finansiell vokabulär

  • - "...Integritet): datas egenskap att upprätthålla noggrannhet och konsistens oavsett de ändringar som görs..."

    Officiell terminologi

  • - en generaliserad egenskap hos objekt med en komplex inre struktur ...

    Stor Sovjetiskt uppslagsverk

  • - R., D., Pr....

    Stavningsordbok för det ryska språket

  • - INTEGRITET, -och, fruar. 1. se holistisk. 2. Oskiljaktighet, enhet. Territoriellt c. stater...

    Lexikon Ozhegov

  • - INTEGRITET, integritet, pl. nej, kvinna . distraktion substantiv till holistisk. Världsbildens integritet. Nationell integritet...

    Ushakovs förklarande ordbok

  • - integritet distrahera...

    Efremovas förklarande ordbok

  • -c"...

    Rysk stavningsordbok

  • - ...

    Ordformer

"Dataintegritet" i böcker

Projektet "Data Warehouse" och projektet "Teknik för att avslöja dolda relationer inom stora databaser"

Från författarens bok

Projektet Data Warehouse Project och Tekniken för att avslöja dolda relationer inom stora databaser Båda dessa projekt integrerades 1999. De började utveckla och driva kampanjer för att sälja bankprodukter. Dessa projekt har skapat stora

Dataintegritet och återställning

Från AS/400 Fundamentals författaren Soltis Frank

Dataintegritet och återställning Integriteten hos data som lagras i databasen är extremt viktig. Samtidigt, med samtidig läsning och modifiering av data av många användare, finns det en möjlighet att data förstörs. AS/400-databasen ger ett tillförlitligt sätt att säkerställa

Exportera data från en Access 2007-databas till en SharePoint-lista

författaren Londer Olga

Exportera data från databasen Få åtkomst till data 2007 till en SharePoint-lista Access 2007 låter dig exportera en tabell eller annat databasobjekt till en olika format, Till exempel extern fil, dBase eller Paradox databas, Lotus 1–2–3 fil, arbetsbok excel 2007, Word-fil 2007 RTF, textfil, XML-dokument

Flytta data från en Access 2007-databas till en SharePoint-webbplats

Från boken Microsoft Windows SharePoint Services 3.0. Ryska versionen. Kapitel 9-16 författaren Londer Olga

Flytta data från en Access 2007-databas till en SharePoint-webbplats Många behöver Få åtkomst till applikationer 2007 överträffar det enkla behovet av hantering och datainsamling. Ofta används sådana applikationer av många användare av organisationen, vilket gör att de har ökade behov av

Rädda data från en skadad databas

Från boken World of InterBase. Arkitektur, administration och utveckling av databasapplikationer i InterBase/FireBird/Yaffil författare Kovyazin Alexey Nikolaevich

Rädda data från en skadad databas Det är möjligt att alla ovanstående steg inte kommer att återställa databasen. Detta innebär att basen är allvarligt skadad och antingen inte kan återställas alls som helhet, eller så kommer det att krävas

Validering av datainmatning på databasprocessornivå

författare McManus Geoffrey P

Validering av datainmatning på databasprocessornivå Förutom datavalidering vid datainmatning bör du vara medveten om att du även kan utföra validering på databasprocessornivå. Denna kontroll är vanligtvis mer tillförlitlig eftersom den tillämpas oberoende.

Från boken Handling Databases with Visual Basic® .NET författare McManus Geoffrey P

Uppdatering av en databas med ett dataadapterobjekt

Från boken The C# 2005 Programming Language and the .NET 2.0 Platform. författaren Troelsen Andrew

Uppdatera en databas med ett dataadapterobjekt Dataadaptrar kan göra mer än att fylla i tabellerna i ett DataSet-objekt åt dig. De kan också underhålla en uppsättning grundläggande SQL-kommandoobjekt, använda dem för att returnera modifierad data tillbaka till butiken.

Kapitel 2 Datainmatning. Typer, eller format, av data

Från en Excel-arbetsbok. multimediakurs författaren Medinov Oleg

Kapitel 2 Datainmatning. Typer, eller format, av data som arbetar med Excel-dokumentär förknippad med inmatning och bearbetning av olika data, det vill säga information som kan vara textuell, numerisk, finansiell, statistisk etc. MULTIMEDIEKURS Metoder för inmatning och bearbetning av data

3.2. Exportera data från ERwin till BPwin och länka datamodellobjekt med pilar och jobb

Från boken Business Process Modeling med BPwin 4.0 författare Maklakov Sergey Vladimirovich

Databasdatamodell

författaren Borri Helen

Datamodell<>databas Den "världen", som erhölls i processen för beskrivning och analys, är ett utkast till dina datastrukturer. Man tror att logisk modell ska beskriva relationer och uppsättningar. Ett vanligt misstag (och en fälla som är gemensam för alla CASE-verktyg) är att blint

KAPITEL 17 Referensintegritet.

Från boken Firebird DATABAS UTVECKLARGUIDE författaren Borri Helen

KAPITEL 17 Referensintegritet. Termen referensintegritet syftar på förmågan hos en databas att skydda sig från att ta emot input som kan resultera i brutna relationer. Databasens referensintegritet finns nämligen i

Databaser (klasser för att arbeta med databaser)

Från boken Microsoft Visual C++ och MFC. Programmering för Windows 95 och Windows NT författare Frolov Alexander Vyacheslavovich

Databaser (databasklasser) MFC innehåller flera klasser som ger stöd för databasapplikationer. Först och främst är dessa klasser fokuserade på att arbeta med ODBC-drivrutiner– CDabase och CRecordSet. Nya verktyg stöds också för

Från boken Kommentar till Federal lag 27 juli 2006 N 152-FZ "Om personuppgifter" författare Petrov Mikhail Igorevich

Artikel 16. Personuppgiftspersoners rättigheter när de fattar beslut enbart baserat på automatiserad bearbetning deras personuppgifter Kommentar till artikel 161. Den kommenterade artikeln definierar rättigheterna för individer av personuppgifter

2. Bestämma typen av datajämförelse (från idé till datajämförelse)

Från boken Speak the Language of Diagrams: A Guide to Visual Communication författare Zelazny Jean

2. Bestäm typen av datajämförelse (från idé till datajämförelse) Detta steg är länken mellan idén och det färdiga diagrammet. Det är mycket viktigt att förstå att varje idé - vilken aspekt av datan som du vill uppmärksamma - kan uttryckas i termer av

Dataintegritet

Dataintegritet- en term inom datavetenskap och telekommunikationsteori, vilket innebär att uppgifterna är fullständiga, under förutsättning att uppgifterna inte har ändrats under någon operation på dem, vare sig det gäller överföring, lagring eller presentation.

Inom telekommunikation kontrolleras dataintegriteten ofta med hjälp av meddelandeautentiseringskoden (MAC).

Inom kryptografi och informationssäkerhet är dataintegritet i allmänhet data som den skapades. Exempel på kränkningar av dataintegritet:

  • en angripare försöker ändra kontonumret i en banktransaktion, eller försöker förfalska ett dokument.
  • oavsiktlig förändring under överföringen av information eller under ofungerande hårddisk.

Inom databasteorin betyder dataintegritet riktigheten av datan och dess konsistens. Det inkluderar vanligtvis också relationsintegritet, vilket eliminerar relationsfel mellan primär- och sekundärnycklarna. Till exempel när det finns föräldralösa underordnade poster som inte har något samband med överordnade poster.

Ett exempel på att kontrollera dataintegriteten i kryptografi är användningen av en hashfunktion, till exempel kommer en hashfunktion också att ändras.

Dataintegritet är en egenskap där data behåller en förutbestämd form och kvalitet.


Wikimedia Foundation. 2010 .

Se vad "Dataintegritet" är i andra ordböcker:

    dataintegritet- En egenskap där uppgifterna behåller en förutbestämd form och kvalitet. dataintegritet En åtkomstkontrolltjänst som säkerställer att data som tas emot över ett nätverk inte har … …

    En egenskap som håller data i en förutbestämd form och kvalitet. Svenska: Dataintegritet Se även: Informationssäkerhet Finam Financial Dictionary ... Finansiell vokabulär

    Dataintegritet- Integritet (av data): datas egenskap att förbli korrekt och konsekvent oavsett gjorda ändringar (ISO/IEC 2382-8)... Källa: HÄLSOINFORMATION. KRAV FÖR ARKITEKTUREN FÖR ELEKTRONISK HÄLSORECORDNING. ... ... Officiell terminologi

    integritet (data)- (integritet (av data)): Datas egenskap att förbli korrekt och konsekvent oavsett gjorda ändringar (ISO/IEC 2382-8). Källa: GOST R ISO/TS 18308 2008: Health Informatization. Krav på arkitekturen för elektroniska patientjournaler ...

    dataintegritet- 2.23 dataintegritetsöverensstämmelse för värdena för all data i en databas med en viss konsekvent uppsättning regler. Källa: GOST R ISO/IEC TO 10032 2007: referens model Datahantering Dataintegritet: Förmågan att... … Ordboksuppslagsbok med termer för normativ och teknisk dokumentation

    Informationsintegritet (även dataintegritet) är ett begrepp inom datavetenskap och telekommunikationsteori, vilket betyder att uppgifterna är fullständiga, under förutsättning att uppgifterna inte har ändrats när man utför någon operation på dem, vare sig det är överföring, ... .. Wikipedia

    systemets integritet- 1. Kvaliteten på systemet som det besitter, om det utför alla sina funktioner korrekt, är fri från avsiktlig eller oavsiktlig otillåtna manipulationer. 2. Systemets tillstånd där det finns full garanti för att under alla förhållanden ... ... Teknisk översättarhandbok

    integritet- 2.15 integritetsegenskap för att upprätthålla tillgångarnas korrekthet och fullständighet. En källa … Ordboksuppslagsbok med termer för normativ och teknisk dokumentation

    En egenskap hos en databas som innebär att databasen innehåller fullständig och konsekvent information som är nödvändig för att applikationer ska fungera korrekt. Integritetsbegränsningar införs för att säkerställa integritet. Se även: Finansiella databaser ... ... Finansiell vokabulär

    referensintegritet- referensintegritetsintegritet för referensdata - [L.G. Sumenko. Engelsk rysk ordbok för informationsteknologi. M.: GP TsNIIS, 2003.] Ämnen Informationsteknologi i allmänhet Synonymer referensintegritet referensintegritet ... ... Teknisk översättarhandbok

Böcker

  • Oracle kärna. Intern enhet för databasadministratörer och utvecklare
  • Oracle kärna. Intern enhet för administratörer och datautvecklare, Lewis Jonathan. I den här boken ger författaren bara det mesta nödvändig information handla om internt arrangemang DBMS Oracle som varje DBA behöver känna till för att framgångsrikt kunna hantera...