12 regles de Codd
Les 13 regles de Codd són un sistema de 13 regles —numerades del 0 al 12— propostes pel creador del model relacional de bases de senyes, Edgar F. Codd, per a definir els requeriments que un sistema d'administració de base de senyes ha de complir per a poder ser considerat relacional[1] com lo són, per eixemple, les bases de senyes relacionals.
Codd es percató de que existien bases de senyes en el mercat que dien ser relacionals, pero lo únic que feyen era guardar l'informació en taules, sense estar estes taules lliteralment normalisades; llavors va publicar les 13 regles que un verdader sistema relacional deuria complir, encara que en la pràctica algunes d'elles són difícils de realisar. Un sistema podrà considerar-se «més relacional» quant més seguixca estes regles.[2]
Regles
[editar | editar còdic]Regla 0: Regla fonamental. Tot sistema que es definixca com sistema de gestió de base de senyes relacional, o s'anuncie com a tal, ha de poder gestionar les bases de senyes exclusivament en les seues capacitats relacionals.
Regla 1: Regla de l'informació. Tota l'informació en una base de senyes relacional es representa de forma explícita en el nivell llògic i exactament d'una manera: en valors en taules.
Regla 2: Regla de l'accés garantisat. Es garantisa que tots i cada u de les senyes (valor atòmic) d'una base de senyes relacional són accessibles llògicament per mig d'una combinació de nom de taula, valor de clau primària i nom de columna.
Totes les senyes deuen ser accessibles sense ambigüitat. Esta regla és essencialment una nova exposició del requisit fonamental per a les claus primàries. Diu que cada valor escalar individual en la base de senyes deu ser llògicament direccionable especificant el nom de la taula, la columna que ho conté i la clau primària.
Regla 3: Regla del tractament sistemàtic de valors nuls. Els sistemes de gestió de base de senyes plenament relacionals admeten els valors nuls (distints de la cadena buida, els blancs, els zeros o qualsevol atre número) per a representar l'informació desconeguda i l'inaplicable de manera sistemàtica i independent del tipo de senya .
Regla 4: Catàlec dinàmic en llínea basat en el model relacional. La descripció de la base de senyes es representa a nivell llògic igual que les senyes comunes, de modo que els usuaris autorisats poden utilisar el mateix llenguage relacional en la seua consulta que el que apliquen a les senyes comunes.
El sistema deu soportar un catàlec en llínea, el catàlec relacional, que dona accés a l'estructura de la base de senyes i que deu ser accessible als usuaris autorisats.
Regla 5: Regla del sub-llenguage de senyes complet. Un sistema relacional deu permetre varis llenguages i varis modos d'us terminal (com reblir formularis, per eixemple). No obstant, deu haver a lo manco un llenguage les declaracions del qual es puguen expressar, per mig d'una sintaxis ben definida, com a cadenes de caràcters i que respale de forma integral els següents aspectes:
- Definició de senyes
- Definició de vistes
- Manipulació de senyes (interactiva i per programa)
- Restriccions d'integritat
- Llímits de transacció (begin, commit i rollback).
Regla 6: Regla d'actualisació de vistes. Totes les vistes que són teòricament actualisables són també actualisables pel sistema.
Regla 7: Inserció, actualisació i borrat d'alt nivell. La capacitat de gestionar una relació base o una relació derivada com un sol operant no solament s'aplica a la recuperació de les senyes, sino també a l'inserció, actualisació i eliminació de senyes.
El sistema deu permetre la manipulació d'alt nivell en les senyes, és dir, sobre conjunts de tuplas. Açò significa que les senyes no solament es poden recuperar d'una base de senyes relacional a partir de files múltiples i/o de taules múltiples, sino que també poden realisar-se insercions, actualisacions i borrats sobre vàries tuplas i/o taules al mateix temps i no solament sobre registres individuals.
Regla 8: Independència física de les senyes. Els programes d'aplicació i activitats terminals permaneixen inalterados a nivell llògic quan es realisen canvis en les representacions d'almagasenament o en els métodos d'accés.
Regla 9: Independència llògica de les senyes. Els programes d'aplicació i activitats terminals permaneixen inalterados a nivell llògic quan es realisen canvis en les taules base que preserven l'informació.
L'independència de senyes llògica és més difícil de conseguir que l'independència física de senyes.
Regla 10: Independència de l'integritat. Les restriccions d'integritat específiques per a una determinada base de senyes relacional es deuen poder definir en el sub-llenguage de senyes relacional i almagasenar en el catàlec, no en els programes d'aplicació.
Les restriccions d'integritat es deuen especificar per separat dels programes d'aplicació i almagasenar-se en la base de senyes. Deu ser possible canviar eixes restriccions sense afectar innecessàriament a les aplicacions existents.
Regla 11: Independència de la distribució. L'usuari final no ha de vore que les senyes estan distribuïdes en vàries ubicacions. Els usuaris deuen tindre sempre l'impressió de que les senyes es troben en un sol lloc.
La distribució de porcions de base de senyes en distintes localisacions deu ser transparent per als usuaris de la base de senyes. Els usos existents deuen continuar funcionant en èxit:
- quan una versió distribuïda de el SGBD es carrega per primera volta
- quan les senyes existents es redistribuïxen en el sistema.
Regla 12: La regla de la no subversión. Si un sistema relacional té un llenguage de baix nivell (un registre cada volta), eixe nivell baix no pot utilisar-se per a subvertir o eludir les regles i restriccions d'integritat expressades en el llenguage relacional d'alt nivell (varis registres cada volta).
Si el sistema proporciona un interfaç de baix nivell de registre, a banda d'un interfaç relacional, eixe interfaç de baix nivell no deu permetre la seua utilisació per a subvertir el sistema. Per eixemple, per a sortejar les regles de seguritat relacional o les restriccions d'integritat. Açò es deu a que a alguns sistemes no relacionals prèviament existents se'ls va afegir un interfaç relacional, pero, en mantindre l'interfaç natiu, seguia existint la possibilitat de treballar no relacionalment.
Referències
[editar | editar còdic]- ↑ Les 12 regles de Codd que determinen la fidelitat d'un sistema relacional al model relacional
- ↑ Codd, Edgar Frank (14 October 1985), "Is Your DBMS Really Relational?", ComputerWorld.
- Este artícul conté una traducció derivada de «12 reglas de Codd» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.