Vous êtes sur la page 1sur 10

El modelo relacional Algebra relacional

Ing. Cecilia Labraa C. Labra


1968 - 1970: Surge el MR (Codd). Aparece el concepto de relacin 1973 - 1978: Prototipos (Ingres, Sistema R,etc) 1979: Oracle 1981: SQL 1982: Sybase, Informix 1984 SQL/ANSI 1986 SQL ISO 1990 MR v.2 1992 SQL2 estndar 1994 SQL3 aun no estandarizado BDOO

El modelo relacional
Se basa en la teora de las Relaciones Los datos se estructuran lgicamente en forma de relaciones (tablas) Su objetivo fundamental es mantener la independencia de esta estructura lgica respecto del modo de almacenamiento y otras caractersticas de tipo fsico
Independencia de Ordenacin Independencia de Indexacin Independencia de Caminos de Acceso

Objetivos del modelo relacional


Independencia fsica: el modo en que se almacenan los datos no hace necesaria la modificacin de los programas por cambios en almacenamiento fsico. Independencia Lgica: EL aadir, eliminar o modificar objetos de la BD no repercute en los programas. Flexibilidad: La representacin de los datos a los usuarios es adaptable. Uniformidad: En las estructuras de datos facilitando la concepcin y manipulacin. Sencillez: Fcil de comprender y utilizar por parte del usuario final.

Estructura del modelo relacional


Relacin: Tabla Tupla: Fila Atributo: Columna Nmero de tuplas: Cardinalidad Nmero de atributos: Grado Dominio: Coleccin de valores, de los cuales uno o ms atributos obtienen sus valores reales. Clave primaria: Identificador nico para la relacin, es decir, un solo atributo o combinacin de atributos con la propiedad de que nunca existen dos tuplas de la relacin con el mismo valor en ese atributo o combinacin.

Estructura del modelo relacional


Relacin
atributo1 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx

Grado n
atributo 2 ........... atributo n xxxxxxxx xxxxxxxx xxxxxxxx

xxxxxxxx xxxxxxxx

xxxxxxxx

Tupla 1 Tupla 2 Tupla 3 . . Tupla m Cardinalidad m

Estructura del modelo relacional


La relacin se puede representar como una tabla, aunque tiene una serie de elementos caractersticos que la distinguen de sta, a saber:
No puede haber filas duplicadas, es decir, todas las tuplas tienen que ser distintas. El orden de las tuplas es irrelevante. la relacin es plana en el sentido de que el cruce de una tupla y un atributo solo puede dar un valor, es decir, no se admiten atributos multivaluados.

Estructura del modelo relacional


DOMINIOS
Nombres X(25) Nacionalidades
ESPAOLA ITALIANA FRANCESA NORTEAMERICANA INGLESA ...........

Instituciones
F.I.M. F.I. U.P.B. POLITEC MILAN RELATIONAL INS ......

AUTOR
Cardinalidad 3

NOMBRE

NACIONALIDAD

INSTITUCION RELATIONAL FIM I.F.I. U.P.B.

DATE C.J. NORTEAMERICANA DE MIGUEL A. ESPAOLA SALTOR ESPAOLA

Grado 3

Conceptos del modelo relacional


A) Dominio Conjunto finito de valores homogneos y atmicos V1,V2,.....Vn. Todo dominio tiene un nombre y un tipo de datos Ejemplo:

Conceptos del modelo relacional


La importancia de un dominio es que restringe las comparaciones, es decir, slo se pueden comparar atributos definidos sobre el mismo dominio. Los Dominios pueden definirse por intencin o extensin. Ejemplo:
Por Intensin : EDADES = entero de longitud 2 comprendido entre 18 y 65. Por Extensin : EDADES = 18,19,20,21..........65

Dominio Nacionalidades: chilena, francesa, norteamericana, etc. Tipo de Dato del Dominio Nacionalidad Carcter de largo 16.

Un dominio puede ser simple o compuesto Los dominios no incluyen el valor Null.

Conceptos del modelo relacional


B) Atributo Un atributo A es el papel que tiene un determinado dominio D en una relacin. Se dice que D es el dominio de A y se denota por dom(A). Ejemplo:

Conceptos del modelo relacional


