03 Modelo Relacional

Post on 16-Jun-2015

43.989 views 1 download

description

Curso Bases de datos. Tomado de http://www.inf.udec.cl/~andrea/cursos/Database/datos.html

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.