algebra relacional

Upload: oswaldo-santiago-leon-huaranga

Post on 06-Jul-2015

755 views

Category:

Documents


0 download

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.