Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

25
Integridad de las Bases de Datos La integridad en una base de datos es la corrección y exactitud de la información contenida. Además de conservar la seguridad en un sistema de bases de datos que permite el acceso a múltiples usuarios en tiempos paralelos. Condiciones de la Integridad Las condiciones que garantizan la integridad de los datos pueden ser de dos tipos: 1. Las restricciones de integridad de usuario: son condiciones específicas de una base de datos concreta; son las que se deben cumplir en una base de datos articular con unos usuarios concretos, pero que no son necesariamente relevantes en otra Base de Datos . 2. Las reglas de integridad de modelo: son condiciones propias de un modelo de datos, y se deben cumplir en toda base de datos que siga dicho modelo. Los SGBD deben proporcionar la forma de definir las restricciones de integridad de usuario de una base de datos y una vez definida, debe velar por su cumplimiento. Las reglas de integridad del modelo, en cambio, no se deben definir para cada base de datos concreta, porque se consideran preestablecidas para todas las base de datos de un modelo. Un SGBD de un modelo determinado debe velar por el cumplimiento de las reglas de integridad preestablecidas por su modelo. Reglas de Integridad Regla de integridad de unicidad de la clave primaria La regla de integridad de unicidad está relacionada con la definición de clave primaria que establece que toda clave primaria que se elija para una relación no debe tener valores repetidos por lo que el conjunto de atributos CP es la clave primaria de una relación R, entonces la extensión de R no puede tener en ningún momento dos tuplas con la misma combinación de valores para los atributos de CP. Regla de integridad de entidad de la clave primaria La regla de integridad de entidad de la clave primaria dispone que los atributos de la clave primaria de una relación no pueden tener valores nulos. Esta regla es necesaria para que los valores de las claves primarias puedan identificar las tuplas individuales de las relaciones. Si las claves primarias tuviesen valores nulos, es posible que algunas tuplas no se pudieran distinguir. Un SGBD relacional tendrá que garantizar el cumplimiento de esta regla de integridad en

Transcript of Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

Page 1: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

Integridad de las Bases de Datos

La integridad en una base de datos es la corrección y exactitud de la información contenida. Además de

conservar la seguridad en un sistema de bases de datos que permite el acceso a múltiples usuarios en

tiempos paralelos.

Condiciones de la Integridad

Las condiciones que garantizan la integridad de los datos pueden ser de dos tipos:

1. Las restricciones de integridad de usuario: son condiciones específicas de una base de datos

concreta; son las que se deben cumplir en una base de datos articular con unos usuarios concretos,

pero que no son necesariamente relevantes en otra Base de Datos.

2. Las reglas de integridad de modelo: son condiciones propias de un modelo de datos, y se deben

cumplir en toda base de datos que siga dicho modelo.

Los SGBD deben proporcionar la forma de definir las restricciones de integridad de usuario de una base de

datos y una vez definida, debe velar por su cumplimiento. Las reglas de integridad del modelo, en cambio, no

se deben definir para cada base de datos concreta, porque se consideran preestablecidas para todas las base

de datos de un modelo. Un SGBD de un modelo determinado debe velar por el cumplimiento de las reglas de

integridad preestablecidas por su modelo.

Reglas de Integridad

Regla de integridad de unicidad de la clave primaria

La regla de integridad de unicidad está relacionada con la definición de clave primaria que establece que toda

clave primaria que se elija para una relación no debe tener valores repetidos por lo que el conjunto de

atributos CP es la clave primaria de una relación R, entonces la extensión de R no puede tener en ningún

momento dos tuplas con la misma combinación de valores para los atributos de CP.

Regla de integridad de entidad de la clave primaria

La regla de integridad de entidad de la clave primaria dispone que los atributos de la clave primaria de una

relación no pueden tener valores nulos. Esta regla es necesaria para que los valores de las claves primarias

puedan identificar las tuplas individuales de las relaciones. Si las claves primarias tuviesen valores nulos, es

posible que algunas tuplas no se pudieran distinguir. Un SGBD relacional tendrá que garantizar el

cumplimiento de esta regla de integridad en todas las inserciones y en todas las modificaciones que afecten a

atributos que pertenecen a la clave primaria de la relación.

