Varför är enhetsintegritet och referensintegritet viktiga i en databas?

...

Entitet och referensintegritet är viktiga i relationsdatabaser.

Entitetsintegritet och referensintegritet är två former av dataintegritet som är särskilt viktiga i relationsdatabaser. Relationsdatabaser bryter ned lagringen av data i element som vanligtvis måste sammanfogas igen för att ge meningsfulla resultat. Utan garantier för dessa två typer av integritet skulle data tappas eller dupliceras.

Relationsdatabaser

Relationella databashanteringssystem representerar den mest implementerade databasmodellen i världen idag. Den relationella modellen bygger på "normaliserade" data. Normalisering är en process som utförs i databasen designprocessen för att säkerställa att tabellerna att hålla data har inte upprepade data och kan inte skapa upprepning eller förlust när de sammanfogas tillsammans

Dagens video

Referensdata

De flesta databasapplikationer använder två olika typer av data: transaktionsdata och referensdata. Som ett exempel kommer en mycket grundläggande lagerdatabas att registrera lagerrörelsetransaktioner. Föreställ dig en transaktionspost som: Artikel 1010, Kvantitet 5, Riktning ut. En chef kanske vill se en rapport över denna data med artikelnamnet och artikelbeskrivningen samt artikelnumret. Dessa detaljer är attribut för en annan enhet som beskriver varje del i lagret. Detta är en referenstabell.

Normalisering

I exemplet på lagerdatabasen behöver transaktionstabellen bara innehålla en identifierare för delen. Om detaljer som namn och beskrivning fanns i transaktionstabellen skulle detta orsaka onödiga upprepningar. Alla föremål har alltid samma namn och beskrivning, och dessa detaljer hänför sig till delen och inte till transaktionen. I detta exempelsystem hålls detaljinformationen i en annan tabell. Varje post i tabellen måste identifieras unikt av ett fält, eller en kombination av fält, kallad primärnyckeln. Att dela ut återkommande grupper kallas "normalisering".

Entitetsintegritet

I exemplet med lagerdatabasen bör den primära nyckeln i artikeltabellen vara ett attribut som unikt identifierar varje post. Detta är entitetsintegritet. Generellt sett är numeriska fält bättre för en primärnyckel än textfält. I detaljtabellen skulle det bästa fältet för primärnyckeln vara artikelnumret. Organisationen kan sälja en mängd olika produkter med samma namn, som "liten skiftnyckel". Artikelnumret kommer alltid att vara unikt per artikel, så detta säkerställer enhetsintegritet för reservdelstabellen. Om flera poster hade samma primärnyckelvärde, hänvisar du till detaljer från den här tabellen genom att koppla den till transaktionstabell skulle få transaktionsposter att duplicera för att matcha med varje post med densamma identifierare.

Referensintegritet

Referensintegritet säkerställer att länken mellan transaktionstabellen och deltabellen är korrekt utformad. I transaktionstabellen bildar artikelnumret den främmande nyckeln, vilket är attributet som länkar till den primära nyckeln i komponenttabellen. Endast artikelnummer listade i artikeltabellen kan visas i transaktionstabellen. Detta är referensintegritet. Om transaktionstabellen innehåller ett artikelnummer som inte också finns i artikeltabellen, skulle en sammanfogning av tabellerna göra att transaktioner med det saknade artikelnumret utelämnas i resultaten.