Está en la página 1de 39

LGEBRA RELACIONAL

El aspecto de manipulacin del modelo relacional, se divide en dos partes: 1. Un conjunto de operadores que forman en conjunto la llamada lgebra relacional; y 2. Una operacin de asignacin que asigna el valor de alguna expresin arbitraria del lgebra a una relacin nombrada. Ej: C := A JOIN B

LGEBRA RELACIONAL
Un panorama general del lgebra: El lgebra relacional es un lenguaje de manipulacin de datos procedural, el cual consiste en un conjunto de operadores de alto nivel que operan sobre relaciones. Cada uno de estos operadores toma una o dos relaciones como entrada y produce una nueva relacin como salida. Codd defini un conjunto de ocho operadores relacionales, en dos grupos de cuatro cada uno: 1. Las operaciones tradicionales de conjuntos: unin, interseccin, diferencia y producto cartesiano (todas ellas con ligeras modificaciones debidas al hecho de tener relaciones como operandos, y no conjuntos arbitrarios; dado que una relacin es un tipo especial de conjunto): y 2. Las operaciones relacionales especiales: seleccin (restriccin), proyeccin, reunin y divisin. Adems de estos dos grupos, se han propuesto operaciones adicionales de naturaleza algebraica para aadirlos al conjunto (de ocho operaciones) original, tales como: renombrar, ampliacin, resumen, divisin generalizada, reunin externa, unin externa, proyeccin generalizada, etc.

LGEBRA RELACIONAL
Expresin en lgebra relacional: Una expresin bsica consiste de: una relacin nombrada de la base de datos (Ej: Agencia) o una relacin constante (Ej:{(CodAgencia:02, Activo:3000000, Ciudad:Arica),...} ). Una expresin general consiste de subexpresiones menores. Sean E1 y E2 expresiones del lgebra relacional. Seleccin: Es una operacin unaria, selecciona tuplas que satisfacen un predicado dado. E1 WHERE P, P es un predicado de atributos en E1 Selecciona las tuplas de E1 que satisfacen el predicado P. En el predicado P se permiten comparaciones: =, < >, <, <=, >, >= y el uso de conectivos: AND( ), OR( ).

Ej: Obtener las tuplas de la relacin Emprstito en las cuales la cantidad prestada es mayor que 500 y el cdigo de la agencia es 02 Emprstito WHERE CodAgencia = 02 Valor > 500
CodEmpt 110 120 115 111 127 116 Resultado: CodEmpt 111 116 CodAgencia 02 02 CodCliente 115 400 Valor 1000 800 CodAgencia 03 02 03 02 01 02 CodCliente 101 305 406 115 250 400 Valor 700 200 300 1000 400 800

LGEBRA RELACIONAL
Proyeccin: Es una operacin unaria que copia la relacin, dejando algunas columnas de lado. E1[S], S es una lista de atributos en E1 Extrae los atributos especificados en S de E1. Ej: Obtener los cdigos de los clientes y las agencias donde aquellos clientes tienen algn emprstito. Emprstito[CodAgencia, CodCliente] Resultado:
CodAgencia 03 CodCliente 101

02
03 02 01 02

305
406 115 250 400

LGEBRA RELACIONAL
Producto Cartesiano: Es una operacin binaria, consiste de todos los posibles pares de tuplas concatenadas de cada una de las dos relaciones. E1 TIMES E2 Ej: (Emprstito RENAME CodAgencia AS EmptCodAg) TIMES Agencia

Agencia
CodAgencia 01 02 03 Activo 5000000 3000000 4000000 Ciudad Santiago Arica Santiago

Resultado de: (Emprstito RENAME CodAgencia AS EmptCodAg) TIMES Agencia CodEmpt EmptCodAg CodCliente Valor CodAgencia Activo Ciudad

110
110 110 120

03
03 03 03

101
101 101 305

700
700 700 200

01
02 03 01

5000000
3000000 4000000 5000000

Santiago
Arica Santiago Santiago

120
120 115 115 115 111 111

03
03 03 03 03 02 02

305
305 496 496 496 115 115

200
200 300 300 300 1000 1000

02
03 01 02 03 01 02

3000000
4000000 5000000 3000000 4000000 5000000 3000000

Arica
Santiago Santiago Arica Santiago Santiago Arica

111
127 127 127

02
01 01 01

115
250 250 250

1000
400 400 400

03
01 02 03

4000000
5000000 3000000 4000000