Regla de integridad referencial

La regla de integridad referencial está relacionada con el concepto de clave foránea, lo que determina que

todos los valores que toma una clave foránea deben ser valores nulos o valores que existen en la clave

primaria que referencia. La necesidad de esta regla es debido a que las claves foráneas tienen por objetivo

Page 2: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

establecer una conexión con la clave primaria que referencian. Si un valor de una clave foránea no estuviese

presente.

Restricción

La restricción en caso de borrado, consiste en no permitir borrar una tupla si tiene una clave primaria

referenciada por alguna clave foránea y la restricción en caso de modificación consiste en no permitir

modificar ningún atributo de la clave primaria de una tupla si tiene una clave primaria referenciada por alguna

clave foránea.

Actualización en cascada

La actualización en cascada consiste en permitir la operación de actualización de la tupla, y en efectuar

operaciones compensatorias que propaguen en cascada la actualización a las tuplas que la referenciaban; se

actúa de este modo para mantener la integridad referencial. La actualización en cascada en caso de borrado

consiste en permitir el borrado de una tupla t que tiene una clave primaria referenciada, y borrar también todas

las tuplas que referencian t y la actualización en cascada en caso de modificación consiste en permitir la

modificación de atributos de la clave primaria de una tupla t que tiene una clave primaria referenciada, y

modificar del mismo modo todas las tuplas que referencian t.

Anulación

La anulación consiste en permitir la operación de actualización de la tupla y en efectuar operaciones

compensatorias que pongan valores nulos a los atributos de la clave foránea de las tuplas que la referencian;

esta acción se lleva a cabo para mantener la integridad referencial. Los SGBD relacionales permiten

establecer que un determinado atributo de una relación no admite valores nulos, sólo se puede aplicar la

política de anulación si los atributos de la clave foránea sí los admiten. Más concretamente, la anulación en

caso de borrado consiste en permitir el borrado de una tupla t que tiene una clave referenciada y, además,

modificar todas las tuplas que referencian t, de modo que los atributos de la clave foránea correspondiente

tomen valores nulos y la anulación en caso de modificación consiste en permitir la modificación de atributos de

la clave primaria de una tupla t que tiene una clave referenciada y, además, modificar todas las tuplas que

referencian t, de modo que los atributos de la clave foránea correspondiente tomen valores nulos.

Regla de integridad de dominio

La regla de integridad de dominio está relacionada con la noción de dominio. Esta regla establece dos

condiciones.

La primera condición consiste en que un valor no nulo de un atributo Ai debe pertenecer al dominio del

atributo Ai; es decir, debe pertenecer a dominio(Ai). Esta condición implica que todos los valores no nulos

que contiene la base de datos para un determinado atributo deben ser del dominio declarado para dicho

atributo.

La segunda condición sirve para establecer que los operadores que pueden aplicarse sobre los valores

dependen de los dominios de estos valores; es decir, un operador determinado sólo se puede aplicar

sobre valores que tengan dominios que le sean adecuados.

Page 3: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

Integridad de datosEl término integridad de datos se refiere a la corrección y complementación de los datos en una base

de datos. Cuando los contenidos se modifican con sentencias INSERT, DELETE o UPDATE, la

integridad de los datos almacenados puede perderse de muchas maneras diferentes. Pueden añadirse

datos no válidos a la base de datos, tales como un pedido que especifica un producto no existente.

Pueden modificarse datos existentes tomando un valor incorrecto, como por ejemplo si se reasigna un

vendedor a una oficina no existente. Los cambios en la base de datos pueden perderse debido a un

error del sistema o a un fallo en el suministro de energía. Los cambios pueden ser aplicados

parcialmente, como por ejemplo si se añade un pedido de un producto sin ajustar la cantidad disponible

para vender.

Una de las funciones importantes de un DBMS relacional es preservar la integridad de sus datos

almacenados en la mayor medida posible.

Tipos de restricciones de integridad

Datos Requeridos: establece que una columna tenga un valor no NULL. Se define efectuando la

declaración de una columna es NOT NULL cuando la tabla que contiene las columnas se crea por

primera vez, como parte de la sentencia CREATE TABLE.

Chequeo de Validez: cuando se crea una tabla cada columna tiene un tipo de datos y el DBMS

