algebra relacional
TRANSCRIPT
LGEBRA RELACIONALEl 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 RELACIONALUn 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 RELACIONALExpresin 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 > 500CodEmpt 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 RELACIONALProyeccin: 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
0203 02 01 02
305406 115 250 400
LGEBRA RELACIONALProducto 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
AgenciaCodAgencia 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
110110 110 120
0303 03 03
101101 101 305
700700 700 200
0102 03 01
50000003000000 4000000 5000000
SantiagoArica Santiago Santiago
120120 115 115 115 111 111
0303 03 03 03 02 02
305305 496 496 496 115 115
200200 300 300 300 1000 1000
0203 01 02 03 01 02
30000004000000 5000000 3000000 4000000 5000000 3000000
AricaSantiago Santiago Arica Santiago Santiago Arica
111127 127 127
0201 01 01
115250 250 250
1000400 400 400
0301 02 03
40000005000000 3000000 4000000
SantiagoSantiago Arica Santiago
116116 116
0202 02
400400 400
800800 800
0102 03
50000003000000 4000000
SantiagoArica Santiago
LGEBRA RELACIONALUnin: 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 RELACIONALDepsito 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 RELACIONALInterseccin: 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
400250
LGEBRA RELACIONALDiferencia: 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
350210 190
370
LGEBRA RELACIONALReunin 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 y y y donde 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 RELACIONALEj: 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
110120
0302
101305
700200
0302
4000000 Santiago3000000 Arica
115111 127 116
0302 01 02
406115 250 400
3001000 400 800
0302 01 02
4000000 Santiago3000000 Arica 5000000 Santiago 3000000 Arica
LGEBRA RELACIONALReunin 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 RELACIONALLa 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 RELACIONALEjemplo: 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
127116
0102
250400
400800
5000000 Santiago3000000 Arica
LGEBRA RELACIONALDivisin: 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 RELACIONALEj: 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 RELACIONALOPERACIONES 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 RELACIONALOPERACIONES 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 NuevoSaldoCodDepsito CodAgencia CodCliente Saldo Explicacin Nuevo Saldo
215102 201 310 222 390
0302 01 03 01 03
350115 210 190 400 400
400900 350 750 1000 600
Saldo con IntersSaldo con Inters Saldo con Inters Saldo con Inters Saldo con Inters Saldo con Inters
420945 367.5 787.5 1050 630
340260 295
0201 03
370250 250
500700 400
Saldo con IntersSaldo con Inters Saldo con Inters
525735 420
LGEBRA RELACIONALOPERACIONES 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 agenciaCodAgencia 03 02 SaldoTotalAg 2150 1400
01
2050
LGEBRA RELACIONALOPERACIONES 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 RELACIONALOPERACIONES 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 RELACIONALOPERACIONES ADICIONALES Divisin generalizada: Ej:SP S# P# PJ P# J# SP DIVIDEBY PJ S# J#
S1S1 S1
P1P2 P3
P1P2 P2
J1J1 J2
S1S1 S3
J1J2 J3
S2S2 S3 S3
P1P4 P2 P4
P3P2 P4
J2J3 J3
LGEBRA RELACIONALOPERACIONES 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 RELACIONALEjemplo de Reunin Externa Izquierda (LEFT OUTER JOIN):EmpleadoNombre Segura Domnguez Gmez Valdivieso Calle Tebeo Viaducto Bailn Fuentes Ciudad La Loma VillaAlta Alcorcn Mstoles
Trabajo_a_tiempo_completoNombre Segura Domnguez Barea Valdivieso Sucursal S100 S100 S101 S101 Sueldo 3000 2000 2800 2300
Empleado LEFT OUTER JOIN Trabajo_a_tiempo_completoNombre Calle Ciudad Sucursal Sueldo
SeguraDomnguez Valdivieso Gmez
TebeoViaducto Fuentes Bailn
La LomaVillaAlta Mstoles
S100S100 S101
30002000 2300 Nulo
Alcorcn Nulo
LGEBRA RELACIONALOPERACIONES 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 RELACIONALOPERACIONES 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 RELACIONALAPLICACIONES 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 RELACIONALAPLICACIONES 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 RELACIONESPodemos 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 RELACIONESInsertar: 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 RELACIONESEliminar: 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 RELACIONESModificar: 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 CODD10. 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.