Santiago
Santiago Arica Santiago

116
116 116

02
02 02

400
400 400

800
800 800

01
02 03

5000000
3000000 4000000

Santiago
Arica Santiago

LGEBRA RELACIONAL
Unin: Es una operacin binaria. E1 UNIN E2 Es el conjunto de todas las tuplas que pertenecen ya sea a E1 o E2 o a ambas. La operacin de unin es hecha entre relaciones compatibles con la unin. Para que sean compatibles con la unin son necesarias dos condiciones: 1. E1 y E2 deben ser del mismo orden o grado. Esto es deben tener el mismo nmero de atributos. 2. Los dominios del i-simo atributo de E1 y el i-simo atributo de E2 deben ser los mismos. Ej: Obtener todos los cdigos de los clientes que tienen depsitos y/o emprstitos. (Depsito[CodCliente]) UNIN (Emprstito[CodCliente])

LGEBRA RELACIONAL
Depsito CodDepsito CodAgencia CodCliente 215 102 201 310 222 390 340 260 295 03 02 01 03 01 03 02 01 03 350 115 210 190 400 400 370 250 250 Saldo 400 900 350 750 1000 600 500 700 400

Depsito[CodCliente]

CodCliente 350 115 210 190 400 370 250

Emprstito[CodCliente] Resultado de Depsito[CodCliente]) UNION Emprstito[CodCliente]): CodCliente CodCliente 101 305 406 115 250 400 350 115 210 190 400 370 250 101 305 406

LGEBRA RELACIONAL
Interseccin: Es una operacin binaria. E1 INTERSECT E2 Es el conjunto de tuplas que pertenecen a ambos E1 y E2. La operacin de interseccin es hecha entre relaciones compatibles con la unin. La operacin de interseccin puede ser substituida por un par de operadores de diferencia: E1 INTERSECT E2 = E1 MINUS (E1 MINUS E2) E1 INTERSECT E2 = E2 MINUS (E2 MINUS E1) Ej: Obtener los cdigos de los clientes que tienen depsito y emprstito. (Depsito[CodCliente]) INTERSECT (Emprstito[CodCliente]) Resultado:
CodCliente 115

400
250

LGEBRA RELACIONAL
Diferencia: Es una operacin binaria. E1 MINUS E2 Es el conjunto de tuplas que pertenecen a E1 y no a E2. La operacin de diferencia es hecha entre relaciones compatibles con la unin. Ej: Obtener los cdigos de los clientes que tienen depsito pero no tienen emprstito. (Depsito[CodCliente]) MINUS (Emprstito[CodCliente]) Resultado: CodCliente

350
210 190

370

LGEBRA RELACIONAL
Reunin Theta: Es una operacin binaria que nos permite combinar la seleccin y el producto cartesiano en una sola operacin, permite juntar dos relaciones con base en alguna condicin diferente a la igualdad (es una extensin de la reunin natural). (E1 TIMES E2) WHERE P El operador forma el producto cartesiano de E1 y E2 y luego ejecuta una seleccin usando el predicado P. La condicin P de reunin tiene la forma <condicin> y <condicin> y y <condicin> donde <condicin> tiene la forma Ai Bi (donde Ai es atributo de E1 y Bi es atributo de E2, ambos atributos deben estar definidos sobre el mismo dominio, y la operacin de comparacin debe ser aplicable a ese dominio).

LGEBRA RELACIONAL
Ej: Obtener la informacin de emprstitos junto con la informacin de su agencia. (Emprstito RENAME CodAgencia AS EmptCodAg) TIMES Agencia WHERE (EmptCodAg = CodAgencia) Resultado:
CodEmpt EmptCodAg CodCliente Valor CodAgencia Activo Ciudad

110
120

03
02

101
305

700
200

03
02

4000000 Santiago
3000000 Arica

115
111 127 116

03
02 01 02

406
115 250 400

300
1000 400 800

03
02 01 02

4000000 Santiago
3000000 Arica 5000000 Santiago 3000000 Arica