El universo del discurso de una BDR, representado por U, est compuesto por un conjunto finito y no vaco de atributos, A1, A2,....An, estructurados en relaciones. Cada atributo toma valores de un nico dominio y varios atributos pueden tener el mismo dominio.

El atributo Nacionalidad de la tabla AUTOR, definido sobre el dominio de Nacionalidades, nos indica que dicho dominio tiene el papel de nacionalidad del autor en la tabla referida.

Conceptos del modelo relacional


Es usual dar el mismo nombre al atributo y al dominio. Si existen varios atributos en una misma relacin, definidos sobre el mismo dominio, habr que darles nombres distintos, ya que en una relacin no deben existir dos o ms atributos con el mismo nombre. Los atributos pueden ser simples o compuestos.

Conceptos del modelo relacional


C) Dominios y atributos compuestos Un Dominio Compuesto es una combinacin de dominios que tiene un nombre y a la que se pueden aplicar ciertas restricciones de integridad. Un atributo Compuesto es aquel que toma valores de un dominio compuesto. Ejemplo:

Dominio: FECHA est compuesto por los Dominios DIA, MES, AO

Conceptos del modelo relacional


D) Relacin Una relacin R sobre un conjunto de dominios D1,D2,...,Dn, no necesariamente distintos, se compone de dos partes:
Intensin o Esquema de Relacin: Est formada por un conjunto de n atributos o de pares de atributos-dominio. R{(A1:D1),(A2:D2),....,(An:Dn)}, donde cada atributo Aj corresponde a uno y solo uno de los dominios Dj (j=1,2,...,n). Extensin o Instancia de Relacin : Formado por un conjunto de m tuplas, {t1,t2.........tm} donde cada tupla es un conjunto de n pares atributo_valor {(Ai:Vij)} donde Vij es el valor j del Dominio Di asociado al atributo Ai. Los valores m y n se llaman cardinalidad y grado. La cardinalidad vara con el tiempo el grado no( ????).

El modelo relacional
Ejemplo: a) Intensin de una Relacin :
AUTOR( nombre:NOMBRES,nacionalidad:NACIONALIDADES,institucin:INSTITUCIONES)

b) Extensin de una Relacin:


AUTOR NOMBRE DATE D.J. SALTOR CERI, S. NACIONALIDAD INSTITUCION FIM F.I.U.P.B. POLIT. MILAN NORTEAMERICANA RELATIONAL I ESPAOLA ITALIANA

DE MIGUEL A. ESPAOLA

Conceptos del modelo relacional


E) Claves Clave Candidata: Conjunto no vaco de atributos que identifican unvocamente y mnimamente cada tupla. Toda relacin tendr siempre una clave candidata. Clave Primaria: Clave candidata que el usuario elegir para identificar las tuplas de la relacin. Clave Alternativa: Clave candidata que no ha sido escogida como clave primaria.

Conceptos del modelo relacional


Clave Fornea: De una relacin R2 es un conjunto no vaco de atributos cuyos valores han de coincidir con los valores de la clave primaria de una relacin R1 y ambas han de estar definidas sobre el mismo dominio. (R1 y R2 no necesariamente distintas).

Conceptos del modelo relacional


F) Restricciones: Son estructuras u ocurrencias NO permitidas. Existen dos tipos: 1. Las Inherentes al Modelo Relacional:
a.

Conceptos del modelo relacional


2. De Usuario: Validan las instancias de las relaciones. Se pueden definir como un predicado sobre un conjunto de atributos, de tuplas o de dominios, que debe ser verificado para que constituya una ocurrencia vlida del esquema.
a.

Las derivadas de la definicin matemtica de relacin:

No hay dos tuplas iguales El orden de las tuplas no es significativo El orden de los atributos no es significativo Cada atributo puede tomar un nico valor del dominio.

b. La Regla de Integridad de Entidad que dice : Ningn atributo que forme parte de la clave primaria de una relacin puede tomar un valor nulo ( Nulo es un valor, desconocido, inexistente, inaplicable...)

Restriccin de integridad referencial: Si una relacin R2 (relacin que referencia) tiene un descriptor que es la clave primaria de la relacin R1 (relacin referenciada) todo valor de dicho descriptor debe concordar con un valor de la clave primaria de R1 o ser nulo.

