Skip to main content

En guide till förståelse av databasberoende

#truckereala207 - VREAU SA VAD CAT DORM (April 2025)

#truckereala207 - VREAU SA VAD CAT DORM (April 2025)
Anonim

Ett beroende är en begränsning som gäller för eller definierar förhållandet mellan attribut. Det förekommer i en databas när information som lagras i samma databastabell bestämmer unikt annan information som lagras i samma tabell. Du kan också beskriva detta som ett förhållande där man känner till värdet av ett attribut (eller en uppsättning attribut) är tillräckligt för att berätta värdet av ett annat attribut (eller uppsättning attribut) i samma tabell.

Databasberoende förvirrar ofta både studenter och databaspersonal. Lyckligtvis är de inte så komplicerade som de kan tyckas. De kan bäst förklaras med några exempel. Här ska vi undersöka vanliga typer av databasberoende.

Databasberoende och funktionshinder

Att säga att det finns ett beroende mellan attribut i en tabell är detsamma som att det finns ett funktionellt beroende mellan dessa attribut. Om det finns ett beroende i en databas så att attribut B är beroende av attribut A, skulle du skriva detta som:

A -> B

Till exempel kan det sägas att ett namn enligt SSN (eller SSN -> namn) i en tabell med anställdas egenskaper, inklusive SSN (Social Security Number) och namn, kan bero på att en anställds namn kan fastställas unikt från en SSN. Det omvända uttalandet (namn -> SSN) är emellertid inte sant eftersom mer än en anställd kan ha samma namn men alltid ha olika SSN.

Trivial Funktionella Beroenden

Ett trivialt funktionellt beroende uppstår när du beskriver ett funktionellt beroende av ett attribut på en samling attribut som innehåller det ursprungliga attributet. Till exempel är {A, B} -> B ett trivialt funktionellt beroende, vilket är {name, SSN} -> SSN. Denna typ av funktionellt beroende kallas trivialt eftersom det kan härledas från sunt förnuft. Det är uppenbart att om du redan vet värdet av B, kan värdet av B vara unikt bestämt av den kunskapen.

Fullständiga funktionella beroenden

Ett fullständigt funktionellt beroende uppstår när du redan uppfyller kraven för ett funktionellt beroende och uppsättningen attribut på vänster sida av funktionsberoende uttalandet kan inte minskas ytterligare. Exempelvis är {SSN, ålder} -> namn ett funktionellt beroende, men det är inte ett fullständigt funktionellt beroende eftersom du kan ta bort ålder från vänster sida av uttalandet utan att påverka beroendeförhållandet.

Transitiva beroende

Transitiva beroenden uppträder när det finns ett indirekt förhållande som orsakar ett funktionellt beroende. Till exempel är A -> C ett transitivt beroende när det är sant bara eftersom både A -> B och B -> C är sanna.

Multivalenta beroende

Multivalenta beroenden uppträder när närvaron av en eller flera rader i ett bord innebär att en eller flera andra rader finns i samma tabell. Tänk dig exempelvis ett bilföretag som tillverkar många modeller av bil, men gör alltid både röda och blåa färger i varje modell. Om du har ett bord som innehåller modellnamn, färg och år för varje bil tillverkar företaget, finns det ett multivalent beroende i den tabellen. Om det finns en rad för ett visst modellnamn och år i blått, måste det också finnas en liknande rad som motsvarar den röda versionen av samma bil.

Betydelsen av beroende

Databasberoende är viktiga att förstå eftersom de tillhandahåller de grundläggande byggstenarna som används i databas normalisering, processen för att organisera data effektivt i en databas. Till exempel:

  • För att ett bord ska vara i andra normala form (2NF), måste det inte finnas något fall av en icke-privilegiell egenskap i tabellen som är funktionellt beroende av en delmängd av en kandidatnyckel.
  • För att ett bord ska vara i tredje normala form (3NF) måste varje nonprime-attribut ha ett icke-transitivt funktionellt beroende av varje kandidatnyckel.
  • För att ett bord ska vara i Boyce-Codd Normal Form (BCNF) måste varje funktionellt beroende (annat än trivialt beroende) vara på en supernyckel.
  • För att ett bord ska vara i fjärde normalform (4NF) måste det inte ha flervärderade beroenden.