De 12 regler for Codd

12 Codds 12 regler - 13 regler (i dette tilfælde starter beregningen fra 0), som ethvert relationelt databasestyringssystem (RDBMS) skal opfylde [1] . 

Foreslået af den engelske matematiker Edgar Codd i 1985 i artikler i ComputerWorld [2] [3] .

Faktisk er reglerne så strenge, at alle de populære såkaldte RDBMS'er ikke lever op til mange af kriterierne.

Regler

Regel 0: Grundlæggende regel :

Et system, der annonceres for eller placeres som et RDBMS, skal være i stand til at administrere databaser udelukkende ved brug af dets relationelle muligheder.

Regel 1 : Informationsreglen :

Al information i en relationsdatabase på det logiske niveau skal udtrykkeligt repræsenteres på én måde: ved værdier i tabeller .

Regel 2: Garanteret adgangsregel :

I en relationsdatabase skal hver enkelt (atomare) dataværdi være logisk tilgængelig ved hjælp af en kombination af tabelnavn, kolonnenavn og primærnøgleværdi .

Regel 3: Systematisk behandling af nulværdier :

Ukendte eller manglende NULL -værdier ud over enhver kendt værdi skal understøttes for alle datatyper i alle operationer. For eksempel, for numeriske data, bør ukendte værdier ikke behandles som nuller, og for tegndata, som tomme strenge.

Regel 4: Adgang til dataordbogen i forhold til den relationelle model ( Aktivt onlinekatalog baseret på den relationelle model ):

Dataordbogen skal opbevares i form af relationelle tabeller, og DBMS skal understøtte adgang til den ved hjælp af standard sprogfaciliteter, de samme som bruges til at arbejde med relationelle tabeller indeholdende brugerdata.

Regel 5: Regel for omfattende dataundersprog :

Et relationsdatabasestyringssystem skal understøtte mindst ét ​​relationssprog, der (a) har en lineær syntaks , (b) kan bruges både interaktivt og i applikationsprogrammer, (c) understøtter datadefinition, visningsdefinition, datamanipulation ( interaktiv og programmatisk), integritetsbegrænsninger, adgangskontrol og transaktionsstyringsoperationer ( start, commit og rollback ).

Regel 6: Mulighed for at ændre visninger ( Se opdateringsregel ):

Hver visning skal understøtte alle datamanipulationsoperationer, som relationelle tabeller understøtter: handlinger for at hente, indsætte, opdatere og slette.

Regel 7: Tilstedeværelse af datahåndteringsoperationer på højt niveau ( Indsæt, Opdater og Slet på højt niveau ):

Indsættelse, opdatering og sletning skal understøttes ikke kun på en enkelt række i en relationstabel, men også på ethvert sæt rækker.

Regel 8: Uafhængighed af fysiske data :

Applikationer bør ikke afhænge af de metoder, der bruges til at lagre data på medier, af hardwaren på de computere, hvorpå relationsdatabasen er placeret.

Regel 9: Logisk datauafhængighed :

Præsentationen af ​​data i en applikation bør ikke afhænge af strukturen af ​​relationelle tabeller. Hvis normaliseringsprocessen opdeler en relationel tabel i to, skal visningen sikre, at dataene flettes, så ændringer i strukturen af ​​relationstabellerne ikke påvirker applikationer.

Regel 10: Integritet Uafhængighed :

Alle oplysninger, der er nødvendige for at bevare integriteten, skal være i dataordbogen. Et datasprog skal udføre inputvalidering og automatisk opretholde dataintegriteten.

Regel 11 : Distributionsuafhængighed :

Databasen kan distribueres, kan placeres på flere computere, og dette bør ikke påvirke applikationer. Overførsel af en database til en anden computer bør ikke påvirke applikationer.

Regel 12: Nonsubversion -reglen :

Hvis der bruges et dataadgangssprog på lavt niveau, må det ikke tilsidesætte sikkerheds- og integritetsreglerne, der understøttes af sproget på højere niveau.

Noter

  1. Dave Voorhis. Codds 12 regler (utilgængeligt link) . University of Derby (15. september 2015). Hentet 6. september 2018. Arkiveret fra originalen 14. august 2018. 
  2. Codd, E.F. Er din DBMS virkelig relationel? // ComputerWorld , 14. oktober 1985
  3. Codd, E.F. Kører dit DBMS efter reglerne? // ComputerWorld , 21. oktober 1985

Litteratur