LGEBRA RELACIONAL
Reunin natural: Es una operacin binaria. Une dos relaciones para formar una sola relacin. La reunin natural se efecta con respecto a una subtupla comn a ambas relaciones. E1 JOIN E2 Dos tuplas de E1 y E2 se juntan para formar una tupla resultado, si los valores de la subtupla comn son iguales. La subtupla comn aparece una sola vez en el resultado. Formalmente, sean las cabeceras de E1 y E2 (X1, X2,..., Xm, Y1, Y2,..., Yn) y (Y1, Y2,..., Yn, Z1, Z2,..., Zp) respectivamente; los atributos comunes a ambos estn definidos sobre el mismo dominio. Consideremos a (X1, X2,..., Xm), (Y1, Y2,..., Yn) y (Z1, Z2,..., Zp) como tres atributos compuestos X, Y y Z. La reunin natural de E1 JOIN E2 es una relacin con la cabecera (X, Y, Z) y un cuerpo formado por el conjunto de todas las tuplas (X:x, Y:y, Z:z) tales que una tupla a aparezca en E1 con el valor x en X y el valor y en Y, y una tupla b aparezca en E2 con el valor y en Y y el valor z en Z.

LGEBRA RELACIONAL
La reunin natural es asociativa, esto es las expresiones E1 JOIN E2 JOIN E3 (E1 JOIN E2) JOIN E3 E1 JOIN (E2 JOIN E3) son equivalentes La reunin natural es conmutativa, esto es las expresiones E1 JOIN E2 E2 JOIN E1 son equivalentes De la misma manera las operaciones de unin, interseccin y producto cartesiano son asociativas y conmutativas ( pero no la diferencia).

LGEBRA RELACIONAL
Ejemplo: Emprstito JOIN Agencia Resultado:
CodEmpt 110 120 115 111 CodAgencia 03 02 03 02 CodCliente 101 305 406 115 Valor 700 200 300 1000 Activo Ciudad

4000000 Santiago 3000000 Arica 4000000 Santiago 3000000 Arica

127
116

01
02

250
400

400
800

5000000 Santiago
3000000 Arica

LGEBRA RELACIONAL
Divisin: Es una operacin binaria. E1 DIVIDEBY E2 Sean las cabeceras de E1 y E2 (X1, X2,..., Xm, Y1, Y2,..., Yn) y (Y1, Y2,..., Yn) respectivamente; los atributos Y1, Y2,..., Yn son comunes a ambos. Los atributos comunes estn definidos sobre el mismo dominio. Las relaciones E1 y E2 representan el dividendo y divisor respectivamente. Consideremos a (X1, X2,..., Xm) y (Y1, Y2,..., Yn) como dos atributos compuestos X y Y. La divisin E1 DIVIDEBY E2 es una relacin con la cabecera (X) y un cuerpo formado por el conjunto de todas las tuplas (X:x) tales que aparece una tupla (X:x, Y:y) en E1 para todas las tuplas (Y:y) presentes en E2. (Informalmente, el resultado contiene todos los valores de X en E1 cuyos valores de Y correspondientes en E1 incluyen a todos los valores de Y en E2)

LGEBRA RELACIONAL
Ej: Encontrar todos los cdigos de clientes que tengan una cuenta de depsito en todas las agencias localizadas en Santiago.

Depsito[CodCliente, CodAgencia] DIVIDEBY (Agencia WHERE Ciudad = Santiago[CodAgencia])


Resultado: CodCliente 400 250

LGEBRA RELACIONAL
OPERACIONES ADICIONALES Renombrar: Tiene como propsito cambiar el nombre de los atributos dentro de una relacin. Crea una nueva copia de la relacin especificada en la cual se ha dado un nombre diferente a la lista de atributos especificada. Ej: (Depsito RENAME CodCliente AS DepoCodCliente, CodAgencia AS DepoCodAg)

LGEBRA RELACIONAL
OPERACIONES ADICIONALES Ampliacin: La operacin EXTEND (ampliar) crea una nueva relacin semejante a la especificada pero con uno (o ms) atributo(s) adicionales, cuyos valores se obtienen evaluando alguna expresin de clculo (escalar) especificada. Ej: EXTEND Depsito ADD Saldo con Inters AS Explicacin, (Saldo * 1.05) AS NuevoSaldo
CodDepsito CodAgencia CodCliente Saldo Explicacin Nuevo Saldo

215
102 201 310 222 390

03
02 01 03 01 03

350
115 210 190 400 400

400
900 350 750 1000 600

Saldo con Inters


Saldo con Inters Saldo con Inters Saldo con Inters Saldo con Inters Saldo con Inters

420
945 367.5 787.5 1050 630

340
260 295

02
01 03

370
250 250

500
700 400

Saldo con Inters


Saldo con Inters Saldo con Inters

525
735 420

