UNIVERSIDAD
CENTRAL DEL
ECUADOR
DIEGO VÁSQUEZ
2. MODELO RELACIONAL DE
DATOS
Objetivos
•
Comprender los
principios estructurales
del modelo de
datos relacional formal
•
Entender los conceptos
integridad de entidad
e
integridad referencial
, y apreciar su importancia
•
Entender los significados e implicaciones del concepto
nulo
en el modelo relacional
•
Comprender el concepto
vista relacional
, y la
problemática asociada a la modificación de datos a
través de vistas
•
Conocer los lenguajes formales
álgebra relacional
y
2. MODELO RELACIONAL DE
DATOS
Contenidos
2.1 Presentación y orígenes del modelo
relacional
2.2 Estructura de datos relacional
2.3 Características generales de integridad de
datos
2.4 Manipulación de datos: lenguajes relacionales
2.4.1 Álgebra relacional
2.4.2 Cálculo relacional de tuplas
2.4.3 SQL-92
2. MODELO RELACIONAL DE DATOS
Bibliografía
[EN 2002] Elmasri, R.; Navathe, S.B.:
Fundamentos de Sistemas de Bases de Datos. 3ª Edición. Addison-Wesley. (Cap. 7, 8 y 9)
[EN 1997] Elmasri, R.; Navathe, S.B.: Sistemas de bases de datos. Conceptos fundamentales. 2ª Edición. Addison-Wesley Iberoamericana. (Cap. 6 y 7)
[D 2001] Date, C.J.: Introducción a los sistemas de bases de datos. 7ª Edición. Prentice-Hall. (Cap. 3 al 9)
[SKS 1998] Korth, H; Silberschatz, A., Sudarshan, S.: Fundamentos de bases de datos. 3ª Edición. McGraw-Hill. (Cap. 3 y 4)
2.1 PRESENTACIÓN Y
ORÍGENES DEL MR
•
Introducido por Codd, 1970
•
Es un Modelo de Datos Lógico de Representación
-(basado en registros)
•
El modelo más usado en las aplicaciones comerciales de
procesamiento de datos convencional
•
Dividido en 3 partes:
1. Estructura de Datos
2. Integridad de Datos (características generales)
3. Manipulación de Datos
Base de Datos = Conjunto de Relaciones
•
Relación
– Estructura de datos fundamental del modelo
– Tiene un nombre y representa una entidad genérica
– Conjunto de tuplas
• Cada tupla representa una entidad concreta
– Compuesta de atributos con nombre (y dominio)
• Cada atributo representa un atributo de la entidad
– Representada mediante una tabla con filas y columnas
• Modelo basado en Teoría matemática
– Analogía entre “Relación” (concepto matemático) y “Tabla” – Teoría de Conjuntos y Lógica de Predicados de 1er orden
» Sólida Base Formal
Tema 2. Modelo relacional de datos
2.2 Estructura de datos relacional
título director género rodaje nacionalidad duración
Amores Perros A. González Drama 2000 México 145 The Matrix A. Wachowsky Ciencia-ficción 1999 EEUU 138 Torrente S. Segura Comedia 1997 España 110 Nos miran N. López Policiaco 2001 España 118 Amelie J. P. Jeunet Comedia 2001 Francia 122 Los lunes al sol F. León Drama 2002 España 117
tuplas c a rd in a li d a d grad o atributos
La relación PELICULA
---Ciencia-ficción, Drama,Thriller, Comedia... ---2002, 1997, 1999, 2001, 1994, 1972... Italia,Argentina, España, EEUU,
Francia,Japón.. --- ---
---d
o
m
in
io
Términos básicos
2.2 Estructura de datos relacional
Modelo Relacional Procesamiento de Ficheros
Formal SQL-92
Relación Tabla Fichero
Tupla Si la tupla t está en la relación R, entonces tR Fila Registro concreto
Atributo Debe tener un nombre único dentro de cada relación cabecera deColumna Nombre deCampo de registro
Cardinalidad nº de tuplas en una relación =
Grado nº atributos en una relación =
Tema 2. Modelo relacional de datos
•
Conjunto de valores atómicos
del mismo tipo, donde
toman su valor los atributos
– La definición de dominios forma parte de la definición de la BD
– Cada atributo definido sobre un ÚNICO dominio OBLIGATORIO
– Si A, B representan un mismo concepto, A y B con mismo dominio – Dominio D puede contener valores no tomados por ningún atributo
{valores de A}
Dominio(A)
• Comparaciones Restringidas a Dominio
– La comparación de dos atributos sólo tiene sentido si ambos toman valores del mismo dominio
– Si el SGBD soporta dominios, podrá detectar este tipo de errores
Definiciones formales: DOMINIO
Una relación
R
, sobre conjunto de dominios
D
1,
D
2...
D
nse compone de dos partes
:
•
Esquema
o CabeceraConjunto de pares Atributo:Dominio
{ (A
1:D
1), (A
2:D
2) ... (A
n:D
n) }
– Cada
A
j tiene asociado sólo unD
j– Los
D
i no tienen por qué ser distintos entre sí•
Estado
, Cuerpo o Instancia– Conjunto de tuplas que contiene en un instante concreto – tupla = conjunto de pares Atributo:Valor
{ { (A
:v
), (A
:v
) ... (A
:v
) } },
donde i=1..mDefiniciones formales: RELACIÓN
(1)Tema 2. Modelo relacional de datos
Un esquema de relación:
PELICULA (titulo:Titulos, duracion:Tiempo, director:Nombres, estreno:Fechas)
Un estado de la relación:
{ { (titulo:Torrente), (duracion:110), (director:S.Segura), (estreno:1997) }
{ (titulo:The Matrix), (duracion:138), (director:A.Wachowski), (estreno:1999) } ... }
• El estado de una relación es variable en el tiempo
– nuevas tuplas, modificación o borrado de existentes
• El esquema no suele variar
costoso:
· reescritura de “miles” de tuplas
· ¿valores de nuevos atributos para tuplas ya existentes?
– Suele incluir un conjunto de Reglas de Integridad (se verá)
Definiciones formales: RELACIÓN
(2)•
Propiedades
de una Relación
1.
No
existen
tuplas
repetidas
2.
Las
tuplas no
están
ordenadas
3.
Los
atributos
no
están
ordenados
esquema = conjunto de pares Atributo:Dominio
4.
Los
valores
de
atributos
son
Atómicos
dominio = conjunto de valores atómicos Intersección fila/columna = un solo valor (no lista de valores)
Si R cumple esta propiedad, R está en 1FN
estado = conjunto matemático de tuplas
Definiciones formales: RELACIÓN
(3)Tema 2. Modelo relacional de datos
• FORMAS NORMALES
R está en <determinada> FN si
cumple <cierto> conjunto de condiciones o restricciones
necesarias para estar bien diseñada
de acuerdo con el modelo relacional de datos.
• Toda relación ha de estar en 1FN
(estructura de datos simple)Definiciones formales: RELACIÓN
(4)•
Relación vs. Tabla
– Relación
: Representación abstracta de un elemento de datos– Tabla
: Representación concreta de tal elemento abstracto– Ventajas
Representación muy sencilla (tabla) del elemento abstracto básico (relación) del Modelo Relacional
Fácil de utilizar, entender, razonar... – Inconveniente
Aparente orden entre filas y entre columnas de la tabla
Definiciones formales: RELACIÓN
(5)Tema 2. Modelo relacional de datos
• Percibida por usuarios
como una
colección de relaciones
– de diversos grados (nº de atributos)– que varían con el tiempo (nº de tuplas, estado)
• Las relaciones (tablas) son la
estructura lógica de la BD
– Niveles externo y conceptual
ANSI/X3/SPARC
• Toda BDR cumple el
Principio de Información
:
Todo contenido de información de la BD está representado
de una y sólo una forma: como
valores
explícitos
dentro de posiciones de columnas dentro de filas dentro de tablas
• Conexión lógica entre Relaciones
(vínculo
ointerrelación
)– Representada mediante valores
– No existen punteros (visibles al usuario)
Definiciones formales: BD RELACIONAL
(1)• En una BDR distinguimos...
–
Esquema
de base de datos
Descripción de la base de datos
Conjunto de esquemas de relación
PELICULA ( titulo:Títulos, director:Nombres, género:Géneros, rodaje:Años, nacionalidad:Países, duración:Tiempo )
ACTOR ( nombre:Nombres, nombreArtistico: Nombres, agente:Nombres, cache:Dinero )
DIRECTOR ( nombre:Nombres, nacionalidad:Países, operaPrima:Títulos ) ...
–
Estado
o instancia de base de datos
Visión del contenido de la base de datos en cierto instante
Conjunto de estados de relación
Definiciones formales: BD RELACIONAL
(2)Tema 2. Modelo relacional de datos
• Todo
estado
de BD
refleja la realidad
– es un modelo de una porción del mundo real (minimundo)
• Algunas configuraciones de valores NO tienen SENTIDO
– pues no representan ningún estado posible del minimundo
2 personas distintas con el mismo DNI
Un empleado sin NSS
Un alumno con -29 años
Una película sin director
Definición de la BD (esquema) necesita incluir
REGLAS DE INTEGRIDAD
Claves Candidatas y Primarias
• Informan al SGBD de
restricciones del mundo real
• Así, el SGBD evita configuraciones de datos imposibles
• Aumentan la capacidad expresiva del modelo relacional
• Cumplen que:
• Forman parte de la base de datos
• Se cumplen para cualquier estado de la BD
• No varían con el tiempo
•
Son específicas de cada BD
particular, pero el
Modelo Relacional incluye...
características generales de integridad
importantes y necesarias en
toda
BD
2.3 Características generales de
integridad de datos
Tema 2. Modelo relacional de datos