? Entity integritet och referensintegritet finns två former av dataintegritet som är särskilt viktiga i relationsdatabaser . Relationsdatabaser bryta lagring av data ner i element som vanligtvis måste gått ihop igen för att få fram meningsfulla resultat . Utan garantier för dessa två typer av integritet , skulle uppgifterna få bort eller dupliceras . Relationsdatabaser
Relational Database Management system representerar den mest genomförda databas modell i världen idag . Den relationella modellen bygger på "normaliserad" uppgifter . Normalisering är en process som utförs i databasen designprocessen för att säkerställa att de tabeller som innehar uppgifterna inte har upprepande data och kan inte skapa upprepning eller förlust när de sammanfogas
Reference Data
flesta databasprogram använder två olika typer av data : transaktions data och referensdata . Som ett exempel , kommer en mycket grundläggande lager databas bokföra transaktioner lagerförändring . Föreställ dig en transaktion rekord såsom : Post 1010 , Antal 5 , riktning ut . En chef kanske vill visa en rapport av dessa uppgifter ger objektet namn och artikelbeskrivningen samt artikelnummer . Dessa uppgifter är attribut av en annan enhet som beskriver varje del i lagret . Detta är en referens bord .
Normalisering
lagret databasen exempel behöver transaktioner tabellen bara att hålla en identifierare för en del . Om uppgifter såsom namn och beskrivning hölls i transaktioner tabellen , skulle detta leda till onödiga upprepningar . Varje föremål har alltid samma namn och beskrivning , och dessa uppgifter avser del och inte till transaktionen . I detta exempel systemet , är de delar information hålls i en annan tabell . Varje post i tabellen måste identifieras med ett fält , eller en kombination av fält , som kallas primärnyckel . Uppdelning ut upprepande grupper kallas " normalisering . " I lagret databasen exempel
Entity Integrity
bör primärnyckeln i delar tabellen vara ett attribut som unikt identifierar varje post . Detta är enhet integritet . Generellt , numeriska fält är bättre för en primärnyckel än textfält . I delar tabellen , skulle det bästa området för primärnyckeln vara artikelnr . Organisationen får sälja en mängd olika produkter med samma namn , som " liten skiftnyckel . " The Artikelnummer alltid kommer att vara unik per post , och så detta säkerställer enhet integritet för delar tabellen . Om flera poster har samma primärnyckel värde , skulle referera detaljer från denna tabell genom att gå till affären tabellen orsaka transaktionsposter att duplicera för att matcha med varje post med samma identifierare .
Referential integritet
Referensintegritet ser till att sambandet mellan transaktionerna tabellen och delar tabellen korrekt bildas . I transaktionen tabellen , bildar artikelnummer sekundärnyckeln är som attributet som länkar till primärnyckeln i delar tabellen . Endast löpnummer som anges i delarna tabellen kan visas i transaktionen tabellen . Detta är referensintegritet. Om transaktioner tabellen innehåller ett artikelnummer som inte är även i delar tabellen , förenar tabeller tillsammans skulle orsaka transaktioner med det saknade objektet numret lämnas ut av resultaten .