You are on page 1of 42

1

3.- DISEÑO LÓGICO DE BASES DE DATOS
Introducción: Modelos de datos. El esquema conceptual en la variante del ANSI/X3/SPARC consiste en definir aquellos datos y relaciones entre ellos que se van a informatizar en una determinada empresa (y que posteriormente se traducirá al esquema canónico). El problema principal es definir el conjunto de seres o entidades que se van a almacenar en la BD. Y esto depende exclusivamente del diseñador, es decir del ABD usando modelos conceptuales (también llamado semánticos): modelo E/R, modelo RM/T, modelo Abrial. Una vez obtenido el diseño conceptual pasamos al diseño lógico o definición del esquema canónico mediante un modelo lógico o de datos: relacional, jerárquico o de red.

Modelo Relacional

Nombre_Mecánico Luís Pérez Luís Pérez Andrés Gómez Andrés Gómez Antonio García Antonio García

Fecha_Reparación 10-8-01 10-8-01 10-8-01 11-8-01 10-8-01 12-8-01

Matrícula J-1234-X M-2314-KF GR-4321-Y M-2314-KF B-2123-OP M-2314-KF

Matricula J-1234-X GR-4321-Y M-2314-KF B-2123-OP

Num_Kilometros 1500 30000 75000 17800

2

La información (entidades y relaciones) se representa mediante Relaciones (en forma de tablas). Las columnas se denominan atributos. Las filas se denominan tuplas. Cada tupla se identifica unívocamente mediante una clave que es un conjunto de atributos. No puede haber dos tuplas iguales en un misma Relación. El dominio es el conjunto de valores que puede tomar un determinado atributo. La Relaciones se "comunican" entres ellas a través de la clave.

Modelo Jerárquico

Luís Pérez

Andrés Gómez

Antonio García

10-8-01

10-8-01

11-8-01

10-8-01

12-8-01

GR-4321-Y ------------------30000

M-2314-KF ------------------75000

J-1234-X --------------1500

M-2314-KF ------------------75000

B-2123-OP ------------------17800

M-2314-KF ------------------75000

3

La información se representa a través de segmentos o nodos, utilizando una estructura de árbol. Registro inicial se llama raíz. Las ramas se implementan con punteros entre registros. Mayor complejidad por: Hay ligaduras entre los nodos (punteros). No puede haber nodos hijo sin padre (único). Cada nodo puede tener varios hijos. Las actualizaciones se deben de llevar a cabo en todos los árboles donde aparezca al registro (ej: M2314-KF). No se puede modelar la correspondencia "muchos a muchos"

Modelo en Red La información se representa por registros y ligaduras (por multilistas). Un registro puede tener cualquier número de superiores inmediatos y cualquier número de dependiente inmediatos. Las relaciones entre registros se realizan a través de conectores (que pueden tener atributos). Estructura más homogénea que en el modelo jerárquico, pero las operaciones siguen siendo más complicadas (búsquedas). Los borrados son rápidos (sólo actualizar los punteros).

4

Luís Pérez

Andrés Gómez

Antonio García

10-8-01

10-8-01

11-8-01

12-8-01

10-8-01

J-1234-X --------------1500

GR-4321-Y ------------------30000

M-2314-KF ------------------75000

B-2123-OP ------------------17800

Ejemplos de BD: - relacionales: INGRES, ORACLE, INFORMIX, SQL SERVER - jerárquicas: IMS, SYSTEM 2000, MARK IV - en red: DMS 1100, IDS II, DBMS / 10

MODELO RELACIONAL 3. Nulos SQL2 estándar.-Objetivos del MR El trabajo publicado por Codd en ACM (1970) presentaba un nuevo modelo de datos que perseguía una serie de objetivos. Prototipos (Ingres. 1973-1978 1979 1981 1982 1984 1986 1990 1992 1994 3..1. Independencia lógica. etc.) Oracle SQL Sybase. los usuarios que acceden a esos datos no tienen que modificar sus programas por cambios en el almacenamiento físico. En el sentido de poder presentar a cada usuario los datos de la forma en que éste prefiera. Informix SQL/ANS SQL ISO Modelo Relacional versión 2 (RM/V2) Codd. • • . Desarrollo teóricos: ej: álgebra relacional (Codd. Sistema R.5 3. Aparece el concepto de relación: tabla.-Evolución del MR La siguiente tabla hace una síntesis de la evolución del Modelo Relacional. El modo en el que se almacenan los datos no influye en su manipulación lógica y por tanto. Años 1968-1970 1970. 1972).1.. que se resumen en los siguientes: • Sucesos Surge el Modelo Relacional (Codd).. desde su surgimiento a fines de la década del sesenta hasta la actualidad.2.1. eliminar o modificar objetos de la base de datos no repercute en los programas y/o usuarios que están accediendo a subconjuntos parciales de los mismos (vistas). SQL3 Aun no estandarizado BDOO Independencia física.1. El añadir. Flexibilidad.

y manipulación de los datos. Francesa.1. Las estructuras lógicas de los datos presentan un aspecto uniforme. Informalmente. como metros. Se dice que D es el dominio de A y se denota dom(A). Ejemplos: Dominio de Nacionalidades: Chilena. solo se pueden comparar atributos definidos sobre el mismo dominio. etc. kilos. integridad de los datos.Vn caracterizados por un nombre. Todo dominio tiene un nombre y un tipo de datos. es decir. Concepto de Atributo Un atributo A es el papel que tiene un determinado dominio D en una relación. Se considera que los dominios no incluyen nulos. una columna o combinación de columnas con la propiedad de que nunca existen 2 filas de la tabla con el mismo valor en esa columna o combinación de columnas Es importante señalar que la tabla es plana en el sentido de que el cruce de una fila y una columna solo puede dar un valor. producen como resultado que el modelo de datos relacional sea fácil de comprender y de utilizar por parte del usuario final. así como unos lenguajes de usuario muy sencillos. El modelo Relacional se divide en 3 partes: estructura de los datos. de los cuales uno o mas atributos obtienen sus valores reales Identificador único para la tabla. lo que facilita la concepción y manipulación de la base de datos por parte de los usuarios. no se admiten atributos multivaluados. V2. . es decir. ya que nulo (null) no es un valor. 3..6 • • Uniformidad.. Las características anteriores. si se descomponen se perdería la semántica del dominio. Norteamericana. el tipo de datos es un conjunto de caracteres de longitud máxima de 10.-Dominio y Atributo Concepto de Dominio Un Dominio D es un conjunto finito de valores homogéneos y atómicos V1. es decir.3. 3. Sencillez. .-Estructura del Modelo Relacional La relación es el elemento básico del modelo relacional y se representa por una tabla. y otras restricciones.1. Se pueden asociar unidades de medida. etc. Homogéneo significa que los valores son todos del mismo tipo y atómicos significa que son indivisibles. los términos y sus equivalentes son: Relación Tupla Atributo Número de tuplas Número de atributos Dominio Clave primaria Tabla Fila Columna Cardinalidad Grado Colección de valores. en el ejemplo anterior. La importancia de los dominios es que restringen las comparaciones.3.1. es decir.