Conceptos del modelo relacional


Ejemplos : EDITORIAL(NOMBRE_E, DIRECCION, CIUDAD, PAIS) LIBRO(CODIGO, TITULO, IDIOMA,...,NOMBRE_E) La clave primaria NOMBRE_E podra ser NULL, ya que en un momento determinado podramos no conocer la editorial de un libro. La clave que referencia a EDITORIAL debe concordar con la clave primaria de EDITORIAL.

El modelo relacional
AUTOR(NOMBRE, NACIONALIDAD, INSTITUCION,....) LIBRO(CODIGO, TITULO, IDIOMA, EDITORIAL,....) ESCRIBE(NOMBRE, CODIGO) Las claves forneas NOMBRE y CODIGO no pueden ser nulos, porque ambas son claves primarias de ESCRIBE. Nota : Adems de definir las claves forneas, hay que definir las consecuencias de las operaciones de borrar y modificar tuplas de la relacin referenciada.

El modelo Conceptos del modelo relacional


b. Operacin restringida (RESTRICT): Para borrar o modificar se debe verificar que no existan tuplas con dicha clave en la relacin que contiene la clave fornea. Por ejemplo, para borrar una editorial, no tiene que haber ningn libro que estuviese publicado por dicha editorial.

El modelo Conceptos del modelo relacional


c. Operacin con transmisin en cascada (CASCADE): El borrar o modificar las tuplas de la relacin que contiene la clave primaria referenciada lleva consigo el borrado o modificacin en cascada de las tuplas de la relacin que contiene la clave fornea. Por ejemplo, al modificar el nombre de la editorial en EDITORIAL, se tendr que modificar tambin dicho nombre en todos los libros publicados por esa editorial.

El modelo Conceptos del modelo relacional


d) Operacin con puesta a nulos (SET NULL): El borrado o la modificacin de tuplas de la relacin que contiene la clave primaria referenciada lleva consigo poner a nulos los valores de las claves forneas de la relacin que referencia. Cuando se borra una editorial, los libros que ha publicado dicha editorial y que se encuentran en LIBRO se les coloque el atributo nombre_e a nulo. Esto es posible si el atributo clave fornea permite el valor nulo.

El modelo Conceptos del modelo relacional


e) Operacin con puesta a valor por defecto (SET DEFAULT): EL borrado o la modificacin de tuplas de la relacin que contiene la clave primaria referenciada lleva consigo poner el valor por defecto a la clave fornea de la relacin que referencia. Este valor debe ser definido al momento de crear la tabla.

El modelo Conceptos del modelo relacional


d) Operacin que desencadena un procedimiento de usuario: En este caso, el borrado o la modificacin de tuplas de la tabla referenciada, pone en marcha un procedimiento definido por el usuario.

Los valores nulos en el modelo relacional


Un valor nulo se puede definir como una marca utilizada para representar informacin desconocida, inaplicable, inasignable, etc. La necesidad de valores nulos est dada por :

NOTA : Es importante en una restriccin el momento en el que sta se verifica dentro de una transaccin. As, si el modo de verificacin es inmediato, la restriccin se verificar al finalizar cada sentencia, mientras que si es diferido, se verificar al finalizar la transaccin.

Existencia de tuplas con ciertos atributos desconocidos en ese momento. Necesidad de aadir un nuevo atributo a una relacin ya existente; atributo que en el momento de introducirse no tendr ningn valor para las tuplas de la relacin. Posibilidad de atributos inaplicables a ciertas tuplas.

Los valores nulos en el modelo relacional


Operaciones con Valores Nulos : Aritmticas (+,-,*, /) Comparacin (=,<>, >, >=,<,<=) Tablas de Verdad con lgica trivaluada o cuatrivaluada para los operadores NOT, AND y OR Algebra Relacional ( unin, interseccin, combinacin) Funciones ( suma, media, varianza)

Los valores nulos en el modelo relacional


Operaciones Aritmticas : Nmero {+, -, *,/} Null = Null Null {+, -, *,/} Null = Null Operaciones de Comparacin : Nmero {=,<>, >, >=,<,<=} Null = False Null {=,<>, >, >=,<,<=} Null = False

Los valores nulos en el modelo relacional


