Documentos de Académico
Documentos de Profesional
Documentos de Cultura
03 Modelo Relacional3542
03 Modelo Relacional3542
II - Semestre 2006
Evolucin del MR
Aos
1968-1970 1970... 1973-1978 1979 1981 1982 1984 1986 1990 1992 1996 1999 2000 2000
Sucesos
Surge el Modelo Relacional (Codd). Aparece el concepto de relacin: tabla. Desarrollo tericos: ej: lgebra relacional (Codd, 1972). Prototipos (Ingres, Sistema R, etc.) Oracle SQL Sybase, Informix SQL/ANS SQL ISO Modelo Relacional versin 2 (RM/V2) Codd. Nulos SQL2 estndar. SQL2 Con Procedimientos Almacenados SQL3 estndar (incluye OO, recursin) SQL3/MM Bases de Datos Multimediales SQLJ: Integracin con Java 2
Modelo Relacional
Independencia fsica: el modo en el que se almacenan los datos no influye en su manipulacin lgica y, por tanto, los usuarios que acceden a esos datos no tienen que modificar sus programas por cambios en el almacenamiento fsico.
Independencia lgica: el aadir, eliminar o modificar objetos de la base de datos no repercute en los programas y/o usuarios que estn accediendo a subconjuntos parciales de los mismos (vistas).
Flexibilidad: en el sentido de poder presentar a cada usuario los datos de la forma en que ste prefiera. Uniformidad: las estructuras lgicas de los datos presentan un aspecto uniforme, lo que facilita la concepcin y manipulacin de la base de datos por parte de los usuarios.
Sencillez: las caractersticas anteriores, as como unos lenguajes de usuario muy sencillos, producen como resultado que el modelo de datos relacional sea fcil de comprender y de utilizar por parte del usuario final.
La base de datos es vista como una coleccin de relaciones. Un relacin puede ser vista como una tabla, con filas llamadas tuplas y con cabecera de columnas llamadas atributos
Terminologa Estructural
Relacin Tupla Atributo Cardinalidad Grado Dominio Tabla Fila / Registro (slo a nivel fsico) Columna/Campo (slo a nivel fsico) Nmero de filas/tuplas/registro (slo a nivel fsico) Nmero de atributos/columnas Coleccin de valores, de los cuales uno o mas atributos obtienen sus valores reales. Conjunto de valores vlidos Identificador nico para la tabla, es decir, una columna o combinacin de columnas con la propiedad de que nunca existen 2 filas de la tabla con el mismo valor en esa columna o combinacin de columnas
9
Clave primaria
Estructuras del MR
Dominio: Un Dominio D es un conjunto finito de valores homogneos y atmicos V1, V2, ...Vn caracterizados por un nombre. Atributo: Un atributo A es el rol que tiene un determinado dominio D en una relacin. Relacin: es el producto cartersiano definido sobre n dominios
10
Terminologa Estructural
Grado
Clave primaria Nombre Nacionalidad Institucin
Dominios
AUTOR NOMBRE: Nombre Date C.J. De Miguel Saltor F. Ceri S. Chen P. Yao L. NACIONALIDAD: I N S T I T U C I O N : Nacionalidad Institucin Norteamericana Espaola Espaola Italiana Norteamericana Norteamericana
Atributos
Tuplas
Cardinalidad
11
Estructuras del MR
Atributo i Di
cabecera
Tupla Cuerpo
Intensin o Esquema de la Relacin: R(Atributo 1:D1, Atributo 2:D2, ....Atributo m:Dm) 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 slo puede tomar un nico valor del dominio ( no hay grupos repetitivos )
12
Concepto de Dominio
Un Dominio D es un conjunto finito de valores homogneos y atmicos V1, V2, ...Vn caracterizados por un nombre. Homogneo significa que los valores son todos del mismo tipo y atmicos significa que son indivisibles, es decir, si se descomponen se perdera la semntica del dominio. Ejemplos: Dominio de Nacionalidades: Chilena, Francesa, Norteamericana, etc. Todo dominio tiene un nombre y un tipo de datos, en el ejemplo anterior, el tipo de datos es un conjunto de caracteres de longitud mxima de 10. Se pueden asociar unidades de medida, como metros, kilos, etc. y otras restricciones. Se considera que los dominios no incluyen nulos, ya que nulo (null) no es un valor. La importancia de los dominios es que restringen las comparaciones, es decir, solo se pueden comparar atributos definidos sobre el mismo dominio.
13
Concepto de Atributo
Un atributo A es el papel que tiene un determinado dominio D en una relacin Es usual dar el mismo nombre al atributo y al dominio subyacente En el caso de que sean varios los atributos de una misma tabla, definidos sobre el mismo dominio, habr que darles nombres distintos, ya que una tabla no puede tener dos atributos con el mismo nombre
14
Concepto de Relacin
Una relacin R sobre un conjunto de dominios D1,D2,...Dn -no necesariamente todos distintos-, se compone de dos partes: una cabecera y un cuerpo (Date). La cabecera est formada por un conjunto de atributos o, en trminos ms precisos, de pares atributo-dominio {(A1:D1), (A2:D2),...., (An:Dn)}, donde cada atributo Aj corresponde a uno y solo uno de los dominios subyacentes Dj (j=1,2,...,n). El cuerpo est formado por un conjunto de tuplas, que vara en el tiempo. Cada tupla est formada por pares atributo-valor {(A1:vi1), (A2:vi2),....,(An:vin)} (i=1,2,...,m), donde m es el numero de tuplas del conjunto.
15
Concepto de Relacin
Los valores m y n se llaman cardinalidad y grado respectivamente. La cardinalidad vara con el tiempo, el grado no. Intensin (esquema) de una relacin: AUTOR(NOMBRE: Nombre, NACIONALIDAD: Nacionalidad, INSTITUCION: Institucin)
16
Concepto de Relacin
Extensin de una relacin:
AUTOR NOMBRE Date, C.J. De Miguel, A. Ceri,S. NACIONALIDAD Norteamericana Espaola Italiana INSTITUCION Relational Ins. FIM Politecnico Milan
17
No existen tuplas duplicadas Debido a que el cuerpo de una relacin es un conjunto matemtico. Por esto existe una diferencia entre relacin y tabla (las tablas pueden tener filas duplicadas). Lamentablemente SQL permite que las tablas tengan filas duplicadas. Las tuplas estn en desorden Debido a la misma razn anterior: el cuerpo es un conjunto matemtico. No existe el concepto de direccionamiento posicional (la tupla siguiente, la primera tupla). Esta nocin es manejada por los lenguajes que forman parte de la interfaz de los programas de aplicacin.
18
Los atributos estn en desorden Surge del hecho de que el encabezado de una relacin es un conjunto de atributos.
19
Cada tupla contiene exactamente un valor para cada atributo Esta propiedad surge de la definicin del cuerpo de una relacin. Todas las relaciones estn normalizadas o estn en primera forma normal. Un esquema de una relacin se puede interpretar como una declaracin o asercin. Cada tupla como un hecho.
20
Claves
Una clave candidata de una relacin es un conjunto no vaco de atributos que identifican unvoca cada tupla. Toda relacin siempre tendr una clave candidata. Clave primaria: es aquella clave candidata que el usuario elegir, por consideraciones ajenas al modelo relacional, para identificar las tuplas de la relacin. El modelo relacional no incluye este concepto de elegir una clave como primaria, cuando hay varias candidatas.
21
Claves
Clave alternativas: Son aquellas claves candidatas que no han sido escogidas como claves primarias. Clave ajena o 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 (R1 y R2 no son necesariamente distintas). Notar que la clave ajena y la correspondiente clave primaria han de estar definidas sobre los mismos dominios.
22
Clave fornea
EDITORIAL( NOMBRE_E, DIRECCION, CIUDAD, PAIS ); PK: NOMBRE_E LIBRO( CODIGO,TITULO,IDIOMA,...., NOMBRE_E ); PK:CODIGO FK:NOMBRE_E de EDITORIAL
23
Restricciones del MR
Las restricciones son reglas que siempre deben cumplirse de modo de apoyar la integridad de la base de datos (que sta sea un modelo fiel del mundo)
24
Restricciones del MR
Restriccin de dominio. El valor de cada atributo A debe ser un valor atmico del dominio dom(A). Restriccin de clave: Dos tuplas no pueden tener la misma clave.
25
Restricciones del MR
Integridad de la entidad. Ningn atributo que forme parte de la clave primaria de una relacin puede tomar un valor nulo.
26
Restricciones del MR
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. El descriptor es una clave ajena o fornea de la relacin R2.
27
EDITORIAL( NOMBRE_E, DIRECCION, CIUDAD, PAIS ); PK: NOMBRE_E LIBRO( CODIGO,TITULO,IDIOMA,...., NOMBRE_E ); PK:CODIGO FK:NOMBRE_E La clave fornea, NOMBRE_E podra ser null, ya que en un momento determinado podramos no conocer la editorial de un libro. Esta clave que referencia a EDITORIAL debe concordar con la clave primaria de EDITORIAL.
28
AUTOR( NOMBRE, NACIONALIDAD, INSTITUCION, ....); PK:NOMBRE LIBRO( CODIGO, TITULO, IDIOMA, EDITORIAL,...); PK:CODIGO ESCRIBE( NOMBRE, CODIGO ); PK:NOMBRE+CODIGO FK:NOMBRE de AUTOR, CODIGO de LIBRO Las claves forneas NOMBRE y CODIGO no pueden ser nulos, porque ambas son la clave primaria de ESCRIBE
29
Un esquema de base de datos relacional S es un conjunto de esquemas de relaciones S = {R1, R2, , Rm} y un conjunto de restricciones de integridad RI. Un estado de base de datos DB de S es un conjunto de estados de relaciones DB = {r1,r2,rm} tal que los estados de relaciones ri satisfacen las restricciones de integridad RI.
30