LGEBRA RELACIONAL
OPERACIONES ADICIONALES Resumen: La operacin SUMMARIZE (resumen) crea una nueva relacin a partir de una relacin especificada, con uno o ms clculos de agregados (cuenta, suma, promedio, mximo, mnimo) especificados. Ej: SUMMARIZE Depsito GROUPBY (CodAgencia) ADD SUM(Saldo) AS SaldoTotalAg Produce al evaluarse una relacin con la cabecera (CodAgencia, SaldoTotalAg), en la cual hay una tupla por cada valor distinto de CodAgencia en Depsito, dando ese valor de CodAgencia y el Saldo Total para dicha agencia
CodAgencia 03 02 SaldoTotalAg 2150 1400

01

2050

LGEBRA RELACIONAL
OPERACIONES ADICIONALES Resumen: Si se omite la lista de atributos en la clusula GROUPBY, se realiza el clculo de agregados una sola vez para toda la relacin. Ej: SUMMARIZE Depsito GROUPBY ( ) ADD SUM(Saldo) AS SaldoTotal Resultado:
SaldoTotal 5600

LGEBRA RELACIONAL
OPERACIONES ADICIONALES Divisin generalizada: Dadas las relaciones E1(X, Y) y E2(Y, Z), la expresin E1 DIVIDEBY E2 Produce una relacin con la cabecera (X, Z) y un cuerpo formado por todas las tuplas (X:x, Z:z) tales que aparece una tupla (X:x, Y:y) en E1 para todas las tuplas (Y:y, Z:z) que aparecen en E2. La divisin original de Codd es slo un caso especial de la divisin generalizada. Ej: Sean las relaciones SP(S#, P#) y PJ(P#, J#) SP DIVIDEBY PJ Producir una relacin con la cabecera (S#, J#) y un cuerpo formado por pares de nmero de proveedor y nmero de proyecto tales que el proveedor indicado suministra todas las partes empleadas en el proyecto indicado.

LGEBRA RELACIONAL
OPERACIONES ADICIONALES Divisin generalizada: Ej:
SP S# P# PJ P# J# SP DIVIDEBY PJ S# J#

S1
S1 S1

P1
P2 P3

P1
P2 P2

J1
J1 J2

S1
S1 S3

J1
J2 J3

S2
S2 S3 S3

P1
P4 P2 P4

P3
P2 P4

J2
J3 J3

LGEBRA RELACIONAL
OPERACIONES ADICIONALES Reunin Externa: Es una forma ampliada de la operacin ordinaria (natural o interna) de reunin, en cuyo resultado adems de las tuplas de la reunin ordinaria aparecen las tuplas de una relacin que no tiene contraparte en la otra, con nulos en las posiciones de los dems atributos. Reunin Externa Izquierda conserva en el resultado todas las tuplas de la primera relacin (o relacin de la izquierda). Si no se encuentra una tupla coincidente en la segunda relacin, los atributos de esta ltima se rellenan con valores nulos. Reunin Externa Derecha conserva en el resultado todas las tuplas de la segunda relacin (o relacin de la derecha). Si no se encuentra una tupla coincidente en la primera relacin, los atributos de esta primera relacin se rellenan con valores nulos. Reunin Externa Completa conserva en el resultado todas las tuplas de ambas relaciones, cuando no se encuentran tuplas coincidentes, las rellena con valores nulos.

LGEBRA RELACIONAL
Ejemplo de Reunin Externa Izquierda (LEFT OUTER JOIN):
Empleado
Nombre Segura Domnguez Gmez Valdivieso Calle Tebeo Viaducto Bailn Fuentes Ciudad La Loma VillaAlta Alcorcn Mstoles

Trabajo_a_tiempo_completo
Nombre Segura Domnguez Barea Valdivieso Sucursal S100 S100 S101 S101 Sueldo 3000 2000 2800 2300

Empleado LEFT OUTER JOIN Trabajo_a_tiempo_completo


Nombre Calle Ciudad Sucursal Sueldo

Segura
Domnguez Valdivieso Gmez

Tebeo
Viaducto Fuentes Bailn

La Loma
VillaAlta Mstoles

S100
S100 S101

3000
2000 2300 Nulo

Alcorcn Nulo

LGEBRA RELACIONAL
OPERACIONES ADICIONALES Unin Externa: Se cre para efectuar la unin de tuplas de dos relaciones que no son compatibles con la unin. Esta operacin efectuar la unin de tuplas de dos relaciones que son parcialmente compatibles, lo que significa que solo algunos de sus atributos son compatibles con la unin. En el resultado se conservan los atributos no compatibles de cualquiera de las relaciones, y las tuplas que no tienen valores para dichos atributos se rellenan con valores nulos. Por ejemplo: Sean dos relaciones cuyos esquemas son: Estudiante(Nombre, NSS, Departamento, Asesor) Profesor(Nombre, NSS, Departamento, Categora) El esquema de la relacin resultante de Estudiante UNIN EXTERNA Profesor es: R(Nombre, NSS, Departamento, Asesor, Categora), y todas las tuplas de ambas relaciones se incluyen en el resultado. Las tuplas de Estudiante tendrn nulos en el atributo Categora y las tuplas de Profesor tendrn nulos en el atributo Asesor. Una tupla que exista en ambas tendrn valores para todos los atributos del esquema resultante.

LGEBRA RELACIONAL
OPERACIONES ADICIONALES Proyeccin Generalizada: Amplia la operacin de proyeccin permitiendo que se utilicen funciones aritmticas en la lista de atributos. Tiene la forma: E[F1 , F2 , ..., Fn ] Donde E es una expresin del lgebra relacional y F1 , F2 , ..., Fn son expresiones aritmticas que incluyen constantes y atributos en el esquema de E. Como caso especial, la expresin aritmtica puede ser simplemente un atributo o una constante. Ej: Informacin_prstamo[Cliente, Informacin_prstamo Limite-Saldo]
Cliente Santos Gmez Lpez Prez Limite 1200000 400000 300000 400000 Saldo 140000 80000 300000 350000 Cliente Santos Gmez Lpez Prez Limite-Saldo 1060000 320000 0 50000

LGEBRA RELACIONAL
APLICACIONES DE LAS EXPRESIONES DEL LGEBRA RELACIONAL El objetivo fundamental del lgebra es escribir expresiones mejor que solo obtencin de los datos. Algunas aplicaciones de tales expresiones son: Definir el alcance de una recuperacin; es decir, definir los datos que se van a extraer como resultado de una recuperacin. Definir el alcance de una actualizacin; es decir, definir los datos por insertar, modificar o eliminar como resultado de una operacin de actualizacin. Definir datos virtuales; es decir, definir los datos que se podrn ver en forma de relacin virtual o vista. Definir datos de instantnea; es decir, definir los datos que se han de mantener en forma de una relacin tipo instantnea.

LGEBRA RELACIONAL
APLICACIONES DE LAS LGEBRA RELACIONAL EXPRESIONES DEL

Definir derechos de acceso; es decir, definir los datos incluidos en algn tipo de autorizacin concedida. Definir requerimientos de estabilidad; es decir, definir los datos que abarcar alguna operacin de control de concurrencia. Definir restricciones de integridad; es decir, definir alguna regla especfica que debe satisfacer la base de datos adems de las reglas generales del modelo relacional.

OPERACIONES DE ACTUALIZACIN CON RELACIONES


Podemos clasificar las operaciones del modelo relacional en consultas (obtenciones) y actualizaciones. Con las operaciones del lgebra relacional podemos especificar consultas. Son tres las operaciones de actualizacin bsicas que se efectuar con relaciones: Insertar, Eliminar y Modificar. Siempre que se apliquen operaciones de actualizacin, se debe cuidar de no violar las restricciones de integridad especificadas en el esquema de la base de datos relacional. Analizaremos nicamente las restricciones de integridad genricas y no las restricciones de integridad especficas.

OPERACIONES DE ACTUALIZACIN CON RELACIONES


Insertar: Sirve para insertar una o ms tuplas nuevas en una relacin. La insercin puede violar las restricciones de dominio, de clave, de integridad de entidades y de integridad referencial. Ej: INSERT INTO S VALUES (S6, Lara, A, Atenas) viola la restriccin de Dominio del atributo Situacin. INSERT INTO S VALUES (S3, Zapata, 30, Atenas) viola la restriccin de clave (no pueden existir dos tuplas con el mismo valor de clave primaria, el nmero de proveedor S3 ya existe en la relacin S). INSERT INTO S VALUES (nulo, Zapata, 30, Paris) viola la restriccin de integridad de entidades. En estos casos el sistema relacional puede rechazar la insercin o puede proporcionar al usuario una forma de solucin, pidindole que proporcione un nuevo valor.

OPERACIONES DE ACTUALIZACIN CON RELACIONES


Eliminar: Sirve para eliminar tuplas. Slo puede violar la integridad referencial, si las claves ajenas de otras tuplas de la base de datos hacen referencia a la tupla objetivo que se ha de eliminar. Es necesario especificar una condicin expresada en trminos de los atributos de la relacin que selecciona la tupla (o tuplas) por eliminar. Ej: DELETE FROM S WHERE S# = S3 Ej: DELETE FROM S WHERE Ciudad = Londres Si una operacin de eliminacin provoca una violacin de la integridad referencial disponemos de tres opciones: a) Rechazar la eliminacin (restringida), b) propagar la eliminacin (cascada) y c) modificar los valores del atributo de referencia (clave ajena) que provocan la violacin (con valores nulos o default).

OPERACIONES DE ACTUALIZACIN CON RELACIONES


Modificar: Sirve para modificar los valores de uno o ms atributos en una tupla (o tuplas) de una relacin. Es necesario especificar una condicin para los atributos de la relacin a fin de especificar la tupla (o tuplas) que se modificarn. La modificacin de un atributo que no es ni clave primaria, ni clave ajena; casi nunca causan problemas; basta con que el sistema constate que el nuevo valor sea un valor legal (restriccin de dominio). Modificar un valor de clave primaria es similar a eliminar una tupla e insertar otra en su lugar. Por lo tanto se pueden presentar los problemas vistos en la insercin y eliminacin. Si la modificacin viola la integridad referencial, el sistema dispone de tres opciones: a) Rechazar la modificacin (restringida), b) propagar la modificacin (cascada) y c) modificar los valores del atributo de referencia (de clave ajena con valores nulos o default). Si se modifica un atributo de clave ajena, el sistema se encarga de verificar si la integridad referencial no ha sido violada.

