03 Modelo Relacional
-
Upload
kudos-ltda -
Category
Technology
-
view
43.989 -
download
1
description
Transcript of 03 Modelo Relacional
Apuntes 2005, Fundamentos de Sistema de Bases de datos, Elmasri and Navathe 1
Modelo Relacional (1):Conceptos básicos
II - Semestre 2006
2
Evolución del MR
SQLJ: Integración con Java2000
SQL3/MM Bases de Datos Multimediales2000
SQL3 estándar (incluye OO, recursión)1999
SQL2 Con Procedimientos Almacenados1996
SQL2 estándar.1992
Modelo Relacional versión 2 (RM/V2) Codd. Nulos1990
SQL ISO1986
SQL/ANS1984
Sybase, Informix1982
SQL1981
Oracle1979
Prototipos (Ingres, Sistema R, etc.)1973-1978
Desarrollo teóricos: ej: álgebra relacional (Codd,1972).
1970...
Surge el Modelo Relacional (Codd). Aparece elconcepto de relación: tabla.
1968-1970
SucesosAños
3
Modelo Relacional
Aspectos Estructurales de los Datos-ParteEstructural
Aspectos de Integridad de Datos
4
Objetivos del Modelo Relacional
Independencia física: el modo en el que sealmacenan los datos no influye en sumanipulación lógica y, por tanto, losusuarios que acceden a esos datos notienen que modificar sus programas porcambios en el almacenamiento físico.
5
Objetivos del Modelo Relacional
Independencia lógica: el añadir, eliminar omodificar objetos de la base de datos norepercute en los programas y/o usuarios queestán accediendo a subconjuntos parcialesde los mismos (vistas).
6
Objetivos del Modelo Relacional
Flexibilidad: en el sentido de poderpresentar a cada usuario los datos de laforma en que éste prefiera.
Uniformidad: las estructuras lógicas de losdatos presentan un aspecto uniforme, lo quefacilita la concepción y manipulación de labase de datos por parte de los usuarios.
7
Objetivos del Modelo Relacional
Sencillez: las características anteriores, asícomo unos lenguajes de usuario muysencillos, producen como resultado que elmodelo de datos relacional sea fácil decomprender y de utilizar por parte delusuario final.
8
Conceptos del ModeloRelacional
La base de datos es vista como unacolección de relaciones.
Un relación puede ser vista como una tabla,con filas llamadas tuplas y con cabecera decolumnas llamadas atributos
9
Terminología Estructural
Identificador único para la tabla, es decir, unacolumna o combinación de columnas con lapropiedad de que nunca existen 2 filas de la tabla conel mismo valor en esa columna o combinación decolumnas
Clave primaria
Colección de valores, de los cuales uno o masatributos obtienen sus valores reales. Conjunto devalores válidos
Dominio
Número de atributos/columnasGrado
Número de filas/tuplas/registro (sólo a nivel físico)Cardinalidad
Columna/Campo (sólo a nivel físico)Atributo
Fila / Registro (sólo a nivel físico)Tupla
TablaRelación
10
Estructuras del MR Dominio: Un Dominio D es un conjunto
finito de valores homogéneos y atómicosV1, V2, ...Vn caracterizados por un nombre.
Atributo: Un atributo A es el rol que tiene undeterminado dominio D en una relación.
Relación: es el producto cartersianodefinido sobre n dominios
11
Terminología Estructural
U.NYNorteamericanaYao L.
ER Ins.NorteamericanaChen P.
Polit.MilanItalianaCeri S.
FI de UPBEspañolaSaltor F.
FIMEspañolaDe Miguel
Relational Ins.NorteamericanaDate C.J.
I N S T I T U C I O N :Institución
NACIONALIDAD:Nacionalidad
NOMBRE: Nombre
AUTOR
Tuplas
Nombre Nacionalidad InstituciónDominios
Atributos
Grado
Cardinalidad
Clave primaria
12
Atributo i ∈ Di
cabecera
Relación de grado m y cardinalidad n
Tupla
Atributo
Intensión o Esquema de la Relación: R(Atributo 1:D1, Atributo 2:D2, ....Atributo m:Dm)
Cuerpo
•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 sólo puede tomar un único valor del dominio ( no hay grupos repetitivos )
Estructuras del MR
13
Concepto de Dominio Un Dominio D es un conjunto finito de valores homogéneos y atómicos
V1, V2, ...Vn caracterizados por un nombre. Homogéneo significa que losvalores son todos del mismo tipo y atómicos significa que son indivisibles,es decir, si se descomponen se perdería la semántica del dominio.
Ejemplos:Dominio de Nacionalidades: Chilena, Francesa, Norteamericana, etc.
Todo dominio tiene un nombre y un tipo de datos, en el ejemplo anterior, eltipo de datos es un conjunto de caracteres de longitud máxima de 10. Sepueden asociar unidades de medida, como metros, kilos, etc. y otrasrestricciones.
Se considera que los dominios no incluyen nulos, ya que nulo (null) no esun valor.
La importancia de los dominios es que restringen las comparaciones, esdecir, solo se pueden comparar atributos definidos sobre el mismodominio.
14
Concepto de Atributo Un atributo A es el papel que tiene un determinado
dominio D en una relación 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 unatabla no puede tener dos atributos con el mismonombre
15
Concepto de Relación
Una relación R sobre un conjunto de dominiosD1,D2,...Dn -no necesariamente todos distintos-, secompone de dos partes: una cabecera y un cuerpo(Date).
La cabecera está formada por un conjunto de atributoso, en términos más precisos, de pares atributo-dominio{(A1:D1), (A2:D2),...., (An:Dn)}, donde cada atributoAj corresponde a uno y solo uno de los dominiossubyacentes Dj (j=1,2,...,n).
El cuerpo está formado por un conjunto de tuplas, quevaría en el tiempo. Cada tupla está formada por paresatributo-valor {(A1:vi1), (A2:vi2),....,(An:vin)}(i=1,2,...,m), donde m es el numero de tuplas delconjunto.
16
Concepto de Relación
Los valores m y n se llaman cardinalidad ygrado respectivamente. La cardinalidadvaría con el tiempo, el grado no.
Intensión (esquema) de una relación:AUTOR(NOMBRE: Nombre,NACIONALIDAD: Nacionalidad,INSTITUCION: Institución)
17
Concepto de Relación
Extensión de una relación:
Politecnico MilanItalianaCeri,S.FIMEspañolaDe Miguel, A.Relational Ins.NorteamericanaDate, C.J.INSTITUCIONNACIONALIDADNOMBRE
AUTOR
18
Propiedades de las relaciones
No existen tuplas duplicadas Debido a que el cuerpo de una relación es un conjunto
matemático. Por esto existe una diferencia entre relación ytabla (las tablas pueden tener filas duplicadas).Lamentablemente SQL permite que las tablas tengan filasduplicadas.
Las tuplas están en desordenDebido a la misma razón anterior: el cuerpo es un conjuntomatemático. No existe el concepto de direccionamientoposicional (“la tupla siguiente”, “la primera tupla”). Esta nociónes manejada por los lenguajes que forman parte de la interfazde los programas de aplicación.
19
Propiedades de las relaciones
Los atributos están en desordenSurge del hecho de que el encabezado de unarelación es un conjunto de atributos.
t = <Nombre, N>, <Rut, xxxxxx-k>,<Edad, yy>t = <Rut, xxxxxx-k>,<Edad, yy>,<Nombre, N>
20
Propiedades de las relaciones
Cada tupla contiene exactamente un valor paracada atributoEsta propiedad surge de la definición del cuerpo deuna relación. Todas las relaciones estánnormalizadas o están en primera forma normal.
Un esquema de una relación se puede interpretarcomo una declaración o aserción. Cada tuplacomo un hecho.
21
Claves Una clave candidata de una relación es un conjunto
no vacío de atributos que identifican unívoca cadatupla. Toda relación siempre tendrá una clavecandidata.
Clave primaria: es aquella clave candidata que elusuario elegirá, por consideraciones ajenas almodelo relacional, para identificar las tuplas de larelación. El modelo relacional no incluye esteconcepto de elegir una clave como primaria,cuando hay varias candidatas.
22
Claves Clave alternativas: Son aquellas claves candidatas
que no han sido escogidas como claves primarias. Clave ajena o foránea: de una relación R2 es un
conjunto no vacío de atributos cuyos valores hande coincidir con los valores de la clave primaria deuna relación R1 (R1 y R2 no son necesariamentedistintas). Notar que la clave ajena y lacorrespondiente clave primaria han de estardefinidas sobre los mismos dominios.
23
Clave foránea
EDITORIAL( NOMBRE_E, DIRECCION,CIUDAD, PAIS ); PK: NOMBRE_E
LIBRO( CODIGO,TITULO,IDIOMA,....,NOMBRE_E ); PK:CODIGO
FK:NOMBRE_E de EDITORIAL
24
Restricciones del MR
Las restricciones son reglas quesiempre deben cumplirse de modode apoyar la integridad de la basede datos (que ésta sea un modelofiel del mundo)
25
Restricciones del MRRestricción de dominio. El valor decada atributo A debe ser un valoratómico del dominio dom(A).
Restricción de clave: Dos tuplas nopueden tener la misma clave.
26
Restricciones del MR
Integridad de la entidad. Ningúnatributo que forme parte de la claveprimaria de una relación puedetomar un valor nulo.
27
Restricciones del MRIntegridad referencial: Si una relaciónR2 (relación que referencia) tiene undescriptor que es la clave primaria de larelación R1 (relación referenciada), todovalor de dicho descriptor debeconcordar con un valor de la claveprimaria de R1 o ser nulo. El descriptores una clave ajena o foránea de larelación R2.
28
Regla de Integridad Referencial
EDITORIAL( NOMBRE_E, DIRECCION, CIUDAD,PAIS ); PK: NOMBRE_E
LIBRO( CODIGO,TITULO,IDIOMA,...., NOMBRE_E );PK:CODIGO FK:NOMBRE_E
La clave foránea, NOMBRE_E podría ser null, ya queen un momento determinado podríamos no conocer laeditorial de un libro.
Esta clave que referencia a EDITORIAL debeconcordar con la clave primaria de EDITORIAL.
29
Regla de Integridad referencial 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 foráneas NOMBRE y CODIGO nopueden ser nulos, porque ambas son la claveprimaria de ESCRIBE
30
Bases de Datos Relacionalesy Esquemas de datos
Un esquema de base de datos relacional Ses un conjunto de esquemas de relacionesS = {R1, R2, …, Rm} y un conjunto derestricciones de integridad RI.
Un estado de base de datos DB de S es unconjunto de estados de relaciones DB = {r1,r2,…rm}tal que los estados de relaciones risatisfacen las restricciones de integridad RI.