-Relación Matemáticamente una relación definida sobre los n dominios D1.. La cardinalidad varía con el tiempo... en términos más precisos. Según A. De Miguel. es una serie de n valores ordenados...3...2. .(An:vin)} (i=1. INSTITUCION: Instituciones) • Intensión de una relación: Extensión de una relación: AUTOR NOMBRE Date. el grado no. FIM Politecnico Milan .2. es un subconjunto del producto cartesiano de estos dominios donde cada elemento de la relación. El cuerpo está formado por un conjunto de tuplas. Extensión o Instancia de relación. Mes.. Esta definición (Codd) no alude a atributos y además en las tuplas los valores están ordenados.. Por ejemplo. es decir. (A2:vi2). El número de tuplas m es la cardinalidad...S. Cada tupla está formada por pares atributo-valor {(A1:vi1). La cabecera está formada por un conjunto de atributos o. Todos los atributos compuestos como los dominios compuestos pueden ser tratados como piezas únicas de información. (A2:D2).. ya que una tabla no puede tener dos atributos con el mismo nombre.m).. habrá que darles nombres distintos. definidos por el mismo dominio.n). que varía en el tiempo.7 Es usual dar el mismo nombre al atributo y al dominio subyacente.Dn -no necesariamente todos distintos-. como valores atómicos. Año. Dn no necesariamente distintos. Los valores m y n se llaman cardinalidad y grado respectivamente.... un usuario podría manejar además de los tres dominios Día. NACIONALIDAD Norteamericana Española Italiana INSTITUCION Relational Ins.D2. denotado R(A1:D1. NACIONALIDAD: Nacionalidades. 3.. denotada por r(R) es un conjunto de m tuplas {t1.. donde m es el numero de tuplas del conjunto.. A2:D2. una tupla.. A. un dominio compuesto llamado Fecha que sería la combinación de los tres y al que podríamos aplicar restricciones de integridad a fin de que no aparecieran valores no válidos para la fecha.. de modo que podemos manejar el concepto de relación un poco más actualizado diciendo que: Una relación R sobre un conjunto de dominios D1. AUTOR(NOMBRE: Nombres. donde cada atributo Aj corresponde a uno y solo uno de los dominios subyacentes Dj (j=1.J.. En el caso de que sean varios los atributos de una misma tabla. de Miguel.2.. de pares atributodominio {(A1:D1).. C.t2..tm} donde cada tupla es un conjunto de n pares atributo-valor {(Ai:Vij)}.. Un dominio compuesto es una combinación de dominios simples que tiene un nombre y sobre él se pueden aplicar ciertas restricciones de integridad.. D2.. La relación R tiene dos conceptos: • Intensión o Esquema de relación. donde V ij es el valor del dominio Di asociado al atributo Ai en la tupla j. De la misma forma se puede definir un atributo compuesto Fecha que toma valores del dominio compuesto de igual nombre.An:Dn) es un conjunto de n pares atributo-dominio subyacente {(Ai:Di)} donde n es el grado del esquema de relación.. La intensión es la parte definitiva y estática de la relación (relativamente) que corresponde a la cabecera cuando la relación se percibe como una tabla.. se compone de dos partes: una cabecera y un cuerpo (Date). (An:Dn)}. Ceri..

4. existe la llamada regla de integridad de entidad. Hay dos tipos: inherentes y del usuario. 3.1. Nulo significa desconocido o inexistente. "Ningún atributo que forme parte de la clave primaria de una relación puede tomar un valor nulo".3. si cambiásemos el orden de los atributos tendríamos una relación distinta.-Restricciones inherentes Además de las derivadas por el concepto de relación. . El modelo relacional no incluye este concepto de elegir una clave como primaria. es conveniente definir la relación de esta otra manera. Clave alternativas: Son aquellas claves candidatas que no han sido escogidas como claves primarias. Esta es una de las diferencias entre la relación matemática y la relación del modelo relacional. Clave primaria: es aquella clave candidata que el usuario elegirá. Una clave candidata de una relación es un conjunto no vacío de atributos que identifican unívoca y minimamente cada tupla. 3. Ante el inconveniente que esto supondría para el usuario y las ventajas de poder alterar el orden de los atributos sin que cambie la relación. por consideraciones ajenas al modelo relacional. Las inherentes al modelo.3. tal entidad deberá ser susceptible de indentificarla sin ambigüedad. no admitiendo por lo tanto los grupos repetitivos.-Restricciones Las restricciones son estructuras no permitidas.8 • • • • No hay dos tuplas iguales El orden de las tuplas no es significativo El orden de las columnas o atributos no es significativo Cada atributo solo puede tomar un único valor del dominio.1. cuando hay varias candidatas. pero el modelo no lo exige. Toda relación siempre tendrá una clave candidata. Clave ajena o foránea: de una relación R2 es un conjunto no vacío de atributos cuyos valores han de coincidir con los valores de la clave primaria de una relación R1 (R1 y R2 no son necesariamente distintas). el orden de los atributos seria significativo. es decir. Justificaciones • • Las entidades del mundo real son identificables y distinguibles.-Claves Una superclave de una relación es un conjunto no vacío de atributos que identifican unívocamente cada tupla. (No pueden repetirse dos filas) Esta restricción debería aplicarse a las claves alternativas. Si una entidad es lo bastante importante en el mundo real como para requerir una representación explícita en la base de datos. siendo consistente con la restricción de que el orden de las tuplas no es significativo.1.3. tal como no tener tuplas repetidas y las del usuario que validan las instancias de la relaciones.4.3. Análisis: Si nos atuviésemos a la definición matemática de relación como "subconjunto del producto cartesiano de n dominios no necesariamente distintos". 3. para identificar las tuplas de la relación. Notar que la clave ajena y la correspondiente clave primaria han de estar definidas sobre los mismos dominios.1.

TITULO. AUTOR( NOMBRE. nunca registraremos información acerca de algo que no podamos identificar. CODIGO Las claves foráneas NOMBRE y CODIGO no pueden ser nulos. Operación con puesta a nulos (SET NULL) El borrado o la modificación de tuplas de la relación que contiene la clave primaria referenciada lleva consigo poner a nulos los valores de las claves foráneas de la relación que referencia.).. NOMBRE_E podría ser null. Este valor debe ser definido al momento de crear la tabla correspondiente. destaca la restricción de integridad referencial:" Si una relación R2 (relación que referencia) tiene un descriptor que es la clave primaria de la relación R1 (relación referenciada). PK:CODIGO FK:NOMBRE_E La clave foránea. 3. Ej: Al modificar el nombre de una editorial en EDITORIAL. de tuplas o de dominios.3.. IDIOMA. ya que en un momento determinado podríamos no conocer la editorial de un libro. NACIONALIDAD. se tendría que modificar también dicho nombre en todos los libros publicados por dicha editorial. Ej: cuando borramos una editorial. porque ambas son la clave primaria de ESCRIBE. Operación con transmisión en cascada (CASCADE) El borrado o modificación de tuplas de la relación que contiene la clave primaria referenciada lleva consigo el borrado o modificación en cascada de las tuplas de la relación que contiene la clave foránea.1. Además de definir las claves foráneas. Esta clave que referencia a EDITORIAL debe concordar con la clave primaria de EDITORIAL. PK:NOMBRE LIBRO( CODIGO. EDITORIAL.. PK:CODIGO ESCRIBE( NOMBRE. hay que definir las consecuencias de las operaciones de borrar y modificar tuplas de la relación referenciada: Operación restringida (RESTRICT) Borrar o modificar tuplas de una relación que contiene la clave primaria referenciada sólo se permite.2. DIRECCION. Dentro de estas. si no existen tuplas con dicha clave en la relación que contiene la clave foránea. Por esto.IDIOMA.. los libros que ha publicado dicha editorial y que se encuentran en LIBRO se les coloque el atributo nombre_e a nulos. CODIGO ).. INSTITUCION. PK:NOMBRE+CODIGO FK:NOMBRE. PAIS ).. Operación con puesta a valor por defecto (SET DEFAULT) El borrado o la modificación de tuplas de la relación que contiene la clave primaria referenciada lleva consigo poner el valor por defecto a la clave foránea de la relación que referencia. que debe ser verificado para que constituya una ocurrencia valida del esquema. .. todo valor de dicho descriptor debe concordar con un valor de la clave primaria de R1 o ser nulo". Operación que desencadena un procedimiento de usuario . CIUDAD. no tendría que haber ningún libro que estuviese publicado por dicha editorial. la regla de integridad de las entidades se expresa así: En una base de datos. El descriptor es una clave ajena de la relación R2..4. NOMBRE_E ). PK: NOMBRE_E LIBRO( CODIGO. Ej: para borrar una editorial.).9 pues de lo contrario seria imposible hablar de ella.-Restricciones de usuario Se pueden definir como un predicado sobre un conjunto de atributos. Esta opción solo es posible cuando el atributo que es clave foránea admite el valor nulo.. EDITORIAL( NOMBRE_E..TITULO..

10 El borrado o la modificación de tuplas de la tabla referenciada pone en marcha un procedimiento definido por el usuario. . Nota: cuando las restricciones de integridad referencial afectan a varias tablas. hay que tener en cuenta que la combinación de opciones puede generar graves problemas de integridad.

Introducción El modelo utilizado para el diseño conceptual ha sido el diseño E/R con su herramienta gráfica (Diagrama entidad relación). Estos atributos deben ser clave ajena respecto a cada una de las tablas donde ese atributo es clave primaria A (a1. b2. Hemos estudiado el modelo de datos relacional donde el concepto fundamental es la relación que la vamos a plasmar en el papel en forma de tabla. R1) Para una cardinalidad distinta n : n se podrá eliminar la tabla correspondiente al conjunto de interrelaciones a través de lo denominado propagación de llaves. Nos falta dar el paso desde el diagrama E/R al modelo de datos relacional y a este proceso lo vamos a llamar paso a tablas. 3.2. a2. siendo la clave principal la suma de todos los atributos de las claves de las entidades que conectan.2.Relaciones 1 : n Existen dos soluciones para transformarlas.Caso general: Relaciones n : n Vamos a ver como pasar a tablas el caso de una relación binaria de cardinalidad n : n. .1. y para cada conjunto de interrelaciones obtendremos una tabla compuesta por las llaves de las entidades a las que conecta y además aquellos atributos descriptivos de la interrelación si los hubiera.3.DISEÑO LÓGICO RELACIONAL 3.2. 3.2. b1. b3) R (a1. A r 1 R B En general para cada conjunto de entidades obtendremos una tabla compuesta de tantas columnas como atributos haya en dicho conjunto de entidades.11 3. a3) B (b1.2. .

b) Transformarla en una relación como si fuese una de tipo N:M. 3) cuando la relación tiene atributos propios. b1. y en un departamento habrá como mínimo un profesor. . R1. a) Propagar el atributo principal de la entidad que tiene cardinalidad máxima 1 a la que tiene N. R2). r3) Ejemplo. b3.12 Habrá que considerar en ambos casos las referencias ajenas. b2. Sin embargo lo que haremos será propagar la llave del conjunto de entidades de cardinalidad uno (A) al conjunto de entidades de cardinalidad n (B). en un departamento hay muchos profesores. y hacer desaparecer la relación como tal. teniendo: A (a1. r1. El caso general es el siguiente: A r 1 R r 2 B Si aplicamos el general obtendremos en la tabla de interrelaciones R(a1. a2. a1. 2) cuando se prevé que dicha relación pasará en un futuro a ser de tipo N:M. a3) B (b1. pero un profesor solo puede pertenecer a un departamento. y las actuaciones en caso de borrado y modificación. Esta acción sólo es recomendable en los casos en que: 1) cuando es posible que aparezcan muchos nulos porque existen pocos elementos Relacionados.

