12 Codd-regler
De 12 Codd-reglene er et sett med regler av Edgar F. Codd , designet for å definere hva som kreves av et databasestyringssystem (DBMS) slik at det kan betraktes som relasjonelt (RDBMS).
Reglene
Regel 1
Unikt :
All informasjon i databasen er representert på en og bare en måte, nemlig av verdier i kolonnefelt i tabeller.
Regel 2
Tilgangsgaranti :
Alle data må være tilgjengelige uten tvetydighet. Denne regelen er i hovedsak en justering av grunnbetingelsen for primærnøkler. Det indikerer at hver enkelt skalarverdi i databasen må være logisk tilgjengelig ved å spesifisere navnet på den inneholder tabellen, navnet på den inneholder kolonnen og den primære hovedverdien til den inneholder raden.
Regel 3
Behandling av nullverdier :
Databehandlingssystemet må tillate at hvert felt forblir null (eller tomt). Spesielt må den støtte en representasjon av "manglende informasjon og ikke-håndhevbar informasjon" som er systematisk, forskjellig fra alle vanlige verdier (f.eks. "Forskjellig fra null eller andre tall", i tilfelle numeriske verdier), og dette uansett av typen data. Det innebærer også at slike representasjoner må styres av databasestyringssystemet på en systematisk måte.
Regel 4
Selve katalogen relasjonell :
Systemet må støtte en online, integrert, relasjonell katalog som er tilgjengelig for autoriserte brukere som bruker deres vanlige spørrespråk. Brukerne må derfor ha tilgang til strukturen i databasen (katalog) ved hjelp av det samme spørrespråket som de bruker for å få tilgang til dataene i databasen.
Regel 5
Datasub-språk :
Systemet må støtte minst ett relasjonsspråk som:
- har lineær syntaks
- kan brukes interaktivt og i applikasjonsprogrammer,
- støtter operasjoner for å definere tilleggsinformasjon (inkludert visningsdefinisjoner), datamanipulering (oppdatering samt henting), sikkerhets- og integritetsbegrensninger og transaksjonsadministrasjonsoperasjoner (starte, validere og avbryte en transaksjon).
Regel 6
Oppdaterer visninger :
Alle visninger som teoretisk kan oppdateres, må kunne oppdateres av systemet.
Regel 7
Sett inn, oppdater og slett på høyt nivå :
Systemet må støtte batchinnsetting, oppdatering og sletting. Dette betyr at data kan hentes fra en relasjonsdatabase i sett bestående av data fra flere tupler og / eller flere tabeller. Denne regelen forklarer at innsettings-, oppdaterings- og slettingsoperasjoner skal støttes både for grupper med tupler fra flere tabeller og bare for en enkelt tuple fra en enkelt tabell.
Regel 8
Fysisk uavhengighet :
Endringer på det fysiske nivået (hvordan data lagres, enten det er i rader eller koblede lister osv.) Krever ikke endring i et program basert på strukturer.
Regel 9
Logisk uavhengighet :
Endringer på det logiske nivået (tabeller, kolonner, rader osv.) Bør ikke kreve endring i det strukturbaserte programmet. Logisk datauavhengighet er vanskeligere å oppnå enn fysisk datauavhengighet.
Regel 10
Integritetsuavhengighet :
Integritetsbegrensninger må spesifiseres separat fra applikasjonsprogrammer og lagres i katalogen. Det bør være mulig å endre slike begrensninger over tid uten å unødvendig påvirke eksisterende applikasjoner.
Regel 11
Distribusjonsuavhengighet :
Distribusjonen av deler av databasen til forskjellige steder bør være usynlig for databasebrukerne. Eksisterende applikasjoner skal fortsette å fungere vellykket:
- når en distribuert versjon av databasestyringssystemet først presenteres; og
- når eksisterende data blir distribuert i systemet.
Regel 12
Regelen om ikke-subversion :
Hvis systemet gir et grensesnitt på lavt nivå, må dette grensesnittet ikke tillate at systemet blir omgått (for eksempel en relasjonell sikkerhets- eller integritetsbegrensning).
Noen ganger vurderer vi en regel 0, som bestemmer at alle funksjonene til RDBMS må være tilgjengelige med relasjonsmodellen.
Codd formulerte ytterligere seks regler i 1990.
Referanser
-
Edgar Frank Codd , “ Er DBMS virkelig relasjonelt? ", ComputerWorld ,14. oktober 1985.
-
Edgar Frank Codd , “ Kjører DBMS etter reglene, ” ComputerWorld ,21. oktober 1985.
Se også