SISTEMA RELACIONAL Segn Codd un sistema es relacional s.s.s. por lo menos cumple con lo siguiente: 1. Bases de datos relacionales. Una base de datos relacional es una base de datos percibida por el usuario (en sus niveles externo y conceptual) como una coleccin de relaciones (o tablas) normalizadas de diversos grados que vara con el tiempo. 2. Soporta al menos las operaciones del lgebra relacional siguientes: Seleccin, Proyeccin y Reunin (o junta) natural, sin definiciones previas de rutas de acceso fsico para realizar estas operaciones.

CATEGORAS DE SISTEMAS RELACIONALES Y NO RELACIONALES SEGN CODD 1. Sistema tabular: maneja tablas solamente pero no los operadores a nivel de conjuntos. No es relacional. 2. Sistema minimamente relacional: maneja tablas solamente y nicamente los operadores de seleccin, proyeccin y reunin natural. 3. Sistema relacionalmente completo: maneja tablas solamente y todos los operadores del lgebra relacional (la funcionalidad de aquellos operadores). Ej: DB2, ORACLE, INFORMIX, etc. 4. Sistema totalmente relacional: maneja todos los aspectos del modelo relacional, incluyendo en particular: dominios y las cuatro reglas generales de integridad (de dominio, de clave, de entidades y referencial).