presupuesto) PROFESOR (dni. c2. b3) C (c1. antigüedad. 1) (1. cod_dep) 3. nombre. c1. b2.4.13 cod_dep presupuest o DEPARTAMENTO Pertene ce PROFESOR dn i nombre nombre (1. b1. a 1 a 2 a 3 b1 A r 1 c 1 C R B b2 c 2 c 3 b3 A (a1. donde habrá una tabla para cada conjunto de entidades y otra para la interrelación que las conecta. r1) . nombre.2.a2. c3) R (a1. a3) B (b1.Relaciones Ternarias En un principio se aplicara el caso general. n) antigüeda d DEPARTAMENTO (cod_dep.

No olvidar que hemos de evitar en la medida de lo posible tener valores nulos. a2. En cualquier caso lo que se pretende es no tener una tabla para la relación R. b3) Otra opción seria propagar hacia B.14 3. Puesto que se trata de una particularización de cualquiera de los dos casos anteriores. a3. Si propagamos hacia A tendremos lo siguiente: a 1 a 2 a 3 A r 1 R B b1 b2 b3 A (a1.Relaciones de 1 : 1 La propagación de llaves se podría realizar hacia el conjunto de entidades A o hacia el conjunto de entidades B.. r1) En principio da igual elegir el caso primero o el caso segundo.2. aunque habría que ver cual es la cardinalidad mínima para poder elegir entre cualquiera de los dos casos. A (a1. No obstante. b3. b2. a1. b1. de forma que aparezca la interrelación entre las dos entidades en la tabla de A o en la de B. b2. a3) B (b1.5. r1) B (b1. se puede del mismo modo aplicar cualquiera de las dos reglas definidas. a2. es recomendable seguir las siguientes reglas: .

modificación. nombre. Las posibles tablas pueden ser: a) EMPLEADO (dni.1)(1. la c. categoría) model o marc a ELECTRODOMESTICO nombre cod_elec Mantie ne categorí a EMPLEADO nombre dn i .1)(1. también llamada clásica o general.1). inserción. modelo.15 1) si la relacione es (0.: ultima fecha en la que el empleado trabajo con el electrodoméstico). y se hará atendiendo a los criterios de frecuencia de acceso (consulta. ya que el atributo dni no será nulo nunca.1) la propagación es indiferente.1)(0. c) EMPLEADO (dni. nombre. etc. nombre. entonces se añadiría al final el atributo fecha. Sin embargo en el caso b el atributo cod_elec si puede ser nulo. nombre. es mejor crear una relación para evitar el tener muchos nulos como propagación de alguna de las claves a la otra relación (si se prevé que puede haber muchos nulos). categoría) ELECTRODOMESTICO (cod_elec. Supongamos que un empleado puede mantener uno. marca. modelo) Evidentemente es mejor la opción a. o ninguno de los electrodomésticos. dni) b) EMPLEADO (dni.) a cada una de las tablas en cuestión. nombre. Veamos dos casos: • Supongamos el siguiente diagrama E/R. marca. Si por ejemplo la interrelación Mantiene tuviese algún atributo (Ej. Además de las soluciones a y b siempre será posible una tercera solución. 3) si la relación es (1. categoría cod_elec) ELECTRODOMESTICO (cod_elec. mientras que un electrodoméstico tiene que ser mantenido por un empleado. 2) si la relación es (0.1). es mejor propagar la clave de la entidad (1.1).1) a la (0. para aquellos empleados que no mantengan ningún electrodoméstico.

categoría cod_elec. dni. nombre. marca. nombre. Supongamos el mismo ejemplo anterior donde ahora ambos conjuntos de entidades participan con cardinalidad mínima 0. pues crea una tabla mas que no aporta mas información ni una mejor representación del problema.16 ELECTRODOMESTICO (cod_elec. nombre. model o marc a ELECTRODOMESTICO nombre cod_elec Mantie ne categorí a EMPLEADO nombre dn i . fecha) b) EMPLEADO (dni. marca. nombre. • Vamos a ver el segundo caso de cardinalidad 1 : 1 donde la cardinalidad mínima en ambos conjuntos puede ser 0. fecha) ELECTRODOMESTICO (cod_elec. marca. categoría) ELECTRODOMESTICO (cod_elec. modelo) En este caso ambas son igual de malas. cod_elec) Esta solución c no es mejor que la a. modelo. modelo) Mantiene (dni. En este caso las dos soluciones posibles son: a) EMPLEADO (dni. nombre.

n) Forma parte de El conjunto de entidades objeto mantiene una relación reflexiva con el mismo de forma que un objeto puede estar formado por uno o varios objetos.17 3. y a la vez un objeto puede formar parte de uno (como mínimo de el mismo) o muchos objetos. Supongamos el mismo ejemplo.Transformación de conjuntos en relaciones reflexivas Vamos a distinguir los casos n : n. tamaño. n) Esta formado por códig o tamañ o color OBJETO Parte (1.6. color. En este caso se aplica la regla vista en este tema dn i nombre eda d PERSONA Sé Casa .. color) Parte (código_contiene. solo que ahora se considera que un objeto solo puede formar parte de otro objeto de mayor jerarquía. tamaño. • Caso n : n. La solución es la siguiente: OBJETO (código. (1. 1 : n y 1 : 1. El paso a tablas seria entonces: OBJETO (código_contenido. código _contiene) • Caso 1 : 1.2. código_contenido) • Caso 1 : n.

.7. es fuerte al relacionarlo con cualquier otra entidad. y la entidad débil tendrá como llave principal la clave de A y su discriminante. b2. El conjunto débil B de A.Agregaciones . 3.Conjunto de Entidades Débiles a 1 a 2 a 3 b1 A R B b2 b3 A (a1.2. b1 .2..18 Y según donde pueda haber ceros (cardinalidad mínima) se hará la propagación de llaves.8. b3) Habrá una tabla para cada conjunto de entidades. a2. 3. a3) B (a1.

b3) R1 (a1. 3. r1. b2. r1.2. En cualquier caso aplicamos lo visto en el tema. c2.. La relación r1 se mantendrá o no. a3) B (b1. b1. se realizara una propagación de llaves según la cardinalidad de la relación R1.9. y se podría quitar debido a que la información de dicha tabla esta contenida en la tabla de la relación R2. c1.19 Veamos el caso de una agregación de n : n en un conjunto de entidades.Generalización . Esto es exactamente igual que una relación ternaria. a 1 a 2 a 3 A r 1 R 1 r 2 b1 B b2 b3 R 2 C c 1 c 2 c 3 Aplicando las reglas vistas en el tema. a2. obtenemos lo siguiente: A (a1.r2) C (c1. b1. r2) La tabla de la relación R1 será redundante. c3) R2 (a1.

b1) C (a1. c1) Elegiremos la solución 1 o 2 dependiendo del problema particular y dependiendo del tipo de consulta que se va a realizar. a2.. a3. b1) C (a1. a3. a2. a3) B (a1. 3.10. c1) • B (a1. a2.2.20 a 1 b1 B A IS A C a 2 a 3 c 1 Hay dos soluciones posibles: • A (a1.Transformación de la Dimensión Temporal Supongamos el siguiente ejemplo: fech a tem a titulo LIBRO isb n Pres ta direcció n SOCIO nombre dn i .

Ejemplo: CREATE TABLE LIBRO ( Cod_libro Titulo char(10). Todo esto es consecuencia de la poca semántica y precisión del diagrama E/R para tratar los aspectos temporales.11. tema) Presta (dni.21 Podemos ver que tendríamos las siguientes tablas: SOCIO (dni. char(100). en el caso en que exista una exclusividad en la edición de un libro por parte de una editorial o de una universidad. título. nombre. direcc) LIBRO (isbn. . Cod_editorial char(20). fecha) ¿Cómo resolver la cuestión de que un mismo socio pueda coger el mismo libro en distintos días? Solución: añadir a la clave de la relación Presta el atributo fecha. estas dos relaciones se resuelven mediante el mecanismo de propagación de la clave. llevando las claves primarias de editorial y universidad a libro.Transformación de relaciones exclusivas Para soportar relaciones exclusivas debemos definir las restricciones pertinentes en cada caso. 3. Se utilizará entonces la cláusula CHECK de SQL para introducir las restricciones pertinentes.2. isbn.. Por ejemplo.

PRIMARY KEY(Cod_libro). . CHECK ( (Cod_editorial IS NULL AND Cod_univers IS NOT NULL) OR (Cod_univers IS NULL AND Cod_editorial IS NOT NULL) ). FOREIGN KEY (Cod_univers) REFERENCES Univers ON UPDATE CASCADE.22 Cod_univers char(20). FOREIGN KEY (Cod_editorial) REFERENCES Editorial ON UPDATE CASCADE.

con la idea de que era más deseable que una relación estuviese en 2FN que en 1FN. Además. el procedimiento de normalización. en el sentido de que los dominios simples subyacentes contienen sólo valores atómicos.1. 2FN y 3FN.Introducción. El diseño de bases de datos es en realidad el diseño de esquemas.. lo que garantiza que no se pierde información en cada paso del proceso. ... El siguiente gráfico muestra como las relaciones se agrupan en función de su estado de normalización: 3.Y) si y sólo si un valor de Y en R está asociado a cada valor X en R (en cualquier momento dado).Dependencias funcionales El concepto de dependencia funcional se define del siguiente modo: Dada una relación R. El punto fundamental es que una relación dada. se definieron la forma normal de BOYCE/CODD (FNBC) y las 4FN y 5FN.23 3. La teoría de la normalización tiene como fundamento el concepto de formas normales.3. La teoría de la normalización nos permite reconocer esos casos y nos muestran cómo podemos convertir esas relaciones a una forma más deseable. era mejor que estuviese en 3FN que en 2FN.Normalización. Se ha definido un gran número de formas normales (FN). y a su vez. Codd definió la 1FN.2.X -> R. En principio. Se introdujo también la idea de un procedimiento. Lo que nos ocupa aquí es el esquema conceptual. podría poseer ciertas propiedades indeseables. Formas Normales 3. aun cuando pudiera estar normalizada. Se dice que una relación está en una determinada forma normal si satisface un cierto conjunto de restricciones.3. el atributo Y de R depende funcionalmente del atributo X de R (R.3. este procedimiento es reversible. en una FN superior). Este tema lleva la idea de normalización mucho más lejos. con el cual una cierta relación en una determinada FN puede convertirse en un conjunto de relaciones más deseables (o sea. Las relaciones base de una BD relacional siempre están normalizadas. Con posterioridad.

2.. solo tienen clave primaria). 3. Un ejemplo de este tipo de diagramas es: La dependencia funcional es un concepto semántico. se definen estas tres formas normales para el caso en el que las relaciones sólo tienen una clave candidata (y por tanto.3. Definimos también el concepto de dependencia funcional completa: Se dice que el atributo Y de la relación R es por completo dependiente funcionalmente del atributo X de R si depende funcionalmente de X y no depende funcionalmente de ningún subconjunto propio de X. Otra manera más clara de expresar el significado de una dependencia funcional es: Dada una relación R. Una relación está en 2FN si y sólo si está en 1FN y todos los atributos no clave dependen por completo de la clave primaria. se puede decir que estas dependencias son un tipo especial de reglas de integridad.3. deben por fuerza concordar en su valor de Y. segunda y tercera formas normales Por simplicidad. Una relación está en 1FN si y sólo si todos los dominios simples subyacentes contienen sólo valores atómicos. todos los atributos deben depender funcionalmente de ella. Estas dependencias representan a su vez interrelaciones de muchos a uno.24 Obviamente. se recurre directamente a la FNBC. si X es una clave candidata de la relación (o la clave primaria). Como consecuencia. Para el caso en que no se cumpla esto. que se explica con posterioridad.Primera. . Definiciones: 1. el atributo Y de R depende funcionalmente del atributo X de R si y sólo si siempre que dos tuplas de R concuerden en su valor de X. Para representar las dependencias funcionales utilizaremos los diagramas de dependencias funcionales.

para modificar la situación en una tupla. En este caso. En general. Esta relación está en 1FN por definición. o lo que es lo mismo. realizar operaciones de proyección). Una relación está en 3FN si y sólo si está en 2FN y todos los atributos no clave dependen de manera no transitiva de la clave primaria. Por ejemplo. y cantidad. para pasar a 2FN habrá que descomponer la relación en otras relaciones más simples (y este será el procedimiento genérico que seguiremos para pasar de unas FN a otras superiores: descomponer las tablas. El problema de esta relación es que no tiene buen comportamiento respecto a las acciones de actualización (INSERT. Veamos ahora un ejemplo de cómo convertir relaciones entre distintas formas normales. X# e Y# son la clave primaria de la relación. De hecho. puesto que las redundancias existentes hacen que las variaciones que se deseen para un cierto número de tuplas dejen la relación con un contenido incongruente. y la modificación puede provocar el mismo efecto que una inserción incorrecta. y dependientes por completo de la clave primaria donde no clave significa que no participa en la clave primaria. Es obvio que esta relación no está en 2FN puesto que no todos los atributos no clave dependen por completo de la clave primaria. y mutuamente independientes significa que cualquiera de los atributos no depende funcionalmente de cualquier combinación de los otros. todos los atributos de la relación tienen valores atómicos (no hay tablas dentro de tablas). Por tanto. una relación está en 3FN si y sólo si los atributos no clave son: • mutuamente independientes. es decir. la inserción puede generar discordancias. O dicho de otro modo. el borrado puede eliminar información sobre ciertas dependencias. puesto que de otro modo la dependencia ciudad situación dejará de cumplirse. En esta relación.25 3. habrá que modificarla en todas las tuplas donde aparezca dicha situación. ciudad y situación son los atributos de la relación que dependen funcionalmente de la clave primaria (o de sus componentes) tal y como se indica en la figura. Situación y Ciudad dependen de un componente de la clave primaria. la siguiente descomposición nos permite obtener relaciones en 2FN: . DELETE y UPDATE).

Forma normal de Boyce/Codd El problema de la 3FN es que no maneja relaciones que: • Tiene varias claves candidatas. Hay que introducir. 3. y que se cumplan dichas condiciones. las flechas del diagrama de dependencias funcionales sólo salen de claves candidatas. o • X# -> CIUDAD. se define la FNBC como: Una relación está en FNBC si y sólo si todo determinante es una clave candidata.4. • Esas claves candidatas son compuestas. la siguiente relación está en FNCB. Habrá que obrar. y por tanto. hay que destacar que la última descomposición se podría haber realizado de dos formas distintas: • X# -> CIUDAD. tampoco está en 3FN. que se define como el atributo del cual depende funcionalmente algún otro atributo. CIUDAD -> SITUACION.26 La segunda de las relaciones separadas contiene relaciones transitivas. Así pues. donde se puede ver que la existencia de varias claves candidatas no es necesariamente mala. Dicho de otro modo.3. Como detalle. las relaciones en 3FN. o sea. la definición implica que los únicos determinantes son las claves candidatas. o no exista más de una clave candidata (sólo la clave primaria) la FNBC es completamente equivalente a la 3FN. con cautela antes de decidir que tipo de descomposición se realiza en las relaciones con transitividad. el concepto de determinante. X# ->SITUACION Es evidente que en la segunda descomposición se pierde información sobre la dependencia CIUDAD SITUACION. Se debe advertir que en el caso en el que no se den las condiciones anteriores. se define la FNBC para el caso en el que existan más de una clave candidata. Por ello. Por tanto. Por ejemplo. Para obtener relaciones en 3FN hay que de nuevo dividir la relación en las siguientes relaciones: y con esta separación ya se obtienen. y • Las claves candidatas se traslapan (o sea. . tienen por lo menos un atributo en común). por comodidad. ésta sería una ‘mala’ descomposición.. definitivamente. por tanto.

y a su vez una fila por cada texto que se utiliza de forma común por todos los profesores de esa asignatura.27 Un problema serio. habrá que crear una fila nueva por cada asignatura que vaya a impartir. y sería necesario descomponerla en dos relaciones ((X#. Z#). Por ejemplo. Sin embargo. que no contempla la 3FN sería el siguiente diagrama DF: En este caso.5. (Z#. Y#)). la relación no está en FNBC. en una tabla en la que se haga constar los profesores que imparten ciertas asignaturas y que utilizan una serie de textos como ayuda a la enseñanza. es evidente que no habrá dependencia entre cada uno de los atributos. 3. en el caso en que se diese simultáneamente cualquiera de estas dos posibles dependencias funcionales en una relación: estaríamos ante una relación en FNBC. en el caso en que se desee introducir un profesor nuevo en la tabla.. sin embargo la actualización de sus campos no es tarea trivial. puesto que la representación semántica de la relación así lo requiere. .3.Cuarta forma normal Existen relaciones en las que no existen dependencias entre los atributos. aunque las relaciones resultantes no podrían ser independientes entre sí. sin embargo.

A=>R. lo que significa que la relación puede descomponerse sin pérdidas en n relaciones. Introducimos un nuevo concepto: dependencia multivaluada. siempre que existe una DMV en R. y ASIGNATURA => TEXTOS).6. Por tanto. Se puede demostrar que en una relación R(A.3. Para tratar este tipo de relaciones usaremos el término ‘n-descomponibles’ (para n>2).A =>R. Z. R está en 4FN si está en FNBC y todas las dependencias multivaluadas de R son de hecho dependencias funcionales. digamos A => B. Z) si y sólo si R es igual a la reunión de sus proyecciones según X. una dependencia funcional con respecto a una clave candidata K de algún otro atributo X). que son una generalización de las dependencias funcionales. 3. existen relaciones imposibles de descomponer sin pérdidas en dos proyecciones. Para analizar este tipo de casos no podemos utilizar las dependencias funcionales que hemos estado manejando hasta ahora. Como siempre. pero que sí pueden descomponerse un tres o más proyecciones sin pérdidas.B se cumple si y sólo si se cumple también la DMV R. las únicas dependencias funcionales o multivaluadas en R son de la forma X-> K (o sea. …. pero no en m (m<n). puesto que una asignatura puede estar impartida por varios profesores. Por ejemplo. la DMV R. pero que obligan a un tratamiento poco óptimos en las operaciones de actualización de la relación. Y.B | R. Podemos dar una definición un poco más formal de dependencia multivaluada (DMV): Dada una relación R con los atributos A. lo que nos ha llevado con éxito hasta 4FN. Es ahora fácil ver que el problema mencionado con anterioridad tiene que ver con la presencia de DMV en la relación que no son a la vez DF. la DMV R. B y C. B y C pueden ser compuestos. C) si y sólo si se cumplen en R las dependencias multivaluadas A =>B | C. Es evidente que una DMV sólo puede existir en una relación que tenga por lo menos tres atributos. A. Y ahora ya podemos definir la 4FN: Una relación R está en 4FN si y sólo si. . Para resolver el problema planteado es necesario descomponer las relaciones que presentan DMV en otras relaciones más pequeñas. todos los atributos de R dependen también funcionalmente de A En otras palabras.Quinta forma normal Hasta ahora hemos supuesto que la única manera de normalizar consistía en la sustitución (sin pérdidas) de una relación por dos de sus proyecciones.C. Y. …. Vamos a introducir el concepto de dependencia de reunión (DR) para indicar un cierto tipo de restricción sobre las relaciones: La relación R satisface la dependencia de reunión (DR) *(X.A=>R. Sin embargo.28 Estamos por tanto ante una situación de patrones repetitivos en los que no existen dependencias funcionales individuales. Z son subconjuntos del conjunto de atributos de R. B) y R2(A.B se cumple en R si y sólo si el conjunto de valores de B correspondiente a un par dado (valor de A.. C). en la relación de nuestro ejemplo tenemos dos dependencias multivaluadas (ASIGNATURA => PROFESOR. B y C. B. O lo que es equivalente.C que indica esta situación. Y. aplicando el teorema siguiente: • La relación R.A =>R. se suele emplear la notación R. donde X. cuyos atributos son A. y una asignatura puede utilizar varios textos como apoyo a la enseñanza. …. valor de C) en R depende sólo del valor de A y es independiente del valor de C. se puede descomponer sin pérdidas en sus dos proyecciones R1(A.

(a1. con lo que obtenemos la relación original.c2).c1) obliga a la existencia de (a1. si eliminamos la última tupla de la relación XYZ. Y1. Y#.c1) y (a2. Z1 X1. Y1. Se puede decir que esta obligación es lo que hemos llamado dependencia de reunión. el hecho de que la reunión de las relaciones en que hemos descompuesto la relación original nos devuelva de nuevo esta relación.b1. . El teorema de Fagin dice que: R(A.c1) por el hecho de que aparezcan las otras tres. La relación XYZ contiene las tuplas siguientes: X1. Z#). Y#). XYZ(X#. puesto que la reunión sí que hará aparecer esta última tupla al final.29 Esto no es siempre cierto.c1). dicha dependencia de reunión desaparece. es decir. En este ejemplo. X#). y sus proyecciones XY(X#. YZ. Y2. Z2 X1. B. YZ(Y#. Z1 y esta relación la reunimos con ZX según (X#. Sin embargo. tal y como hemos podido comprobar. sin que aparezca en la relación original. AC) si y sólo si satisface la pareja de dependencias multivaluadas A => B | C. Y1.b1. significa que la existencia de las tuplas (a1. Z1 X2. Z#).b2. Z1 Por tanto. ZX). la relación XYZ satisface la DR *(XY. Y1. Z1 X2. Y1. Y1. puesto que la reunión hará que aparezca indefectiblemente esta última tupla. Veámoslo con un ejemplo: Sea la relación. Z2 X2. no obligamos a que aparezca (a1. Y1. las proyecciones tendrán las tuplas Ahora realizamos la reunión de XY e YZ según Y#. Z2 X1. con lo que obtenemos: X1.b1. Y2. Z1 X1. De alguna manera.b1. Y#). ZX(Z#. C) satisface la DR *(AB.

30 En vista de que una DR es una generalización de una DMV. . también llamada forma normal de proyección/reunión (PJ/NF). y que no todas las relaciones que satisfacen una DR también satisfacen una DMV. hemos de definir una nueva forma normal para evitar estos problemas: Una relación está en 5FN. si y sólo si toda dependencia de reunión en R es una consecuencia de las claves candidatas de R. además del hecho de que las DR pueden presentar problemas de actualización en las relaciones.

R(A) = R(A1:D1. INSTITUCION ) AUTOR NOMBRE Date.. NACIONALIDAD Norteamericana Española Italiana INSTITUCION Relational Ins FIM Politecnico Milan . 3. Formada por un conjunto de operadores de alto nivel. AUTOR( NOMBRE. donde A es el conjunto de atributos definidos sobre el conjunto de dominios D...S. El cálculo relacional se basa en predicados que definen un estado objetivo de la base de datos. obtienen relaciones.ÁLGEBRA RELACIONAL El álgebra relacional se basa en un conjunto de operadores que operan sobre relaciones. De Miguel...An:Dn). . vin > / vij Î Di Operador Restricción (σ ) La restricción.J. r(R) = { ti} . que aplicados sobre relaciones.4. C. constituida por el conjunto de m tuplas. m.4. A. y tenemos el cálculo relacional orientado a la tupla y el cálculo relacional orientado al dominio. en relación a que son los tradicionales de la teoría de conjuntos. Ceri. i=1.Operadores primitivos Operadores Unarios Sea R(A) una relación. NACIONALIDAD. de grado n y cardinalidad m. Sea r(R) definida sobre el esquema R.31 3. La relación resultante constituye un subconjunto horizontal de r(R). vi2. de una relación mediante una expresión lógica (predicado de selección) da como resultado una relación formada por el subconjunto de tuplas que satisfacen dicha expresión. Son 8 operadores. Esta se llama propiedad de cierre.. donde ti = < vi1.. también llamada selección. A2:D2. 5 de los cuales son primitivos..1.

A.32 σ nacionalidad = "española" (AUTOR) NOMBRE De Miguel. se denota: σ p(R) y produce una relación cuyo esquema R será el mismo y cuya extensión será: { ti ∈ r(R) / p(ti) = "cierto"} El grado de la relación resultante será por tanto n. "NOT". ≠ ) y p un predicado de selección formado por una expresión lógica integrada por cláusulas de la forma: Ai θ Aj ó Ai θ constante. es decir el mismo que el de la relación R y su cardinalidad m´ ≤ m. FIM Politecnico Milan nacionalidad institución NACIONALIDAD Norteamericana Española Italiana . eliminando las tuplas duplicadas que hubieran podido resultar. (AUTOR) INSTITUCION Relational Ins. "OR". =. un subconjunto vertical de la relación a la que se aplica el operador. unidas por los operadores booleanos "AND". ≤ . El operador de selección σ aplicado a la relación R con el predicado p. es por tanto. <. π . NACIONALIDAD Española INSTITUCION FIM Formalmente: Sea θ un operador de comparación (>. Operador Proyección (π ) La proyección de una relación sobre un subconjunto de sus atributos es una relación definida sobre ellos. ≥ .

Española Española Ceri S. eliminando las que resulten duplicadas. cuya extensión estará constituida por las tuplas que pertenezcan a R o a R’ o a ambas (se eliminan las tuplas repetidas puesto que se trata de una relación). Italiana Norteamericana . R y R’ serán semánticamente equivalentes. INSTITUCION FIM ER Ins.J. De Miguel Yao L. NOMBRE NACIONALIDAD INSTITUCION Relational Ins. El grado n´ y la cardinalidad m´ de la relación resultante cumplen con : n´ < n y m´ ≤ m. Norteamericana NACIONALIDAD De Miguel Española Norteamericana Saltor F. lo que no quiere decir. denotado por: π X(R) será una relación cuyo esquema es R(X) y cuya extensión es el conjunto de tuplas de la relación original definidas sobre los atributos X. cumpliéndose: ∀ Ai ∃ A´j / dom(Ai) = dom(A´j) y ∀ A´i ∃ Aj / dom(A´i) = dom(Aj) o sea. sino que han de estar definidos sobre los mismos dominios. es decir: { ti(X) / X ⊆ A}.NY Date C. son compatibles a efectos de dichos operadores cuando ambas están definidas sobre el mismo conjunto de dominios. la aplicación del operador de proyección π a R en el contexto de X. FI de UPB FIM Polit. diferencia e intersección) exigen que las dos relaciones involucradas sean compatibles en sus esquemas. AUTOR EDITOR NOMBRE Chen P.33 Formalmente: Sea X un subconjunto estricto y no vacío de A ( X⊆ A y X ≠ φ ). que los nombres de los atributos sean los mismos (sintácticamente). Operadores Binarios Los operadores binarios se aplican a dos relaciones y algunos de ellos (unión.Milan U. Se dice que dos relaciones R y R´ con esquemas R(Ai:Di) y R´(A´i:D´i) y cardinalidades m y m´. Unión (U) La unión de dos relaciones compatibles en su esquema es otra relación definida sobre el mismo esquema de relación.

Ceri S. . Chen P.J. FIM FI de UPB Polit.34 Ceri S.Milan ER Ins. la unión de ambas. U. cuya extensión estará constituida por el conjunto de tuplas que pertenezcan a R pero no a R’. denotada por R U R´ será una relación con esquema R (o R´ ya que ambos son iguales) y con extensión:  ti / ti ∈ r v ti ∈ r´ Diferencia (-) La diferencia de dos relaciones compatibles en su esquema es otra relación definida sobre el mismo esquema de relación. Italiana Polit. Yao L.NY Formalmente: Sean dos relaciones compatibles con esquemas R y R´. NACIONALIDAD Norteamericana Española Española Italiana Norteamericana Norteamericana INSTITUCION Relational Ins.Milan AUTOR U EDITOR NOMBRE Date C. De Miguel Saltor F.

la diferencia entre ambas.J. Norteamericana ER Ins. Ceri S.Milan Chen P.R’ será una relación con esquema R (o R’ ya que son iguales) y con extensión:  ti / ti ∈ r ∧ti ∉ r´ Producto cartesiano generalizado (⊗ ) El producto cartesiano generalizado de dos relaciones de cardinalidades m y m´ es una relación cuyo esquema estará definido sobre la unión de los atributos de ambas relaciones y cuya extensión estará constituida por las m +m’ tuplas formadas concatenando cada tupla de la primera relación con cada una de las tuplas de la segunda. Italiana Norteamericana ER Ins.NY FIM FI de UPB Polit. Saltor F. denotada por: R . Española Española Ceri S.35 AUTOR EDITOR NOMBRE Chen P.EDITOR NOMBRE Date C. . De Miguel Yao L. NOMBRE NACIONALIDAD INSTITUCION Date C. Polit. FIM U. Italiana Yao L.J.Milan Norteamericana U.NY AUTOR . NACIONALIDAD INSTITUCION De Miguel Española Norteamericana Saltor F. Norteamericana Relational Ins. NACIONALIDAD Norteamericana Española INSTITUCION Relatinal Ins. FI de UPB Formalmente: Sean dos relaciones compatibles con esquemas R y R’.

A’i:D’i. Date C.J.36 SOCIOS CODIGO LIBROS 1 LIBRO 2 NOMBRE Elena Manriquez DIRECCION Calle 123 AUTOR EDITORIAL 234 Manuel García Calle Addison Clup Addison DB Systems Date C. AUTOR Date C.... DB Systems Basi di Dati SQL stan. el producto de ambas denotado: R ⊗ R´ será una relación de grado n + n´ cuyo esquema estará formado por los n + n´ atributos A U A´...J..... Basi di Dati SQL stan.v’jn’ > / ∀ i.vin.v’j1.J.. Date C..vin> ∈ r ∧<v’j1. de cardinalidad m ⊗ m´ será:  < vi1.... ∀ j (vi1. Ceri S.... Date C.v’jn’> / ∈ r’) .A’n’ : D’n’)y cuya extensión.... EDITORIAL Addison Clup Addison Addison Clup Addison Formalmente: Sean las relaciones con esquemas R y R´.J. Date C.An:Dn.J.... Es decir: (Ai:Di.J. Ceri S.. Ceri S. SOCIOS ⊗ LIBROS CODIGO 1 1 1 2 2 2 NOMBRE Elena Manriquez Elena Manriquez Elena Manriquez Manuel García Manuel García Manuel García DIREC Calle 123 Calle 123 Calle 123 Calle 234 Calle 234 Calle 234 LIBRO DB Systems Basi di Dati SQL stan.

37 Resumen: .

4.v’jn’> / ∀ i ∀ j ( <vi1..vin..v’jn’> ∈ r’ ∧vik θ v’jl = "cierto") Si la condición es la de igualdad.. Combinación o Reunión (θ ) La θ combinación de dos relaciones respecto de sus columnas k y l. denotamos por θ cualquier operador de comparación. An:Dn... de cardinalidad ≤ m x m’. se denomina combinación por igualdad (equi_join).. en cada par. es otra relación constituida por todos los pares de tuplas ti y tj concatenadas. Es decir..-Operadores derivados Se caracterizan porque se pueden expresar en función de los operadores primitivos. el k-esimo elemento de la tupla ti de la primera relación cumple con respecto al l-esimo elemento de la tupla tj de la segunda... Formalmente: La θ combinación de las dos relaciones de esquemas R y R’ respecto de sus columnas k y l... será:  <vi1. A’1:D’1..vin > ∈ r ∧< v’j1. es decir: ( A1:D1. Es el caso más común para relaciones que tienen un atributo . denotada: R * R’ es otra relación de grado n + n’..2... cuyo esquema estará formado por los n + n’ atributos: A U A’..38 3.v’j1. La llamada combinación natural es una combinación por igualdad donde se ha eliminado en la relación resultante uno de los atributos idénticos...A’n:D’n’ ) y cuya extensión. las columnas k y l de las correspondientes tuplas satisfacen la condición θ especificada.. la condición θ especificada.. tales que.

nombre = libros. De Miguel EDITORIAL Addison Clup Addison Rama AUTOR * LIBROS (autor. Ceri S. NACIONALIDAD Norteamericana Española Norteamericana Italiana INSTITUCION Relational Ins. De Miguel Saltor F. FIM Relational Ins. De Miguel Date C. AUTOR NOMBRE Date C.J.39 común.Milan LIBRO DB Systems Diseño BD SQL stan Basi di Dati EDITORIAL Addison Rama Addison Clup . FIM FI de UPB Polit. Diseño BD AUTOR Date C.autor) NOMBRE Date C. Polit. Ceri S.Milan LIBROS LIBRO DB Systems Basi di Dati SQL stan. Ceri S.J.J. NACIONALIDAD Norteamericana Española Española Italiana INSTITUCION Relational Ins.J. Date C.J.

De Miguel Yao L.Milan AUTOR ∩ EDITOR NOMBRE De Miguel Ceri S. Intersección (∩) La intersección de dos relaciones compatibles en su esquema es otra relación definida sobre el mismo esquema de relación. cuya extensión estará constituida por las tuplas que pertenezcan a ambas relaciones.40 La combinación es un producto cartesiano seguido de restricción. Ceri S. y la combinación natural es un producto cartesiano seguido de una restricción por igualdad y de proyección. FIM FI de UPB P. FIM U. Ceri S. De Miguel Saltor F. NACIONALIDAD Española Italiana INSTITUCION FIM Polit.Milan . NACIONALIDAD Norteamericana Española Norteamericana Italiana INSTITUCION ER Ins.Milan EDITOR NOMBRE Chen P.NY Polit.J. AUTOR NOMBRE Date C. NACIONALIDAD Norteamericana Española Española Italiana INSTITUCION Relational Ins.

. Ceri S...R))... denotada R : R’ será una relación de grado n-n’ cuyo esquema estará formado por los n-n’ atributos A . De Miguel Saltor F.. vin > ∈ r AUTOR NOMBRE Date C. la intersección de ambas. la división de ambos. vin > ∈ r’ ∃ < vi1. Costilla C.An-n’:Dn-n’) y cuya extensión será:  < vi1.. De Miguel NACIONALIDAD Norteamericana Española Española Italiana Española Norteamericana Española EDITORIAL Addison Rama Paraninfo Club Diaz de Santos Prentice Hall Addison EDITORIAL EDITORIAL Addison .vi(n-n’) .((R -R’) U (R’ .41 Formalmente: Sean dos relaciones compatibles con esquemas R y R’......vi(n-n’) > / ∀ < vi(n-n’+1). vi(n-n’+1). División (:) La división de dos relaciones es otra relación cuya extensión estará constituida por las tuplas que al completarse con las tuplas de la segunda relación permiten obtener la primera. denotada por: R ∩ R’ será una relación con esquema R (o R’ ya que son iguales) y con extensión:  ti / ti ∈ r ∧ ti ∈ r’ La intersección se puede definir en función de la Unión y la Diferencia: R ∩ R’ = (R U R’) .A’ es decir: (Ai:Di.......J.. Codd E.. Formalmente: Sean dos relaciones con esquemas R y R’.

π B(R’ X π B(R) .R). . siendo B el conjunto de atributos de A menos A’.42 Rama AUTOR : EDITORIAL (saber los autores que han publicado en Addison y Rama) NOMBRE De Miguel NACIONALIDAD Española La división se puede expresar en función de la proyección. del producto cartesiano y de la diferencia: R : R’ = π B(R) .