asegura que solamente los datos del tipo especificado sean ingresados en la tabla.

Integridad de entidad: establece que la clave primaria de una tabla debe tener un valor único para

cada fila de la tabla; si no, la base de datos perderá su integridad. Se especifica en la sentencia

CREATE TABLE. El DBMS comprueba automáticamente la unicidad del valor de la clave primaria

con cada sentencia INSERT Y UPDATE. Un intento de insertar o actualizar una fila con un valor de

la clave primaria ya existente fallará.

Integridad referencial: asegura la integridad entre las llaves foráneas y primarias (relaciones

padre/hijo). Existen cuatro actualizaciones de la base de datos que pueden corromper la integridad

referencial:

La inserción de una fila hijo se produce cuando no coincide la llave foránea con la llave primaria

del padre.

La actualización en la llave foránea de la fila hijo, donde se produce una actualización en la

clave ajena de la fila hijo con una sentencia UPDATE y la misma no coincide con ninguna llave

primaria.

Page 4: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

La supresión de una fila padre, con la que, si una fila padre -que tiene uno o más hijos- se

suprime, las filas hijos quedarán huérfanas.

La actualización de la llave primaria de una fila padre, donde si en una fila padre, que tiene uno

o más hijos se actualiza su llave primaria, las filas hijos quedarán huérfanas.

El proceso de normalización de una base de datos 

Consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo E-R (entidad-relación) al modelo relacional.

Objetivo de la normalización

Las bases de datos relacionales se normalizan para:

Evitar la redundancia de los datos.

Evitar problemas de actualización de los datos en las tablas.

Proteger la integridad de los datos.

En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una

tabla bidimensional sea considerada como una relación tiene cumplir con algunas

restricciones:

Cada columna debe tener su nombre único.

No puede haber dos filas iguales. No se permiten los duplicados.

Todos los datos en una columna deben ser del mismo tipo.

Terminología equivalente

relación = tabla o archivo

tupla = registro, fila o renglón

atributo = campo o columna

base de datos = banco de datos

dependencia multivaluada = dependencia multivalor

clave = llave

clave primaria = superclave

clave ajena = clave extranjera o clave foránea

RDBMS = del inglés Relational Data Base Manager System que significa, Sistema Gestor de Base de

Datos Relacionales

Page 5: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

Dependencia funcional Una dependencia funcional son conexiones entre uno o más atributos. Por ejemplo si

conocemos el valor de FechaDeNacimiento podemos conocer el valor de Edad.

Las dependencias funcionales se escriben utilizando una flecha, de la siguiente manera:

FechaDeNacimiento->Edad

Aquí a FechaDeNacimiento se le conoce como un determinante. Se puede leer de dos

formas FechaDeNacimiento determina a Edad o Edad es funcionalmente dependiente

de FechaDeNacimiento. De la normalización (lógica) a la implementación (física o real) puede ser sugerible

tener éstas dependencias funcionales para lograr mayor eficiencia en las tablas.

Dependencia funcional transitiva Supongamos que los estudiantes solo pueden estar matriculados en un

solo curso y supongamos que los profesores solo pueden dar un curso. ID_Estudiante -> Curso_Tomando

Curso_Tomando -> Profesor_Asignado ID_Estudiante -> Curso_Tomando -> Profesor_Asignado

Entonces tenemos que ID_Estudiante determina a Curso_Tomando y el Curso_Tomando determina

a Profesor_Asignado, indirectamente podemos saber a través del ID_estudiante el Profesor_Asignado.

Entonces tenemos una dependencia transitiva.

Claves

Clave ajena

Cuando se tienen dos tablas o más, una clave ajena es aquella columna de una tabla que hace referencia a

una clave primaria de otra tabla.

También existe el caso de Relaciones Autoreferenciales. Sucede cuando en la misma relación se tiene una

clave ajena que hace referencia a la clave primeria de la misma relación. Por otro lado las claves ajenas

pueden tomar valores nulos.

Regla de Integridad Referencial

La base de datos no debe conter valores de clave ajena sin concordancia. Así como los valores de clave

primaria representan identificadores de entidades, las claves ajenas representan referencia a entidades.