LAS DOCE REGLAS DE CODD Segn Codd, un SGBD (DBMS) es totalmente relacional slo si cumpla con las doce reglas siguientes y las caractersticas estructurales, de integridad y manipulativas del modelo relacional. 1. La regla de informacin. 2. La regla de acceso garantizado. 3. El manejo sistemtico de los valores nulos. 4. Un catlogo activo en lnea basado en el modelo relacional. 5. La regla del sublenguaje completo. 6. La regla de actualizacin de vistas. 7. Insercin, modificacin y eliminacin de alto nivel. 8. Independencia fsica de los datos. 9. Independencia lgica de los datos.

LAS DOCE REGLAS DE CODD


10. Independencia de la integridad. 11. Independencia de la distribucin. 12. La regla de la no subversin. Todas estas reglas se derivan de una sola regla fundamental. La regla Cero siguiente: Para que un sistema se califique como sistema RELACIONAL, de ADMINISTRACIN DE BASES DE DATOS, debe utilizar sus recursos RELACIONALES (exclusivamente) para administrar la base de datos. Dicho de otro modo, a finales de la dcada de 1980 no bastaba con ser relacional segn la definicin de Codd. Por el contrario, todo debe hacerse de manera relacional: debe existir un mecanismo relacional de vistas, un catlogo relacional, operaciones relaciones de actualizacin (adems de recuperacin), etc.

También podría gustarte