Anda di halaman 1dari 10

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
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().

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.

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

CodAgencia

CodCliente

Valor

110

03

101

700

120

02

305

200

115

03

406

300

111

02

115

1000

127

01

250

400

116

02

400

800

Resultado:
CodEmpt

CodAgencia

CodCliente

Valor

111

02

115

1000

116

02

400

800

LGEBRA RELACIONAL

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:

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

CodAgencia

CodCliente

03

101

02

305

03

Agencia
CodAgencia

Activo

Ciudad

01

5000000

Santiago

406

02

3000000

Arica

02

115

03

4000000

Santiago

01

250

02

400

Resultado de: (Emprstito RENAME CodAgencia AS EmptCodAg) TIMES Agencia


CodEmpt

EmptCodAg

CodCliente

Valor

CodAgencia

Activo

Ciudad

110

03

101

700

01

5000000

Santiago

110

03

101

700

02

3000000

Arica

110

03

101

700

03

4000000

Santiago

120

03

305

200

01

5000000

Santiago

120

03

305

200

02

3000000

Arica

120

03

305

200

03

4000000

Santiago

115

03

496

300

01

5000000

Santiago

115

03

496

300

02

3000000

Arica

115

03

496

300

03

4000000

Santiago

111

02

115

1000

01

5000000

Santiago

111

02

115

1000

02

3000000

Arica

111

02

115

1000

03

4000000

Santiago

127

01

250

400

01

5000000

Santiago

127

01

250

400

02

3000000

Arica

127

01

250

400

03

4000000

Santiago

116

02

400

800

01

5000000

Santiago

116

02

400

800

02

3000000

Arica

116

02

400

800

03

4000000

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[CodCliente]

Emprstito[CodCliente] Resultado de
Depsito[CodCliente])
UNION
Emprstito[CodCliente]):
CodCliente
CodCliente
101

Depsito
CodDepsito CodAgencia CodCliente

Saldo

CodCliente

215

03

350

400

350

102

02

115

900

115

305

350

201

01

210

350

210

406

115

310

03

190

750

190

115

210

222

01

400

1000

400

250

190

390

03

400

600

370

400

400

340

02

370

500

250

260

01

250

700

250

295

03

250

400

101

370

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:

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

CodCliente

210

115

190

400
250

370

LGEBRA RELACIONAL

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 T 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 T debe ser aplicable a ese dominio).

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

03

101

700

03

4000000 Santiago

120

02

305

200

02

3000000 Arica

115

03

406

300

03

4000000 Santiago

111

02

115

1000

02

3000000 Arica

127

01

250

400

01

5000000 Santiago

116

02

400

800

02

3000000 Arica

LGEBRA RELACIONAL

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.

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

LGEBRA RELACIONAL

Ejemplo: Emprstito JOIN Agencia


Resultado:
CodEmpt

CodAgencia

CodCliente

Valor

Activo

Ciudad

110

03

101

700

4000000 Santiago

120

02

305

200

3000000 Arica

115

03

406

300

4000000 Santiago

111

02

115

1000

3000000 Arica

127

01

250

400

5000000 Santiago

116

02

400

800

3000000 Arica

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

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
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

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

215

03

350

400

Saldo con Inters

Nuevo Saldo
420

102

02

115

900

Saldo con Inters

945

201

01

210

350

Saldo con Inters

367.5

310

03

190

750

Saldo con Inters

787.5

222

01

400

1000

Saldo con Inters

1050

390

03

400

600

Saldo con Inters

630

340

02

370

500

Saldo con Inters

525

260

01

250

700

Saldo con Inters

735

295

03

250

400

Saldo con Inters

420

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

SaldoTotalAg

03

2150

02

1400

01

2050

LGEBRA RELACIONAL

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

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.

Resultado:
SaldoTotal

5600

LGEBRA RELACIONAL

LGEBRA RELACIONAL

OPERACIONES ADICIONALES
Divisin generalizada:
Ej:
SP

PJ

SP DIVIDEBY PJ

S#

P#

P#

J#

S#

J#

S1

P1

P1

J1

S1

J1

S1

P2

P2

J1

S1

J2

S1

P3

P2

J2

S3

J3

S2

P1

P3

J2

S2

P4

P2

J3

S3

P2

P4

J3

S3

P4

LGEBRA RELACIONAL

LGEBRA RELACIONAL
Ejemplo de Reunin Externa Izquierda (LEFT OUTER JOIN):
Empleado

Trabajo_a_tiempo_completo

Nombre

Calle

Ciudad

Nombre

Sucursal

Sueldo

Segura

Tebeo

La Loma

Segura

S100

3000

Domnguez

Viaducto

VillaAlta

Domnguez

S100

2000

Gmez

Bailn

Alcorcn

Barea

S101

2800

Valdivieso

Fuentes

Mstoles

Valdivieso

S101

2300

Empleado LEFT OUTER JOIN Trabajo_a_tiempo_completo


Nombre

Calle

Ciudad

Sucursal

Segura

Tebeo

La Loma

S100

Sueldo
3000

Domnguez

Viaducto

VillaAlta

S100

2000

Valdivieso

Fuentes

Mstoles

S101

2300

Gmez

Bailn

Alcorcn Nulo

Nulo

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.

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

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

Limite

Saldo

Cliente

Limite-Saldo

Santos

1200000

140000

Santos

1060000

Gmez

400000

80000

Gmez

320000

Lpez

300000

300000

Lpez

Prez

400000

350000

Prez

50000

OPERACIONES DE ACTUALIZACIN CON


RELACIONES

LGEBRA RELACIONAL
APLICACIONES DE LAS
LGEBRA RELACIONAL

EXPRESIONES

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.

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.

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

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.

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

SISTEMA RELACIONAL

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.

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


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.

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.

Anda mungkin juga menyukai