La regla dice: Si B hace referencia a A entonces A debe existir. Surgen los siguientes dos puntos:

La integridad referencial exige concordancia en las claves ajenas, con las claves primerias, no con la

claves alternativas.

Los conceptos de clave ajena e integridad referencial se definen uno en termino del otro.

Clave candidata

Por lo general la forma más eficiente y segura para escoger o hacer la clave primaria es poniendo un número

y aumentando éste a medida que se van añadiendo filas, pero si de casualidad se diera el caso de que

Page 6: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

existan varias claves candidatas de las cuales se deba escoger la clave primaria, esta elección se hace

utilizando el sentido común.

Claves alternativas

Son aquellas claves candidatas que no han sido elegidas.

Clave simple

Es una clave que esta compuesta solo de un atributo.

Clave compuesta

Es una clave que esta compuesta por más de un atributo.

Formas Normales

Las primeras tres formas normales son suficientes para cubrir las necesidades de la mayoría de las bases de

datos. El creador de estas 3 primeras formas normales (o reglas) fue Edgar F. Codd, éste introdujo la

normalización en un artículo llamado A Relational Model of Data for Large Shared Data Banks.

Primera Forma Normal (1FN)

Sea α un conjunto de atributo perteneciente (Є) a la relación R, en donde R está en la Primera Forma Normal

si todos los atibutos α[n] son atómicos, es decir no pueden seguir dividiéndose. Por ejemplo:

La Relación:

cursos: nombre, código, vacantes, horario, bibliografía

Queda después de aplicar la Forma Normal 1 de la siguiente manera:

cursos1: nombre, código, vacantes horario1: código, día, módulo bibliografia1: código, nombre, autor

Segunda Forma Normal (2FN)

Dependencia completa. Esta en 2FN si esta en 1FN y si sus atributos no principales dependen de forma

completa de la clave principal.

Tercera Forma Normal (3FN)

Está en segunda forma normal y todo atributo no primo es implicado por la clave primaria en una secuencia

no transitiva.Se eliminan las dependencias transitivas.

Forma normal de Boyce-Codd (FNBC)

Page 7: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

Una tabla está en FNBC sí y sólo sí las únicas dependencias funcionales elementales son aquellas en las que

la clave primaria determinan un atributo.

Cuarta Forma Normal (4FN)

Está en forma normal de Boyce-Codd y se eliminan las dependencias multivaluadas y se generan todas las

relaciones externas con otras tablas u otras bases de datos.

Quinta Forma Normal (5FN)

Está en cuarta forma normal y toda dependencia-join viene implicada por claves candidatas.

Reglas de Codd

Codd se dio de cuenta que existían bases de datos en el mercado las cuales decían ser relacionales, pero lo

único que hacían era guardar la información en las tablas, sin estas tablas estar literalmente normalizadas;

entonces éste publicó 12 reglas que un verdadero sistema relacional debería de tener, en la práctica algunas

de ellas son difíciles de realizar.Un sistema podrá considerarse "más relacional" cuanto más siga estas reglas.

Regla No. 1 - La Regla de la información

Toda la información en un RDBMS está explícitamente representada de una sola manera por valores en una

tabla. Cualquier cosa que no exista en una tabla no existe del todo.

Toda la información, incluyendo nombres de tablas, nombres de vistas, nombres de columnas, y los datos de

las columnas deben estar almacenados en tablas dentro de las bases de datos. Las tablas que contienen tal

información constituyen el Diccionario de Datos.

Regla No. 2 - La regla del acceso garantizado

Cada ítem de datos debe ser lógicamente accesible al ejecutar una búsqueda que combine el nombre de la

tabla, su clave primaria, y el nombre de la columna.

Esto significa que dado un nombre de tabla, dado el valor de la clave primaria, y dado el nombre de la

columna requerida, deberá encontrarse uno y solamente un valor. Por esta razón la definición de claves

primarias para todas las tablas es prácticamente obligatoria.

Regla No. 3 - Tratamiento sistemático de los valores nulos

La información inaplicable o faltante puede ser representada a través de valores nulos.

Un RDBMS (Sistema Gestor de Bases de Datos Relacionales) debe ser capaz de soportar el uso de valores

