Está en la página 1de 30

Modelo Relacional (1): Conceptos bsicos

II - Semestre 2006

Apuntes 2005, Fundamentos de Sistema de Bases de datos, Elmasri and Navathe

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

Aspectos Estructurales de los Datos-Parte Estructural Aspectos de Integridad de Datos

Objetivos del 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.

Objetivos del Modelo Relacional

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

Objetivos del Modelo Relacional

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.

Objetivos del Modelo Relacional

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.

Conceptos del Modelo Relacional

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

Relational Ins. FIM FI de UPB Polit.Milan ER Ins. U.NY

Tuplas
Cardinalidad

11

Estructuras del MR
Atributo i Di
cabecera
Tupla Cuerpo

Relacin de grado m y cardinalidad n


Atributo

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

Propiedades de las relaciones

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

Propiedades de las relaciones

Los atributos estn en desorden Surge del hecho de que el encabezado de una relacin es un conjunto de atributos.

t = <Nombre, N>, <Rut, xxxxxx-k>,<Edad, yy> t = <Rut, xxxxxx-k>,<Edad, yy>,<Nombre, N>

19

Propiedades de las relaciones

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

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

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 forneas NOMBRE y CODIGO no pueden ser nulos, porque ambas son la clave primaria de ESCRIBE

29

Bases de Datos Relacionales y Esquemas de datos

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

También podría gustarte