ESCUELA:
NOMBRES:
BASE DE DATOS I
CICLO
Ciencias de la Computación
Ing. Juan Carlos Morocho
OCTUBRE 2009 – FEBRERO 2010
1
BIMESTRE: I BIMESTRE
Capítulo 3
El modelo relacional
© Pearson Education Limited 1995, 2005
3
Capítulo 3 - Objetivos
La terminología del modelo relacional Cómo se utilizan las tablas para representar
datos. La conexión entre las relaciones matemáticas y
las relaciones usadas en el modelo relacional. Las propiedades de las relaciones de bases de
datos. Cómo identificar claves candidatas, principales,
alternativas y externas. El significado de la integridad de las entidades y
de la integridad referencial. El propósito y las ventajas de las vistas en los
sistemas relacionales.
Terminología del modelo relacional
Una relación es una tabla con columnas y filas. Sólo se aplica a la estructura lógica de la
base de datos, no a la física.
Un atributo es una columna nominada de una relación.
Un dominio es un conjunto de valores permitidos para uno o más atributos.
Terminología del modelo relacional
Una tupla es una fila de una relación.
El grado es el número de atributos que contiene.
La cardinalidad es el número de tuplas que contiene.
Una base de datos relacional es una colección de relaciones normalizadas en la que cada relación tiene un nombre distintivo.
Instancias de las relaciones Branch y Staff
AtributosR
ela
ció
nR
ela
ció
n
Ca
rdin
alid
ad
GradoClave primaria
Clave externa
Ejemplos de dominios para algunos atributos
Atributo Nombre de dominioSignificado Definición del dominio
Conjunto de todos los posibles números de sucursalCarácter: tamaño 4, rango D001-B999
Conjunto de los nombres de calles en Gran BretañaCarácter: tamaño 25
Nombres de ciudadConjunto de los nombres de ciudad en Gran Bretaña Carácter: tamaño 15
Códigos postales Conjunto de los códigos postales de Gran Bretaña
Carácter: tamaño 8
Sexo El sexo de la persona
Fechas de nacimiento
Nombres de calle
Números de sucursal
Salarios
Posibles fechas de nacimiento de un empleado
Posibles salarios de un empleado
Carácter: tamaño 1, valor M o F.
Fecha, rango desde el 1-Enero-20, formato dd-mmm-yy
Monetario: 7 dígitos, rango 6000,00-40000,00
Terminología alternativa del modelo relacional
Términos formales Alternativa 1 Alternativa 2
Relación
Tupla
Atributo
Tabla
Fila
Columna
Archivo
Registro
Campo
Definición matemática de relación
Tenemos dos conjuntos, D1 y D2, donde D1 = {2, 4} y D2 = {1, 3, 5}.
El producto cartesiano, D1 ´ D2, es el conjunto de todas las parejas ordenadas, tales que el primer elemento de la pareja es un miembro de D1 y el segundo elemento es miembro de D2.
D1 ´ D2 = {(2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4,
5)}
Una forma alternativa consiste en hallar todas las combinaciones de elementos que pueden formarse tomando el primero de D1 y el segundo de D2.
Definición matemática de relación Cualquier subconjunto del producto cartesiano
será una relación. Ej.R = {(2, 1), (4, 1)}
Podemos especificar qué parejas ordenadas formarán una relación indicando alguna condición de selección. Ej. El segundo elemento es 1:
R = {(x, y) | x ÎD1, y ÎD2, y y = 1}
El primer elemento siempre es igual a dos veces al segundo:S = {(x, y) | x ÎD1, y ÎD2, y x = 2y}
11
Relaciones en una base de datos
Esquema de relación Una relación denominada definida por
un conjunto de parejas de atributos y nombres de dominio.
Esquema de la base de datos relacional Un conjunto de esquemas de relación,
cada uno con un nombre distintivo.
© Pearson Education Limited 1995, 2005
Propiedades de las relaciones
La relación tiene un nombre distinto de los demás nombres de relación del esquema relacional.
Cada celda de la relación contiene exactamente un valor atómico (único).
Cada atributo tiene un nombre distintivo.
Los valores de un atributo pertenecen todos al mismo dominio.
Propiedades de las relaciones
Cada tupla es diferente; no hay tuplas duplicadas.
El orden de los atributos no tiene importancia.
El orden de las tuplas no tiene importancia, teóricamente.
Claves relacionales
Superclave Un atributo o conjunto de atributos, que
identifica de forma unívoca cada tupla dentro de una relación.
Clave candidata Una superclave tal que ningún
subconjunto propio de la misma es una superclave de la relación.
En cada tupla de R, los valores de K identifican unívocamente a la tupla.
Claves relacionales Clave principal
La clave candidata seleccionada para identificar las tuplas de forma unívoca dentro de la relación.
Claves alternativas Las claves candidatas que no han sido
seleccionadas para ser claves principales.
Clave externa Un atributo o conjunto de atributos dentro
de una relación que se corresponde con la clave candidata de alguna (posiblemente la misma) relación.
Restricciones de integridad Valor nulo
Representa un valor para un atributo que es actualmente desconocido o no es aplicable a esta tupla.
Representa la ausencia de valor y no es lo mismo que un valor numérico cero o una cadena de texto llena de espacios, dado que estos son valores.
Restricciones de integridad
Integridad de entidad En una relación base ningún atributo de
la clave principal puede ser nulo.
Integridad referencial Si hay una clave externa en una relación
el valor de la clave externa debe corresponderse con el valor de una clave candidata de alguna tupla en su relación de origen o el valor de la clave externa debe ser completamente nulo.
Restricciones de integridad
Restricciones generales Son reglas adicionales especificadas
por los usuarios o administradores de la base de datos que definen o restringen algún aspecto de la organización.
Vistas
Relación base Una relación nominada correspondiente a
una entidad del esquema conceptual y cuyas tuplas están almacenadas físicamente en una base de datos.
Vista El resultado dinámico de una o más
operaciones relacionales que operan sobre las relaciones base para producir otra relación.
Vistas Relaciones virtuales que no tienen por qué
existir necesariamente en la base de datos sino que se pueden producir cuando se solicite por parte de un usuario concreto, generándose en el momento de la solicitud.
Los contenidos de la vista se definen mediante una consulta sobre una o más relaciones base.
Las vistas son dinámicas, lo que significa que los cambios que se hagan en las relaciones base que afectan a la vista se reflejan inmediatamente en esta.
Propósito de las vistas Proporcionan un mecanismo de seguridad
potente y flexible al ocultar partes de la base de datos a ojos de ciertos usuarios.
Permiten a los usuarios acceder a los datos de una forma personalizada para sus necesidades, de tal forma que los mismos datos pueden ser vistos de forma distinta por diferentes usuarios simultáneamente.
Pueden simplificar las operaciones complejas sobre las relaciones base.
Actualizaciones de las vistas
Todas las actualizaciones efectuadas en una relación base deben verse inmediatamente reflejadas en todas las vistas que hagan referencia a esa relación base.
Si se actualiza una vista, la relación base subyacente debe reflejar el cambio.
Actualizaciones de las vistas
Existen restricciones en los tipos de modificaciones que pueden efectuarse mediante vistas:
Están permitidas las actualizaciones mediante una vista que esté definida utilizando una consulta simple en la que esté involucrada una única relación base y que contenga la clave principal o una clave candidata de la relación base.
Actualizaciones de las vistas
No se permiten las actualizaciones mediante vistas que impliquen múltiples relaciones base.
No se permiten las actualizaciones mediante vistas que impliquen operaciones de agregación o de agrupación.