nulos en el lugar de columnas cuyos valores sean desconocidos o inaplicables.

Regla No. 4 - La regla de la descripción de la base de datos

Page 8: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

La descripción de la base de datos es almacenada de la misma manera que los datos ordinarios, esto es, en

tablas y columnas, y debe ser accesible a los usuarios autorizados.

La información de tablas, vistas, permisos de acceso de usuarios autorizados, etc, debe ser almacenada

exactamente de la misma manera: En tablas. Estas tablas deben ser accesibles igual que todas las tablas, a

través de sentencias de SQL.

Regla No. 5 - La regla del sub-lenguaje Integral

Debe haber al menos un lenguaje que sea integral para soportar la definición de datos, manipulación de

datos, definición de vistas, restricciones de integridad, y control de autorizaciones y transacciones.

Esto significa que debe haber por lo menos un lenguaje con una sintaxis bien definida que pueda ser usado

para administrar completamente la base de datos.

Regla No. 6 - La regla de la actualización de vistas

Todas las vistas que son teóricamente actualizables, deben ser actualizables por el sistema mismo.

La mayoría de las RDBMS permiten actualizar vistas simples, pero deshabilitan los intentos de actualizar

vistas complejas.

Regla No. 7 - La regla de insertar y actualizar

La capacidad de manejar una base de datos con operandos simples aplica no solo para la recuperación o

consulta de datos, sino también para la inserción, actualización y borrado de datos.

Esto significa que las cláusulas SELECT, UPDATE, DELETE e INSERT deben estar disponibles y operables

sobre los registros, independientemente del tipo de relaciones y restricciones que haya entre las tablas.

Regla No. 8 - La regla de independencia física

El acceso de usuarios a la base de datos a través de terminales o programas de aplicación, debe permanecer

consistente lógicamente cuando quiera que haya cambios en los datos almacenados, o sean cambiados los

métodos de acceso a los datos.

El comportamiento de los programas de aplicación y de la actividad de usuarios vía terminales debería ser

predecible basados en la definición lógica de la base de datos, y éste comportamiento debería permanecer

inalterado, independientemente de los cambios en la definición física de ésta.

Regla No. 9 - La regla de independencia lógica

Los programas de aplicación y las actividades de acceso por terminal deben permanecer lógicamente

inalteradas cuando quiera que se hagan cambios (según los permisos asignados) en las tablas de la base de

datos.

Page 9: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

La independencia lógica de los datos especifica que los programas de aplicación y las actividades de terminal

deben ser independientes de la estructura lógica, por lo tanto los cambios en la estructura lógica no deben

alterar o modificar estos programas de aplicación.

Regla No. 10 - La regla de la independencia de la integridad

Todas las restricciones de integridad deben ser definibles en los datos, y almacenables en el catalogo, no en

el programa de aplicación.

Las reglas de integridad son:

Ningún componente de una clave primaria puede tener valores en blanco o nulos. (esta es la norma

básica de integridad).

Para cada valor de clave foránea deberá existir un valor de clave primaria concordante. La combinación

de estas reglas aseguran que haya Integridad referencial.

Regla No. 11 - La regla de la distribución

El sistema debe poseer un lenguaje de datos que pueda soportar que la base de datos esté distribuida

físicamente en distintos lugares sin que esto afecte o altere a los programas de aplicación.

El soporte para bases de datos distribuidas significa que una colección arbitraria de relaciones, bases de

datos corriendo en una mezcla de distintas máquinas y distintos sistemas operativos y que este conectada por

una variedad de redes, pueda funcionar como si estuviera disponible como una única base de datos en una

sola máquina.

Regla No. 12 - Regla de la no-subversión

Si el sistema tiene lenguajes de bajo nivel, estos lenguajes de ninguna manera pueden ser usados para violar

la integridad de las reglas y restricciones expresadas en un lenguaje de alto nivel (como SQL).

Algunos productos solamente construyen una interfaz relacional para sus bases de datos No relacionales, lo

que hace posible la subversión (violación) de las restricciones de integridad. Esto no debe ser permitido.

Algebra relacionalEs un método que consiste básicamente en crear o construir nuevas relaciones a partir de relaciones existentes.

Existen 2 tipos de operadores algebraicos:

Operadores básicos o primitivos.

Operadores no básicos o derivados.

Operadores básicos o primitivos.

Se clasifican en:

Page 10: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

1. Proyección (π).

2. Selección (σ).

3. Unión (U).

4. Diferencia (-).

5. Producto cartesiano (X).

Proyección.

Este operador permite extraer columnas de una relación y de esta manera crea un subconjunto de atributos de la relación, además elimina las filas duplicadas.

Ejemplo

PERSONA

CODIGO NOMBRE EDAD TELEFONO CIUDAD

1 PEDRO 24 3182405 QUITO

2 SONIA 15 3234534 QUITO

3 ERIK 18 4102405 GUAYAQUIL

4 ANDREA 27 4089129 GUAYAQUIL

π NOMBRE, CUIDAD (PERSONA)

NOMBRE CUIDAD

PEDRO QUITO

SONIA QUITO

ERIK GUAYAQUIL

Page 11: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

ANDREA GUAYAQUIL

Selección.

Este operador permite seleccionar un subconjunto de filas o registros de una relación y de acuerdo a la condición planteada los registros serán seleccionados para formar parte de un nuevo subconjunto.

Ejemplo

PERSONA

CODIGO NOMBRE EDAD TELEFONO CIUDAD

1 PEDRO 24 3182405 QUITO

2 SONIA 15 3234534 QUITO

3 ERIK 18 4102405 GUAYAQUIL

4 ANDREA 27 4089129 GUAYAQUIL

σ CODIGO>2 (PERSONA)

CODIGO NOMBRE EDAD TELEFONO CIUDAD

3 ERIK 18 4102405 GUAYAQUIL

4 ANDREA 27 4089129 GUAYAQUIL

Unión.

Page 12: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

La unión de 2 relaciones R y S es otra relación la cual va a tener los registros de R en S o en ambas, además se eliminan los registros duplicados.

En esta relación R y S deben ser compatibles es decir que deben estar definidas sobre el mismo conjunto de atributos.

Ejemplo

EMPLEADO

CÓDIGO NOMBRE SUELDO

1 KEVIN 550

2 EDUARDO 300

3 JESSICA 240

4 NANCY 430

JEFE

CÓDIGO NOMBRE SUELDO

5 PEDRO 800

2 EDUARDO 300

6 ADRIAN 1000

4 NANCY 430

8 JUAN 180

Page 13: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

EMPLEADO U JEFE

CÓDIGO NOMBRE SUELDO

1 KEVIN 550

2 EDUARDO 300

3 JESSICA 240

4 NANCY 430

5 PEDRO 800

6 ADRIAN 1000

8 JUAN 180

Diferencia.

La diferencia de 2 relaciones R y S es otra relación la cual va a tener los registros que están en R pero no están en S.

En esta relación R y S deben ser compatibles.

Ejemplo

EMPLEADO

CÓDIGO NOMBRE SUELDO

1 KEVIN 550

2 EDUARDO 300

Page 14: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

3 JESSICA 240

4 NANCY 430

JEFE

CÓDIGO NOMBRE SUELDO

5 PEDRO 800

2 EDUARDO 300

6 ADRIAN 1000

4 NANCY 430

8 JUAN 180

EMPLEADO – JEFE

CODIGO NOMBRE SUELDO

1 KEVIN 550

3 JESSICA 240

JEFE – EMPLEADO

Page 15: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

CODIGO NOMBRE SUELDO

5 PEDRO 800

6 ADRIAN 1000

8 JUAN 180

Producto cartesiano.

Es una relación que consiste en la concatenación de cada una de las filas de la relación R con cada una de las filas de la relación S.

Ejemplo

PROVINCIA

CÓDIGO NOMBRE POBLACION

5 PICHINCHA 800

2 AZUAY 300

6 GUAYAS 1000

4 COTOPAXI 430

CIUDAD

CÓDIGO CIUDAD

C1 QUITO

Page 16: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

C2 CUENCA

C3 GUAYAQUIL

PROVINCIA X CIUDAD

CÓDIGO NOMBRE POBLACION CODIGO CIUDAD

5 PICHINCHA 800 C1 QUITO

5 PICHINCHA 800 C2 CUENCA