A) Tablas de Verdad: Lgica trivaluada AND V F N V F N V F N F F F N F N OR V F N V F N V V V V F N V N N NOT V F N F V N

Los valores nulos en el modelo relacional


B) Lgica Cuatrivaluada: Diferencia dos tipos importantes de valores nulos:
a. Inaplicables, es decir, no tienen sentido. b. Desconocidos Aplicables, es decir, que momentneamente son desconocidos pero debieran existir y puede que, en algn momento, lleguen a conocerse. c. Se introduce el nulo A ( aplicable) y el nulo I (Inaplicable)

Los valores nulos en el modelo relacional


AND V A F I V V A F I A A A F I F F F F F I I I F I OR V A F I V V V V V A V A A A F V A F F I V A F I NOT V A F I F A V I

Los valores nulos en el modelo relacional


Es importante considerar en los operadores algebraicos los valores nulos para evitar prdidas de informacin a la hora de realizar consultas a las Bases de Datos. Para evitar estos problemas, aparecen nuevos operadores como el de combinacin externa (OUTER JOIN). Debe tenerse otro cuidado con las funciones estadsticas sobre mltiples filas como frecuencias, varianzas y medias. Se debe establecer claramente si en los clculos se tomarn en cuenta o no los valores nulos.

Los valores nulos en el modelo relacional


Algunos Autores promueven evitar los valores nulos mediante la utilizacin de valores por defecto hasta que el problema de la informacin desconocida se entienda mejor (No es recomendable) Se propone: Disear Bases de datos evitando, en la medida de lo posible, los valores nulos y especificar siempre que se pueda la obligatoriedad de los atributos. ( NOT NULL).

Los valores nulos en el modelo relacional


Si por razones de eficiencia o de semntica debemos aceptar los nulos, se recomienda prestar mucha atencin a las operaciones que se realizan y estudiar el tratamiento que hace sobre los valores nulos el producto comercial a utilizar.

Partes del modelo relacional


Parte Esttica (Estructura y Restricciones) Parte Dinmica (transformacin entre estados de la Base de Datos).

Dinmica relacional
Se divide en dos: Algebra Relacional y Clculo Relacional. El Algebra relacional se basa en un conjunto de operadores que operan sobre las relaciones y cuyo resultado es otra relacin. El Clculo Relacional se basa en predicados que definen un estado u objetivo esperado de la BD. Los predicados pueden estar orientados a la tupla o al dominio.

Un conjunto de Operadores O que hacen pasar de un estado origen de la Base de Datos (Bdo) a un estado objetivo de la misma (BDj). O puede ser:
Insercin de Tuplas Eliminacin de Tuplas Modificacin de Tuplas

O(Bdo)= BDj

NOTA: Tanto el estado Origen(o) como el estado Objetivo(j) deben satisfacer las restricciones de integridad esttica.

Algebra relacional
Formada por un conjunto de operadores de alto nivel, que aplicados sobre las relaciones, obtienen relaciones. Esto se llama propiedad de cierre. Son 8 operadores, 5 de los cuales son primitivos. Los operadores son relacionales y se aplican a las Relaciones con el objetivo de formular consultas a la Base de Datos.

Propiedad de cierre
El resultado de aplicar un operador a una o ms relaciones da como resultado una relacin. Sea R1, R2, R relaciones y O un operador:

O R1 = R (El resultado de aplicar el operador O a R1 es una relacin R R1 O R2 = R (El resultado de aplicar el operador O a R1 y R2 es una relacin R)

Restriccin ()
Operador unario y primitivo.Seleccin Mediante una expresin lgica (predicado de seleccin) da como resultado una relacin formada por el subconjunto de tuplas que satisfacen dicha expresin. Por tanto la relacin resultante es un subconjunto horizontal. Operadores de comparacin son (>, <, =, , , ). Operadores lgicos AND, OR, NOT. Operadores aritmticos (+, -, *, /,**). EL grado de la relacin se mantiene. La cardinalidad vara.

Restriccin ()
AUTOR NOMBRE Date, C.J. De Miguel, A. Ceri, S. NACIONALIDAD Norteamericana Espaola Italiana INSTITUCION Relational Ins FIM Politcnico Miln

nacionalidad=Espaola(AUTOR) / operadorpredicado(TABLA) * S(AUTOR,(nacionalidad=Espaola)) / operador(TABLA,(predicado))


NOMBRE De Miguel, A. NACIONALIDAD Espaola INSTITUCION FIM

Proyeccin ()
Operador unario y primitivo. La proyeccin de una relacin sobre un subconjunto de sus atributos es una relacin definida sobre ellos, eliminando las tuplas duplicadas que hubieran podido resultar. Es un subconjunto vertical de la relacin a la que se aplica el operador. El grado n y la cardinalidad m de la relacin vara, es decir, n < n y m m.

Proyeccin ()
AUTOR NOMBRE Date, C.J. De Miguel, A. Ceri, S. NACIONALIDAD Norteamericana Espaola Italiana INSTITUCION Relational Ins FIM Politcnico Miln

nacionalidad, institucion(AUTOR) / operadoratributos(TABLA) * P(AUTOR,(atributo1, atributo2,....)) / operador(TABLA,(atributos))


NACIONALIDAD Norteamericana Espaola Italiana INSTITUCION Relational Ins FIM Politcnico Miln

Unin ()
Operador binario y primitivo. Es la operacin que incluye a todas la tuplas de las relaciones que se unen. Es posible si las tablas tienen el mismo grado y los dominios compatible (generalmente los mismos atributos). Si hubiera alguna tupla repetida slo figura una vez. El grado n = n y la cardinalidad m m
AUTOR NOMBRE Date, C.J. De Miguel, A. Saltor F. Ceri, S. NACIONALIDAD Norteamericana Espaola Espaola Italiana

Unin ()
EDITOR INSTITUCION Relational Ins FIM FI de UPB Politcnico Miln NOMBRE Chen P De Miguel, A. Yao L. Ceri, S. NACIONALIDAD Norteamericana Espaola Norteamericana Italiana INSTITUCION Relational Ins FIM U. NY Politcnico Miln

AUTOR

EDITOR
NOMBRE Date, C.J. De Miguel, A. Saltor F. Chen P Ceri, S. Yao L. NACIONALIDAD Norteamericana Espaola Espaola Norteamericana Italiana Norteamericana INSTITUCION Relational Ins FIM FI de UPB Relational Ins Politcnico Miln U. NY

Diferencia (-)
Operador binario y primitivo. El resultado es una relacin que incluye a todas las tuplas de la primera relacin que no estn en la segunda relacin. Es posible si las tablas tienen el mismo grado y los dominios compatible (generalmente los mismos atributos). Si hubiera alguna tupla repetida slo figura una vez. El grado n = n y la cardinalidad m m
AUTOR NOMBRE Date, C.J. De Miguel, A. Saltor F. Ceri, S. Espaola Espaola Italiana

Diferencia (-)
EDITOR NACIONALIDAD Norteamericana INSTITUCION Relational Ins FIM FI de UPB Politcnico Miln NOMBRE Chen P De Miguel, A. Yao L. Ceri, S. NACIONALIDAD Norteamericana Espaola Norteamericana Italiana INSTITUCION Relational Ins FIM U. NY Politcnico Miln

AUTOR - EDITOR
NOMBRE Date, C.J. Saltor F. NACIONALIDAD Norteamericana Espaola INSTITUCION Relational Ins FI de UPB

Producto cartesiano generalizado ()


Operador binario y primitivo. El resultado incluye a todas las tuplas posibles que se obtienen concatenando una de la primera con otra de la segunda. No es necesario que ambas relaciones tengan el mismo grado y cardinalidad. El grado resultante es mayor (es la sumatoria de ambas relaciones) La cardinalidad resultante es la multiplicacin de ambas cardinalidades, pero las tuplas repetidas se eliminan. Si existen atributos iguales se aplica la notacin tabla.atributo.
1 2

Producto cartesiano generalizado ()


SOCIOS CODIGO NOMBRE Elena Manrquez Manuel Garca DIRECCION Calle 123 Calle 123 LIBROS LIBRO DB Systems Basi di Dati SQL stan. AUTOR Date C.J. Ceri S. Date C. J. EDITORIAL Addison Clup Addison

SOCIOS LIBROS
CODIGO 1 1 1 2 2 2 NOMBRE Elena Manrquez Elena Manrquez Elena Manrquez Manuel Garca Manuel Garca Manuel Garca DIRECCION Calle 123 Calle 123 Calle 123 Calle 123 Calle 123 Calle 123 LIBRO DB Systems Basi di Dati SQL stan. DB Systems Basi di Dati SQL stan. AUTOR Date C.J. Ceri S. Date C. J. Date C.J. Ceri S. Date C. J. EDITORIAL Addison Clup Addison Addison Clup Addison

Interseccin ()
Operador binario y derivado. El resultado es una relacin que incluye a todas las tuplas de la primera relacin que estn en la segunda relacin. Los atributos pertenecen a una de las relaciones. Es necesario que ambas relaciones tengan el mismo grado y dominio compatible (generalmente los mismos atributos).
AUTOR NOMBRE Date, C.J. De Miguel, A. Saltor F. Ceri, S.

Interseccin ()
EDITOR NACIONALIDAD Norteamericana Espaola Espaola Italiana INSTITUCION Relational Ins FIM FI de UPB Politcnico Miln NOMBRE Chen P De Miguel, A. Yao L. Ceri, S. NACIONALIDAD Norteamericana Espaola Norteamericana Italiana INSTITUCION Relational Ins FIM U. NY Politcnico Miln

AUTOR EDITOR
NOMBRE De Miguel, A. Ceri, S. NACIONALIDAD Espaola Italiana INSTITUCION FIM Politcnico Miln

Divisin (:)
Operador binario y derivado. El resultado es una relacin que estar constituida por las tuplas que al completarse con las tuplas de la segunda relacin permiten obtener la primera relacin. Es importante que la R1 debe tener los atributos de R2 y por tanto tener un grado mayor que R2, estando el grado de R2 incluido en el de R1. La cardinalidad de R2 debe ser distinta de cero.
AUTOR NOMBRE Date, C.J. De Miguel, A. Saltor F. Ceri, S. Costilla C. Codd E. De Miguel, A.

Divisin (:)
EDITORIAL NACIONALIDAD Norteamericana Espaola Espaola Italiana Espaola Norteamericana Espaola EDITORIAL Addison Rama Paraninfo Club Daz de Santos Prentice Hall Addison EDITORIAL Addison Rama

AUTOR : EDITORIAL | AUTOR / EDITORIAL


NOMBRE De Miguel, A. NACIONALIDAD Espaola

Combinacin (*) ()
Operador binario y derivado. Join El resultado es el conjunto de todas las tuplas formadas concatenando una de R1 con otra de R2 de manera que se cumpla la condicin. Equiyuncin: Cuando la comparacin es por igualdad (o sea, el operador =). Yuncin Natural: sean R1 y R2 que tienen algunos atributos iguales. La unin natural es el resultado de:
Concatenar todas las tuplas de R1 y R2 (hallar el producto cartesiano). Seleccionar de entre estas tuplas concatenadas las que tengan iguales valores en todas sus columnas homnimas. Suprimir una columna de cada dos homnimas en el resultado.

Combinacin (*) ()
Si R1 y R2 no tienen atributos comunes, la yuncin natural ser igual al producto: R1 * R2 = R1 x R2. Operadores de comparacin (>, <, =, , , ). Los atributos deben pertenecer al mismo dominio para la comparacin.

Combinacin (*) ()
AUTOR NOMBRE Date, C.J. De Miguel, A. Saltor F. Ceri, S. NACIONALIDAD Norteamericana Espaola Espaola Italiana INSTITUCION Relational Ins FIM FI de UPB Politcnico Miln LIBROS LIBRO DB Systems Basi di Dati SQL stan. Diseo de BD AUTOR Date C.J. Ceri S. Date C. J. De Miguel EDITORIAL Addison Clup Addison Rama

AUTOR * LIBROS (autor.nombre=libros.autor)


NOMBRE Date, C.J. De Miguel, A. Date, C.J. Ceri, S. NACIONALIDAD Norteamericana Espaola Norteamericana Italiana INSTITUCION Relational Ins FIM Relational Ins Politcnico Miln LIBRO DB Systems Diseo de BD SQL stan. Basi di Dati EDITORIAL Addison Rama Addison Clup

Vous aimerez peut-être aussi