03 Modelo Relacional

30
Apuntes 2005, Fundamentos de Sistema de Bases de datos, Elmasri and Navathe 1 Modelo Relacional (1): Conceptos básicos II - Semestre 2006

description

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

Transcript of 03 Modelo Relacional

Page 1: 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

Page 2: 03 Modelo Relacional

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

Page 3: 03 Modelo Relacional

3

Modelo Relacional

Aspectos Estructurales de los Datos-ParteEstructural

Aspectos de Integridad de Datos

Page 4: 03 Modelo Relacional

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.

Page 5: 03 Modelo Relacional

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).

Page 6: 03 Modelo Relacional

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.

Page 7: 03 Modelo Relacional

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.

Page 8: 03 Modelo Relacional

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

Page 9: 03 Modelo Relacional

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

Page 10: 03 Modelo Relacional

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

Page 11: 03 Modelo Relacional

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

Page 12: 03 Modelo Relacional

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

Page 13: 03 Modelo Relacional

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.

Page 14: 03 Modelo Relacional

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

Page 15: 03 Modelo Relacional

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.

Page 16: 03 Modelo Relacional

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)

Page 17: 03 Modelo Relacional

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

Page 18: 03 Modelo Relacional

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.

Page 19: 03 Modelo Relacional

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>

Page 20: 03 Modelo Relacional

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.

Page 21: 03 Modelo Relacional

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.

Page 22: 03 Modelo Relacional

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.

Page 23: 03 Modelo Relacional

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

Page 24: 03 Modelo Relacional

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)

Page 25: 03 Modelo Relacional

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.

Page 26: 03 Modelo Relacional

26

Restricciones del MR

Integridad de la entidad. Ningúnatributo que forme parte de la claveprimaria de una relación puedetomar un valor nulo.

Page 27: 03 Modelo Relacional

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.

Page 28: 03 Modelo Relacional

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.

Page 29: 03 Modelo Relacional

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

Page 30: 03 Modelo Relacional

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.