8/19/2019 UNIDAD I ParteI ModeloRelacional
1/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 1
8/19/2019 UNIDAD I ParteI ModeloRelacional
2/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
UNIDAD ICapitulo 5
El Modelo de Datos Relacional y
Restricciones de la Base de datos
relacional
8/19/2019 UNIDAD I ParteI ModeloRelacional
3/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 3
Esquema
Conceptos Modelo Relacional
Restricciones del Modelo Relacional y
esquemas de bases de datos relacionales
Actualización de Operaciones y Manejo deViolaciones de restricciones
8/19/2019 UNIDAD I ParteI ModeloRelacional
4/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 4
Conceptos de Modelo Relacional
El modelo relacional de datos se basa en el concepto de una relación
La fortaleza del enfoque relacional para la gestión de datos
proviene del fundamento formal previsto por la teoría de las
relaciones
Se revisaran los aspectos esenciales del modelo relacional formal eneste capítulo
En la práctica, hay un modelo estándar basadas en SQL - esto se
describe en los capítulos 8 y 9
Nota: Hay varias diferencias importantes entre el modelo formal y el
modelo de práctica, como veremos
8/19/2019 UNIDAD I ParteI ModeloRelacional
5/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 5
Una relación es un concepto matemático basado en las
ideas de los conjuntos
El modelo fue propuesto por primera vez por el Dr. EF
Codd del departamento de investigaciones de IBM en
1970 en el siguiente documento: "Un modelo relacional
para grandes bancos de datos compartidos,"
Communicaciones del ACM, junio de 1970
El referido documento causo una gran revolución en el
ámbito de la gestión de bases de datos y con este, el Dr.Codd se ganó el codiciado Premio Turing
Conceptos de Modelo Relacional
8/19/2019 UNIDAD I ParteI ModeloRelacional
6/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 6
Definiciones Informales
Informalmente, una relación se parece a una tabla devalores.
Una relación generalmente contiene un conjunto de filas.
Los elementos de datos en cada fila representan ciertos
hechos que corresponden a una entidad del mundo real ode la relación
En el modelo formal, las filas se llaman tuplas
Cada columna tiene un encabezado de columna que da unaidea del significado de los elementos de datos de esa
columna En el modelo formal, la cabecera de la columna se llama
un nombre de atributo (o sólo atributo)
8/19/2019 UNIDAD I ParteI ModeloRelacional
7/43Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 7
Ejemplo de una Relacion
ESTUDIANTE(Nombre, Dni, TlfParticular, Dirección, TlfTrabajo, Edad, Mnc)
Usando los tipos de datos de cada atributo, la definición aparece escrita a veces como:
ESTUDIANTE(Nombre: cadena, Dni: cadena, TlfParticular: cadena, Dirección: cadena,
TlfTrabajo: cadena, Edad: entero, Mnc: real)
8/19/2019 UNIDAD I ParteI ModeloRelacional
8/43Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 8
Clave de una relación:
Cada fila tiene un valor de un elemento de datos (o
conjunto de artículos) que identifica unívocamente
esa fila en la tabla Llamada clave
En la tabla ESTUDIANTE, dni es la clave
A veces los id de fila o números secuenciales se
asignan como claves para identificar las filas de unatabla
Llamadas claves artificiales o sustitutas.
Definiciones Informales
8/19/2019 UNIDAD I ParteI ModeloRelacional
9/43Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 9
Definiciones formales- Esquema
El esquema (o descripción) de una Relación:
Se denota por R (A1, A2, ..... An)
R es el nombre de la relación
Los atributos de la relación son: A1, A2, ..., un
Ejemplo: CLIENTE (Cliente-id, nombre-cliente, dirección, teléfono #)
CLIENTE es el nombre de la relación
Definida por los cuatro atributos: Cliente-id, nombre Cliente, Dirección,
Teléfono #
Cada atributo tiene un dominio o un conjunto de valores válidos. Por ejemplo, el dominio de Cliente-id es de 6 dígitos.
8/19/2019 UNIDAD I ParteI ModeloRelacional
10/43Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 10
Una tupla es un conjunto ordenado de valores (entre
corchetes angulares " ')
Cada valor se deriva de un dominio apropiado.
Una fila de la relación CLIENTE es una de 4-tuplas y estaría
compuesto por cuatro valores, por ejemplo:
Una tupla (fila) en la relación CLIENTE.
Una relación es un conjunto de tales tuplas (filas)
Definiciones formales- tupla
8/19/2019 UNIDAD I ParteI ModeloRelacional
11/43Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 11
Un dominio tiene una definición lógica:
Ejemplo: "USA_phone_numbers" son el conjunto de números de teléfono de 10dígitos válido en los EE.UU.
Un dominio también tiene un tipo de datos o en un formato definido para ello.
El USA_phone_numbers puede tener un formato: (ddd) ddd-dddd donde cada des un dígito decimal.
Fechas tienen formatos diferentes, como el año, mes, fecha con formato dd-mm-dd, o como dd mm aaaa, etc
El nombre del atributo designa el papel desempeñado por un dominio en unarelación:
Se utiliza para interpretar el significado de los elementos de datoscorrespondientes a ese atributo
Ejemplo: El dominio de la fecha puede ser utilizado para definir dos atributos connombre "Factura vigente" y “fecha de pago" con diferentes significados
Definiciones formales- Dominio
8/19/2019 UNIDAD I ParteI ModeloRelacional
12/43Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 12
El estado de la relación es un subconjunto del productocartesiano de los dominios de sus atributos Cada dominio contiene el conjunto de todos los valores posibles
del atributo puede tomar.
Ejemplo: El atributo de nombre de Cliente es definidosobre el dominio de las cadenas de caracteres delongitud máxima 25 dom (nombre-cliente) es de tipo varchar (25)
El papel que estas cadenas juegan en la relación
CLIENTE es el dominio de nombre de un cliente.
Definiciones formales - Estado
8/19/2019 UNIDAD I ParteI ModeloRelacional
13/43Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 13
Formalmente,
Dado R (A1, A2, .........., An)
r (R) dom (A1) X dom (A2) X .... X dom (An)
R (A1, A2, ..., An) es el esquema de la relación
R es el nombre de la relación A1, A2, ..., An son los atributos de la relación
r (R): un estado específico (o "valor" o "población") de la relación R –
esto es un conjunto de tuplas (filas)
r(R) = {t1, t2, …, tn} donde cada ti es una n-tupla
ti = donde cada vj es elemento de dom (Aj)
Definiciones formales- sumario
8/19/2019 UNIDAD I ParteI ModeloRelacional
14/43Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 14
Sea R (A1, A2) un esquema de relación:
Donde dom (A1) = {0,1}
Y donde dom (A2) = {a,b,c}
Entonces: dom (A1) X dom (A2) todas las combinaciones posibles:{ , , , , , }
El estado r relación (R) dom (A1) X dom (A2)
Por ejemplo: r (R) podría ser (>, ,
8/19/2019 UNIDAD I ParteI ModeloRelacional
15/43Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 15
Sumario de Definiciones
Terminos Informales Terminos Formales
Tabla Relacion
Cabecera de Columna Atributo
Todos los valores
posibles de la columna
Dominio
Fila Tupla
Definicion de Tabla Esquema de la Relacion
Tabla Poblada Estado de la Relacion
8/19/2019 UNIDAD I ParteI ModeloRelacional
16/43Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 16
Ejemplo de Relación ESTUDIANTE
8/19/2019 UNIDAD I ParteI ModeloRelacional
17/43Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 17
Caracteristicas de las Relaciones
El Ordenando las tuplas en una relación r (R):
Las tuplas no se considera que están ordenada, apesar de que parecen estar en forma tabular.
El Ordenamiento de los atributos en una relación de
esquema R (y de los valores dentro de cada tupla): Tendremos en cuenta los atributos en R (A1, A2, ...,
An) y los valores de t = será ordenada. (Sin embargo, una definición alternativa más general de
relación no requiere este ordenamiento).
8/19/2019 UNIDAD I ParteI ModeloRelacional
18/43
8/19/2019 UNIDAD I ParteI ModeloRelacional
19/43Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 19
Caracteristicas de las Relaciones
Los valores de una tupla:
Todos los valores se consideran de forma atómica (indivisible).
Cada valor de una tupla debe ser del dominio del atributo para esa
columna
Si la tupla t = es una tupla (fila) en el estado de relación r de R (A1, A2,
..., An) Entonces cada vi debe ser un valor de dom (Ai)
Un valor nulo especial se utiliza para representar los valores que son
desconocidos o inaplicables a ciertas tuplas.
8/19/2019 UNIDAD I ParteI ModeloRelacional
20/43Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 20
Notación:
Nos referimos a valores de los componentes de una
tupla t por:
t [Ai] o t.Ai
Este es el valor del atributo vi Ai de la tupla t
Del mismo modo, t Au [, Av, ..., Aw] se refiere a la
subtupla de t que contiene los valores de los atributos
de Au, Av, ..., Aw, respectivamente, en t
Caracteristicas de las Relaciones
8/19/2019 UNIDAD I ParteI ModeloRelacional
21/43Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 21
Restricciones de Integridad en las Relaciones
Las restricciones son condiciones que deben tener a
todos los Estados relación válida.
Hay tres tipos principales de restricciones en el modelo
relacional:
Las restricciones de Clave
Las restricciones de integridad de Entidad
Las restricciones de integridad referencial
Otra restricción implícita es la restricción de dominio
Todos los valores de una tupla debe ser del dominio de suatributo (o podría ser nulo, si se permite para ese atributo)
8/19/2019 UNIDAD I ParteI ModeloRelacional
22/43Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 22
Restricciones de Clave
Superclave de R:
Es un conjunto de atributos de SK de R con la siguiente condición:
No hay dos tuplas en cualquier relación r estado válido (R) que tengan el
mismo valor para el SK
Es decir, para cualquier tuplas diferentes t1 y t2 de r (R), t1[SK] t2[SK]
Esta condición debe ser principal en cualquier estado válido r (R) Clave de R:
Una superclave es "mínima" para identificar una tupla
Es decir, una clave es una superclave K tal que la eliminación de
cualquier atributo de los resultados de K en un conjunto de atributos que
no es una superclave (no posee la propiedad de unicidad de superclave)
8/19/2019 UNIDAD I ParteI ModeloRelacional
23/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 23
Restricciones de Clave (continuacion)
Ejemplo: Consideremos el esquema de relación COCHE: COCHE (Estado, Reg. #, SerialNo, Marca, modelo, año)
COCHE tiene dos claves:
Clave 1 = (Estado, Reg. #)
Clave 2 = ( SerialNo)
Ambos están también superclaves de la COCHE
(SerialNo, Marca) es una superclave, pero no una tecla. En general:
Cualquier clave puede ser una superclave (pero no al revés)
Cualquier conjunto de atributos que incluye una clave es una superclave
Una superclave mínima es también una clave
8/19/2019 UNIDAD I ParteI ModeloRelacional
24/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 24
Si una relación tiene varias claves candidatas, uno es elegido deforma arbitraria a ser la clave principal. Los atributos clave primaria están subrayados.
Ejemplo: Consideremos el esquema de relación COCHE: Coche (Estado, Reg. #, SerialNo, Marca, modelo, año)
Elegimos SerialNo como la clave principal El valor de la clave principal se utiliza para identificar de forma única
cada tupla en una relación Proporciona la identidad tupla
También se utiliza para hacer referencia a la tupla de otra tupla Regla general: Elegir como clave primaria más pequeña de las claves
candidatas (en términos de tamaño) No siempre aplicable - la elección es a veces subjetiva
Restricciones de Clave (continuacion)
8/19/2019 UNIDAD I ParteI ModeloRelacional
25/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 25
La tabla con dos claves candidatas –
NumeroPermisoConducir se escogio como llave primaria
8/19/2019 UNIDAD I ParteI ModeloRelacional
26/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 26
Esquema de Base de Datos Relacional
Esquema de bases de datos relacional :
Un conjunto S de los esquemas de relación que pertenecen a la
misma base de datos.
S es el nombre del esquema de base de datos completa
S = (R1, R2, ..., Rn) R1, R2, ..., Rn son los nombres de los esquemas de relación
individual dentro de la base de datos S
La siguiente diapositiva muestra un esquema de base de
datos EMPRESA con 6 esquemas de relación
8/19/2019 UNIDAD I ParteI ModeloRelacional
27/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 27
Esquema de Base de Datos Empresa
8/19/2019 UNIDAD I ParteI ModeloRelacional
28/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 28
Integridad de entidad
Entidad de Integridad:
La clave principal de cada uno de los atributos PK esquema de
relación R en S no puede tener valores nulos en cualquier tupla
de r (R).
Esto se debe a los valores de clave primaria se utilizan paraidentificar las tuplas individuales.
t[PK] nula para cualquier tupla t en r (R)
Si PK tiene varios atributos, los valores nulos no se permite en
ninguno de estos atributos
Nota: Otros atributos de R puede ser obligado a no permitirvalores nulos, a pesar de que no son miembros de la clave
principal.
8/19/2019 UNIDAD I ParteI ModeloRelacional
29/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 29
Integridad referencial
En una restricción participan dos relaciones
Las restricciones anteriores implican una relación
única.
Se utiliza para especificar una relación entre lastuplas de dos relaciones:
La relación referenciada y la relación que hace
referencia.
8/19/2019 UNIDAD I ParteI ModeloRelacional
30/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 30
Las tuplas en la relación referenciada R1 tienen
atributos FK (llamados atributos clave foránea) que
hacen referencia a la clave principal atributos PK de la
relación R2 a la que se hace referencia.
Una tupla t1 en R1 se dice para hacer referencia a una tupla t2en R2, si t1 [FK] = t2 [PK].
Una restricción de integridad referencial se pueden
mostrar en un esquema de base de datos relacional
como un arco dirigido desde R1.FK a R2.
Integridad referencial
8/19/2019 UNIDAD I ParteI ModeloRelacional
31/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 31
Restricción de Integridad Referencial
(o llave foránea)
Declaración de la restricción
El valor de la columna(o columnas) de clave foránea FK de la
relación que hace referencia a la R1 puede ser:
(1) un valor existente de los valores de clave principal de un
correspondiente clave primaria PK en la relación R2 a la que sehace referencia, o
(2) un valor nulo.
En el caso de (2), el FK en R1 no debe ser una parte de
su propia clave principal.
8/19/2019 UNIDAD I ParteI ModeloRelacional
32/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 32
Mostrar el esquema de Base de
Datos relacional y sus restricciones
Cada esquema de relación se puede mostrar como unafila de nombres de atributos
El nombre de la relación se escribe por encima de losnombres de los atributos
El atributo de clave principal (o atributos) se subrayará Una clave externa (integridad referencial) las
restricciones se muestran como un arco dirigido (flecha)de los atributos clave foránea a la tabla referenciada
Puede también señalarse la clave primaria de larelación a la que se hace referencia para mayorclaridad
Diapositiva siguiente se muestra el diagrama delesquema relacional de EMPRESA
8/19/2019 UNIDAD I ParteI ModeloRelacional
33/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 33
Restricciones de Integridad Referencial para la Base de Datos
EMPRESA
8/19/2019 UNIDAD I ParteI ModeloRelacional
34/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 34
Otros tipos de restricciones
Restricciones semánticas de Integridad:
basados en la semántica de las aplicaciones y no puede ser
expresado por el modelo en sí mismo
Ejemplo: "al máximo. no. de horas por empleado en todos los
proyectos que él o ella trabaja es de 56 horas por semana “ Un lenguaje de especificación de restricción puede ser
utilizado para expresar estas
SQL-99 permite a los factores disparadores(triggers)y las
afirmaciones (assertions) de expresar algunas de estas
8/19/2019 UNIDAD I ParteI ModeloRelacional
35/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 35
Estados de Base de Datos Probladas
Cada relación tendrá muchas tuplas en su estado actualrelación
El estado base de datos relacional es una unión de todos
los estados individuales de la relación
Siempre que se cambia la base de datos, surge un nuevoestado
Operaciones básicas para el cambio de la base de datos:
INSERTAR una nueva tupla en una relación
ELIMINAR una tupla de una relación existente
MODIFICAR un atributo de una tupla existentes
La Diapositiva siguiente muestra un ejemplo del estado
de la base de datos EMPRESA
8/19/2019 UNIDAD I ParteI ModeloRelacional
36/43
Slide 5- 36
Estado
Poblado de
la Base de
Datos
EMPRESA
O i d A t li (U d t )
8/19/2019 UNIDAD I ParteI ModeloRelacional
37/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 37
Operaciones de Actualizar(Update) en
las Relaciones
INSERTAR una tupla.
ELIMINAR una tupla.
MODIFICAR una tupla.
Las restricciones de integridad no deben ser violadas por
las operaciones de actualización.
Varias operaciones de actualización tienen que estar
agrupadas.
Las actualizaciones se pueden propagar a causa de
otras actualizaciones de forma automática. Esto puede
ser necesario para mantener las restricciones de
integridad.
O i d A t li (U d t )
8/19/2019 UNIDAD I ParteI ModeloRelacional
38/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 38
En caso de violación de integridad, las acciones se
pueden tomar varias:
Cancelar la operación que hace que la violación (RESTRINGIR o
la opción RECHAZAR)
Realice la operación, pero informar al usuario de la violación Las actualizaciones adicionales son disparadas(Trigger) por lo
que la violación es corregida (opción CASCADE, opción SET
NULL)
Ejecutar una rutina de corrección de error especificado por el
usuario
Operaciones de Actualizar(Update) en
las Relaciones
P ibl i l i d
8/19/2019 UNIDAD I ParteI ModeloRelacional
39/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 39
Posibles violaciones por cada
operación
INSERTAR(INSERT) puede violar una de las restricciones siguientes:
Restricción de Dominio:
Si uno de los valores de los atributos proporcionados para la nueva
tupla no es del dominio atributo especificado.
Restricción de clave:
Si el valor de un atributo clave en la nueva tupla ya existe en otra tupla
en la relación.
La integridad referencial:
Si un valor de clave foranea en la nueva tupla es referenciada a un
valor de clave principal que no existe en la relación a la que se hace
referencia. Entidad de la integridad:
Si el valor de clave principal es nula en la nueva tupla.
P ibl i l i d
8/19/2019 UNIDAD I ParteI ModeloRelacional
40/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 40
ELIMINAR(DELETE) sólo puede violar la integridad referencial:
Si el valor de clave principal de la tupla se va a eliminar es referenciada
desde otras tuplas en la base de datos
Puede ser subsanada por varias acciones: RESTRICT, CASCADE, SET
NULL (véase el capítulo 8 para más detalles)
La opción RESTRICT: rechazar la supresión La opción CASCADE: propagar el nuevo valor de clave principal en las claves
externas de la referencia a las tuplas
Las opciones SET NULL: conjunto las claves externas de la referencia a las tuplas
en NULL
Una de las opciones anteriores se debe especificar durante el diseño de
base de datos para cada restricción de clave externa
Posibles violaciones por cada
operación
P ibl i l i d
8/19/2019 UNIDAD I ParteI ModeloRelacional
41/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 41
ACTUALIZAR(UPDATE) puede violar las restricciones de dominio y
restricción NOT NULL en un atributo que se modifique
Cualquiera de las otras limitaciones que también puede ser violada,
según el atributo se actualiza:
Actualización de la clave principal (PK):
Similar a un DELETE seguido de una instrucción INSERT
Necesita especificar las opciones similares a DELETE
Actualización de una clave externa (FK):
Puede violar la integridad referencial
Actualización de un atributo común (ni PK tampoco FK): ¿Puede, además de violar las restricciones de dominio
Posibles violaciones por cada
operación
8/19/2019 UNIDAD I ParteI ModeloRelacional
42/43
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 42
Sumario
Presentado Conceptos Modelo Relacional.
Definiciones.
Características de las relaciones.
Discusión de las Restricciones Modelo Relacional y esquemas de bases de
datos relacionales.
Restricciones de dominio. Las restricciones de Clave.
Integridad de Entidad .
La integridad referencial.
Se describió Operaciones relacionales de actualización y Tratamiento de los
Violaciones a restricciones.
8/19/2019 UNIDAD I ParteI ModeloRelacional
43/43
Ejercicios en Clase
Considere las siguientes relaciones para una base de datos que mantiene un registro de matriculación en
los cursos y los libros adoptados para cada curso:
ESTUDIANTE (Carnet, nombre, Carrera, fnac)
CURSO (Número de curso, Nombrecurso, Departamento)
INSCRIPCION (Carnet, Número de curso, NumCiclo, Nota)
LIBRO_ADOPTADO (Número de curso, NumCiclo, ISBN)
TEXTO (ISBN, Titulo, editorial, autor)
CICLO (Numciclo, Fini, Ffin )
Dibuje un diagrama de esquema relacional especificando las claves foraneas de este esquema.
Top Related