5 PICHINCHA 800 C3 GUAYAQUIL

2 AZUAY 300 C1 QUITO

2 AZUAY 300 C2 CUENCA

2 AZUAY 300 C3 GUAYAQUIL

6 GUAYAS 1000 C1 QUITO

6 GUAYAS 1000 C2 CUENCA

6 GUAYAS 1000 C3 GUAYAQUIL

4 COTOPAXI 430 C1 QUITO

Page 17: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

4 COTOPAXI 430 C2 CUENCA

4 COTOPAXI 430 C3 GUAYAQUIL

Operadores no básicos o derivados.

Se clasifican en:

1. Intersección (∩).

2. Unión natural ().

3. División (/).

Intersección.

Es una relación que contiene el conjunto de todas las filas que están tanto en la relación R como en S.

R y S deben ser compatibles.

Ejemplo

EMPLEADO

CODIGO NOMBRE SUELDO

1 KEVIN 550

2 EDUARDO 300

3 JESSICA 240

4 NANCY 430

JEFE

CODIGO NOMBRE SUELDO

Page 18: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

5 PEDRO 800

2 EDUARDO 300

6 ADRIAN 1000

4 NANCY 430

8 JUAN 180

EMPLEADO – JEFE

CODIGO NOMBRE SUELDO

2 EDUARDO 300

4 NANCY 430

Unión natural.

El resultado es una relación con los atributos de ambas relaciones y se obtiene combinando vas filas de ambas relaciones que tengan el mismo valor en los atributos comunes.

El join se lo usa entre los atributos comunes de las entidades o tablas que poseen la clave primaria de una tabla foránea correspondiente de otra entidad.

Ejemplo

PROVINCIA

CODIGO NOMBRE POBLACION CODIGO_CIUDAD

5 PICHINCHA 800 1

Page 19: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

2 AZUAY 300 3

6 GUAYAS 1000 3

4 COTOPAXI 430 1

CIUDAD

CODIGO_CIUDAD CIUDAD

1 QUITO

2 CUENCA

3 GUAYAQUIL

CÓDIGO

NOMBRE POBLACION

CODIGO_CIUDAD

CODIGO_CIUDAD

CIUDAD

5 PICHINCHA

800 1 1 QUITO

5 PICHINCHA

800 1 2 CUENCA

5 PICHINCHA

800 1 3 GUAYAQUIL

2 AZUAY 300 3 1 QUITO

Page 20: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

2 AZUAY 300 3 2 CUENCA

2 AZUAY 300 3 3 GUAYAQUIL

6 GUAYAS 1000 3 1 QUITO

6 GUAYAS 1000 3 2 CUENCA

6 GUAYAS 1000 3 3 GUAYAQUIL

4 COTOPAXI 430 1 1 QUITO

4 COTOPAXI 430 1 2 CUENCA

4 COTOPAXI 430 1 3 GUAYAQUIL

RESULTADO

CODIGO

NOMBRE POBLACION

CODIGO_CIUDAD

CODIGO_CIUDAD

CIUDAD

5 PICHINCHA

800 1 1 QUITO

2 AZUAY 300 3 3 GUAYAQUIL

Page 21: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

6 GUAYAS 1000 3 3 GUAYAQUIL

4 COTOPAXI 430 1 1 QUITO

Outer Join.

Es una variante del join en la que se intenta mantener toda va información de los operandos, incluso para aquellas que no encajan o entran en juego en el Join, se rellena con nulos las filas que no tienen correspondencia en el Join.

Existen 3 variantes:

1. Left.

2. Right

3. Full

Left

Se tiene en cuenta todas las filas del primer operando.

Right

Se tiene en cuenta todas las filas del segundo operando.

Full

Se tiene en cuenta todas las filas de ambos operandos.

División.

Define una relación sobre el conjunto de atributos C, incluido en la relación R, y que contiene el conjunto de valores de S, que en las filas de R están combinadas con cada una de las filas de S.

R

A B C D

1 2 3 5

4 3 5 9

Page 22: Integridad de Las Bases de Datos,Normalizacion de BD y Algebra Relacional

3 2 8 1

1 2 2 7

1 3 2 7

S

C D

3 5

2 7

R / S

A B

1 2