Bases de Datos Andrea Rodr´ıguez Introducci´ on Objetivos
Conceptos B´ asicos
Modelo Relacional: Conceptos M. Andrea Rodr´ıguez-Tastets Universidad de Concepci´ on,Chile www.inf.udec.cl\ ∼andrea
[email protected]
II Semestre - 2013
Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez
Introducci´ on Objetivos
Introducci´ on Objetivos
Conceptos B´ asicos
Conceptos B´ asicos Dominio Atributos Relaci´on Claves Nomenclatura Restricciones del Modelo Esquema versus bases de Datos Desde E/R al Modelo Relacional
Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez
Objetivos de la Unidad Introducir los conceptos b´asicos asociados con los elementos estructurales del Modelo Relacional y la Nomenclatura ¿Qu´ e se debe saber al t´ ermino de la Unidad? I
¿Cu´ales son los distintos tipos de claves en el modelo relacional?
I
¿Por qu´e las tuplas en un modelo relacional no se repiten?
I
¿Cu´ales son los distintos tipos de restricciones de integridad propias de un modelo relacional?
I
Si tengo que cada persona s´ olo puede tener un empleador, ¿C´ omo se refleja eso en un modelo relacional?
I
¿Qu´e implica que una integridad referencial sea sobre la misma relaci´ on?
Introducci´ on Objetivos
Conceptos B´ asicos Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on Objetivos
Evoluci´ on A˜ no 1968-1970 1970... 1973-1978 1979 1981 1982 1984 1986 1990 1992 1996 1999 2000 2000
Conceptos B´ asicos Suceso Surge el Modelo Relacional (Codd). Aparece el concepto de relaci´ on: tabla Desarrollo te´ oricos: ej: ´ algebra relacional (Codd, 1972) Prototipos (Ingres, Sistema R, etc.) Oracle SQL Sybase, Informix SQL/ANS SQL ISO Modelo Relacional versi´ on 2 (RM/V2) Codd. Nulos SQL2 est´ andar SQL2 Con Procedimientos Almacenados SQL3 est´ andar (incluye OO, recursi´ on) SQL3/MM Bases de Datos Multimediales SQLJ: Integracin con Java
Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on Objetivos
Objetivos I
I
Independencia f´ısica: el modo en el que se almacenan los datos no influye en su manipulacin l´ ogica y, por tanto, los usuarios que acceden a esos datos no tienen que modificar sus programas por cambios en el almacenamiento f´ısico. Independencia l´ ogica: el a˜ nadir, eliminar o modificar objetos de la base de datos no repercute en los programas y/o usuarios que est´an accediendo a subconjuntos parciales de los mismos (vistas).
Conceptos B´ asicos Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on Objetivos
Conceptos B´ asicos
I
Flexibilidad: en el sentido de poder presentar a cada usuario los datos de la forma en que ´este prefiera.
I
Uniformidad: las estructuras l´ ogicas de los datos presentan un aspecto uniforme, lo que facilita la concepci´ on y manipulaci´ on de la base de datos por parte de los usuarios.
I
Sencillez: las caracter´ısticas anteriores, asi como unos lenguajes de usuario muy sencillos, producen como resultado que el modelo de datos relacional sea f´acil de comprender y de utilizar por parte del usuario final
Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on Objetivos
Conceptos B´ asicos
Conceptos B´ asicos I
La base de datos es vista como una colecci´ on de relaciones.
I
Una relaci´ on puede ser vista como una tabla, con filas llamadas tuplas y con cabecera de columnas llamadas atributos
Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on Objetivos
Conceptos B´ asicos Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Elemento estructural Relaci´ on Tupla Atributo Cardinalidad Grado Dominio Clave primaria
Elemento F´ısico Tabla Fila o Registro (s´ olo a nivel f´ısico) Columna o Campo (s´ olo a nivel f´ısico) N´ umero de filas o tuplas/registro (s´ olo a nivel f´ısico) N´ umero de atributos o columnas Colecci´ on de valores, de los cuales uno o m´ as atributos obtienen sus valores reales. Conjunto de valores v´ alido Identificador u ´nico para la tabla, es decir, una columna o combinaci´ on de columnas con la propiedad de que nunca existen 2 filas de la tabla con el mismo valor en esa columna o combinaci´ on de columnas
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on
Terminolog´ıa Estructural
Objetivos
Conceptos B´ asicos
Grado Clave primaria Nombre
Nacionalidad
Institución
Dominios
AUTOR NOMBRE: Nombre
NACIONALIDAD: I N S T I T U C I O N : Nacionalidad Institución
Date C.J.
Norteamericana
Relational Ins.
De Miguel
Española
FIM
Saltor F.
Española
FI de UPB
Ceri S.
Italiana
Polit.Milan
Chen P.
Norteamericana
ER Ins.
Yao L.
Norteamericana
U.NY
Atributos
Tuplas Cardinalidad
Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on Objetivos
Conceptos B´ asicos Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Estructuras Atributo
cabecera Tupla
Cuerpo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Concepto de Dominio
Bases de Datos Andrea Rodr´ıguez
I
I
Un Dominio D es un conjunto finito de valores homog´eneos y at´ omicos V1 , V2 , . . . , Vn caracterizados por un nombre. Homog´eneo significa que los valores son todos del mismo tipo y at´ omicos significa que son indivisibles, es decir, si se descomponen se perder´ıa la sem´antica 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 m´axima de 10. Se pueden asociar unidades de medida, como metros, kilos, etc. y otras restricciones.
I
Se considera que los dominios no incluyen nulos, ya que nulo (null) no es un valor.
I
La importancia de los dominios es que restringen las comparaciones, es decir, s´ olo se pueden comparar atributos definidos sobre el mismo dominio.
Introducci´ on Objetivos
Conceptos B´ asicos Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on Objetivos
Atributos I
Un atributo A es el papel que tiene un determinado dominio D en una relaci´ on.
I
Es usual dar el mismo nombre al atributo y al dominio subyacente.
I
En el caso de que sean varios los atributos de una misma tabla, definidos sobre el mismo dominio, habr´a que darles nombres distintos, ya que una tabla no puede tener dos atributos con el mismo nombre.
Conceptos B´ asicos Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez
Relaci´ on I
I
I
Una relaci´ on 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´a formada por un conjunto de atributos o, en t´erminos m´as precisos, de pares atributo-dominio {(A1 : D1 ), (A2 : D2 ), . . . , (An : Dn )}, donde cada atributo Aj corresponde a uno y s´ olo uno de los dominios subyacentes Dj (j = 1, 2, . . . , n). El cuerpo est´a formado por un conjunto de tuplas, que var´ıa en el tiempo. Cada tupla est´a formada por pares atributo-valor {(A1 : vi1 ), (A2 : vi2 ), . . . , (An : vin )} (i = 1, 2, . . . , m), donde m es el n´ umero de tuplas del conjunto.
Introducci´ on Objetivos
Conceptos B´ asicos Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on Objetivos
Conceptos B´ asicos
Relaci´ on
Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
I
Los valores m y n se llaman cardinalidad y grado, respectivamente.
I
La cardinalidad var´ıa con el tiempo, el grado no.
Esquema versus bases de Datos
I
Intensi´ on (esquema) de una relaci´ on:
Desde E/R al Modelo Relacional
AUTOR(NOMBRE: Nombre, NACIONALIDAD: Nacionalidad,INSTITUCION: Instituci´ on)
Bases de Datos Andrea Rodr´ıguez Introducci´ on Objetivos
Conceptos B´ asicos
Extensi´ on de una Relaci´ on
AUTOR NOMBRE Date, C.J. De Miguel, A. Ceri,S.
NACIONALIDAD Norteamericana Espa˜ nola Italiana
INSTITUCION Relational Ins. FIM Polit´ ecnico Mil´ an
Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez
Propiedades de las Relaciones
Introducci´ on Objetivos
I
No existen tuplas duplicadas
I
Debido a que el cuerpo de una relaci´ on es un conjunto matem´atico. Por esto existe una diferencia entre relaci´on y tabla (las tablas pueden tener filas duplicadas). Lamentablemente SQL permite que las tablas tengan filas duplicadas.
I
Las tuplas est´an en desorden
I
Debido a la misma raz´ on anterior: el cuerpo es un conjunto matem´atico. No existe el concepto de direccionamiento posicional (“la tupla siguiente”, “la primera tupla”).
I
Esta noci´ on es manejada por los lenguajes que forman parte de la interfaz de los programas de aplicaci´ on.
Conceptos B´ asicos Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on
Propiedades: Atributos en Desorden
Objetivos
Conceptos B´ asicos
I
Los atributos est´an en desorden. Surge del hecho de que el encabezado de una relaci´ on es un conjunto de atributos. Sin embargo, nosotros siempre consideramos el orden en el cual los atributos son listados en el esquema.
I
Cada tupla contiene exactamente un valor para cada atributo. Esta propiedad surge de la definici´ on del cuerpo de una relaci´ on. Todas las relaciones est´an normalizadas o est´an en primera forma normal.
I
Un esquema de una relaci´ on se puede interpretar como una declaraci´ on o aserci´ on. Cada tupla como un hecho.
Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos
Claves I
I
Una clave candidata de una relaci´ on es un conjunto no vac´ıo de atributos que identifican un´ıvoca cada tupla. Toda relaci´ on siempre tendr´a una clave candidata. Clave primaria es aquella clave candidata que el usuario elegir´a, por consideraciones ajenas al modelo relacional, para identificar las tuplas de la relaci´ on. El modelo relacional no incluye este concepto de elegir una clave como primaria, cuando hay varias candidatas.
I
Clave alternativas son aquellas claves candidatas que no han sido escogidas como claves primarias.
I
Clave ajena o for´anea de una relaci´ on R2 es un conjunto no vac´ıo 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.
Andrea Rodr´ıguez Introducci´ on Objetivos
Conceptos B´ asicos Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on Objetivos
Conceptos B´ asicos Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos EDITORIAL(NOMBRE E, DIRECCION, CIUDAD, PAIS ); PK: NOMBRE E LIBRO( CODIGO,TITULO,IDIOMA,...., NOMBRE E ); PK:CODIGO FK:NOMBRE E de EDITORIAL
Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez
Nomenclatura I
Un esquema de relaci´ on R de grado n se denotar´a R(A1 , A2 , . . . , An ).
I
Una n−tupla t de una relaci´ on r (R) se denotar´a con t =< v1 , v2 , . . . , vn >, donde vi es el valor que corresponde al atributo Ai . La siguiente notaci´ on se refiere a los valores componentes de las tuplas: I Tanto T [A ] como t.A se refiere al valor v de t para el i i i atributo Ai . I t[A , A , . . . , A ] y t.(A , A , . . . , A ) es una lista de u w z u w z atributos de R, se refiere a la subtupla de valores < vu , vw , . . . , vz > de t que corresponden a los atributos especificados en la lista.
Introducci´ on Objetivos
Conceptos B´ asicos Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on Objetivos
Concepto de Integridad I
Las restricciones son reglas que siempre deben cumplirse de modo de apoyar la integridad de la base de datos (es decir, que la base de datos cumpla fielmente con el mundo modelado).
I
Las restricciones no tratan de la verdad o falsedad de los datos
I
Las restricciones tratan con la consistencia de los datos respecto a un modelo de la realidad
Conceptos B´ asicos Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez
Restricciones
Introducci´ on Objetivos
I
Restricci´ on de dominio: El valor de cada atributo A debe ser un valor at´ omico del dominio dom(A).
Restricci´ on de clave: Dos tuplas no pueden tener la misma clave. I Integridad de la entidad: Ning´ un atributo que forme parte de la clave primaria de una relaci´ on puede tomar un valor nulo. I
I
Integridad referencial: Si una relaci´ on R2 (relaci´ on que referencia) tiene un descriptor que es la clave primaria de la relacin R1 (relaci´ on 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 for´anea de la relaci´ on R2 .
Conceptos B´ asicos Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on Objetivos
Conceptos B´ asicos
Integridad Referencial EDITORIAL(NOMBRE E, DIRECCION, CIUDAD, PAIS ); PK: NOMBRE E LIBRO(CODIGO,TITULO,IDIOMA,...., NOMBRE E ); PK:CODIGO FK:NOMBRE E de EDITORIAL
Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos
I
La clave for´ anea, NOMBRE E podra ser null, ya que en un momento determinado podr´ıamos no conocer la editorial de un libro.
I
Esta clave que referencia a EDITORIAL debe concordar con la clave primaria de EDITORIAL.
Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on Objetivos
Conceptos B´ asicos
Integridad Referencial AUTOR(NOMBRE A, NACIONALIDAD,INSTITUCION ); PK: NOMBRE A LIBRO(CODIGO,TITULO,IDIOMA,...., NOMBRE E ); PK:CODIGO ESCRIBE(NOMBRE,CODIGO); PK:NOMBRE+CODIGO FK: NOMBRE de AUTOR, CODIGO de LIBRO
I
Las claves for´ aneas NOMBRE y CODIGO no pueden ser nulos, porque ambas son la clave primaria de ESCRIBE.
Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on Objetivos
Esquemas versus Base de Datos I
Un esquema de base de datos relacional S es un conjunto de esquemas de relaci´ on R = {R1 , R2 , . . . , RM } y un conjunto de restricciones de integridad RI .
I
Un estado de base de datos DB de S es unconjunto de estados de relaciones DB = {r1 , r2 , . . . , rm } tal que los estados de relaci´ on ri satisfacen las restricciones de integridad RI .
Conceptos B´ asicos Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on
E/R a Relacional: Reglas Generales I
Cada conjunto de relaciones es reemplazado por una relaci´on con los mismo atributos.
I
Reemplace una relaci´ on del E/R por una relaci´ on cuyos atributos son las claves para contectar ambos conjuntos de entidades.
I
Algunos casos especiales son: (1) conjuntos de entidades d´ebiles, (2) ISA relaciones, (3) a veces es mejor combinar dos relaciones, especialmente cuando se tiene una relaci´ on de uno a muchos.
Objetivos
Conceptos B´ asicos Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on
Relaciones D´ ebiles
Objetivos
Conceptos B´ asicos
I
La relaci´ on para una entidad d´ebil W debe incluir no s´olo los atributos de W sino que tambi´en los atributos claves del otro conjunto de entidades des cual es d´ebil.
I
La relaci´ on para cualquier relaci´ on del E/R en la que aparezca el conjunto de entidades debe usar como clave todos los atributos claves de ambos la entidad d´ebil y la otra soportante de la cual es suberdinada.
I
El conjunto de entidades soportante, sin embargo, no necesariamente debe ser convertida a una relaci´ on debido a su cardinalidad de 1 a muchos.
Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on
ISA Jerarqu´ıas Alternativas 1. Por cada conjunto de entidades E en la jerarqu´ıa cree una relaci´ on que incluya los atributos clave desde la ra´ız y cualquier atributo perteneciente a E . 2. Por cada sub´arbol incluyendo la ra´ız, cree una relaci´ on con todos los atributos de todos los conjunto de entidades del sub´arbol. 3. Cree una relaci´ on con todos los atributos de los conjuntos de entidades pertenecientes a la jerarqu´ıa.
Objetivos
Conceptos B´ asicos Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
Bases de Datos Andrea Rodr´ıguez Introducci´ on Objetivos
Conceptos B´ asicos
ISA Jerarqu´ıas: comparaci´ on 1. Es caro responder consultas que envuelven varias relaciones.
Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
2. Tampoco se quiere tener que recuperar una relaci´ on muy grande.
Esquema versus bases de Datos
3. No se quiere usar muchas relaciones.
Desde E/R al Modelo Relacional
4. Se quiere ahorrar espacio y evitar redundancia.
Bases de Datos Andrea Rodr´ıguez
Ejercicio (1)
Introducci´ on
Escriba el modelo relacional del siguiente modelo ER. nacionalidad
Objetivos
Conceptos B´ asicos
fecha nacimiento estilo (1,1)
(1,n) apodo artístico
artista
expone
nombre
fecha inicio, fecha término
exposición
(1,n)
Esquema versus bases de Datos
(1,n)
presenta
crea (1,n) (1,1)
tipo
pieza
Desde E/R al Modelo Relacional
fecha (0,1) compra (1,n)
cliente
título
dirección
nombre precio
Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
grupos monto comprado
Bases de Datos
Ejercicio (2) Escriba el modelo relacional del siguiente modelo ER. B1
A2
Andrea Rodr´ıguez Introducci´ on Objetivos
(0,N)
A
A1
(0,N)
R1
(0,1)
B2 B
(0,N)
(1,1)
(1,N)
F
R3
R2
(1,1) (0,N)
C1
C
C2
R4
R5
(1,1)
D
D
(p,o)
E1
Dominio Atributos Relaci´ on Claves Nomenclatura Restricciones del Modelo
Esquema versus bases de Datos Desde E/R al Modelo Relacional
(0,N)
D1
Conceptos B´ asicos
E
G (0,N)
G1
(0,1) R6