Modelo Relacional
Modelo Relacional
Modelo Relacional
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
problemtica asociada a la modificacin de datos a
travs de vistas
Conocer los lenguajes formales lgebra relacional y
clculo relacional de tuplas, as como el lenguaje
relacional estndar SQL-92
Tema 2. Modelo relacional de datos 1
2. Modelo relacional de
datos
Contenidos
2.1 Presentacin y orgenes del modelo relacional
2.2 Estructura de datos relacional
2.3 Caractersticas generales de integridad de
datos
2.4 Manipulacin de datos: lenguajes relacionales
2.4.1 lgebra relacional
2.4.2 Clculo relacional de tuplas
2.4.3 SQL-92
Bibliografa
Dividido en 3 partes:
1. Estructura de Datos
2. Integridad de Datos (caractersticas generales)
3. Manipulacin de Datos
nacionalida
ttulo director gnero rodaje duracin
d
Amores Perros A. Gonzlez Drama 2000 Mxico 145
The Matrix A. Wachowsky Ciencia-ficcin 1999 EEUU 138
cardinalid
tupla
Nos miran N. Lpez Policiaco 2001 Espaa 118 s
Amelie J. P. Jeunet Comedia 2001 Francia 122
Los lunes al sol F. Len Drama 2002 Espaa 117
atributos
grad
o 6
Tema 2. Modelo relacional de datos
2.2 Estructura de datos relacional
Trminos bsicos
Procesamiento
Modelo Relacional de Ficheros
Formal SQL-92
Relacin Tabla Fichero
Si la tupla t est en la Registro
Tupla relacin R, entonces tR
Fila
concreto
Debe tener un nombre Nombre de
cabecera de
Atributo nico dentro de cada Campo de
relacin Columna
registro
Cardinalida n de tuplas en una
=
d relacin
n atributos en una
Grado relacin
=
coleccin de valores
Dominio permitidos para ciertos =
atributos
Tema 2. Modelo relacional de datos 7
2.2 Estructura de datos
relacional
Definiciones formales: DOMINIO
Conjunto de valores atmicos del mismo tipo,
donde toman su valor los atributos
Esquema o Cabecera
Conjunto de pares Atributo:Dominio
{ (A1:D1), (A2:D2) ... (An:Dn) }
Cada Aj tiene asociado slo un Dj
Los Di no tienen por qu ser distintos entre s
Un estado de la relacin:
{ { (titulo:Torrente), (duracion:110), (director:S.Segura), (estreno:1997) }
{ (titulo:The Matrix), (duracion:138), (director:A.Wachowski), (estreno:1999) }
... }
El estado de una relacin es variable en el tiempo
nuevas tuplas, modificacin o borrado de existentes
Ventajas
Representacin muy sencilla (tabla) del elemento
abstracto bsico (relacin) del Modelo Relacional
Fcil de utilizar, entender, razonar...
Inconveniente
Aparente orden entre filas y entre columnas de la tabla
Diagrama Referencial
Expresin de la existencia de Claves Ajenas
Camino Referencial
LIBRO ttulo isbn autor editorial ... EDITORIAL nombre direccin ...
Expresiones Anidadas
Sus operandos son otras expresiones del
lgebra
(en lugar de nombres de relacin)
* Tuplas de actores representados por la agencia nmero 2
agencia=2 (ACTOR)
* Actores cuyo cach rebasa los 30.000
cache>30000 (ACTOR)
a los 22.000, o bien por la agencia 4 y con cach superior a 32.000
(agencia=2 AND cache<25000) OR (agencia=4 AND cache>35000) (ACTOR)
( (...(
cond1 cond2 condn (R))...)) cond1 AND cond2 AND...AND condn(R)
<listAtrib>(<relacin>)
Resultado: Relacin (conjunto de tuplas) cuyos atributos
son
slo los de <listAtrib> y en ese orden
<listAtrib> lista de nombres de atributos de <relacin>
A B
<condicin de reunin>
Resultado: Relacin con n+m atributos (a1, a2, ... an, b1, b2, ...
bm)
Esquema: unin de las cabeceras de A y B
Estado: conjunto de tuplas, una por cada combinacin de
tuplas
(una de A y otra de B) que satisface <condicin de reunin>
T2 a b c d
T2 R S, tiene el esquema T2 ( a, b, c, d )
10 1 100 -5
20 3 100 -4
Funciones de agregados
Funciones matemticas de agregados sobre colecciones de
valores de la base de datos
Valor medio del cach de todos los actores
Nmero de pelculas (almacenadas en la BD)
Mximo porcentaje de comisin de las distribuidoras de pelculas
Mnima recaudacin en taquilla
Cantidad total pagada a los actores de cierta pelcula
Tema 2. Modelo relacional de datos 71
2.4 Manip. de datos: lgebra
Relacional
Funciones de agregados
Funciones aplicadas a un conjunto de tuplas
SUMA
PROMEDIO
MXIMO
MNIMO
CUENTA (nmero de tuplas en una relacin)
Agrupacin de tuplas segn valor de ciertos
atributos
Puede aplicarse una funcin agregada a cada grupo por
separado
* Media del cach de los actores agrupados por agencias Solucin?
Agrupar actores segn su agencia representante (valor de atributo agencia)
Cada grupo incluye tuplas de actores representados por la misma agencia
Clculo del cach medio de cada grupo (funcin PROMEDIO)
El resultado es una relacin
Tema 2. Modelo relacional de datos R(agencia, 72
2.4 Manip. de datos: lgebra
Relacional
Funciones de agregados (2)
R PROMEDIO_cache
ACTOR
AG1 AG8 Media del cache de a1... a10
a9
a1 a4 a2
a5 a6
a7 AG2 a3
AG3
a10 a8
R agencia PROMEDIO_cache
AG8 Media del cache de a9 y a2
AG3 Media del cache de a5, a6 y a3
AG1 Media del cache de a7, a1 y a4
AG2 Media del cache de a8 y a10
* Cdigos de los empleados que tienen como superior a e, en todos los niveles
e
Ejemplo para el nivel 2: cdigo de los empleados cuyo jefe directo es e o bien su jefe es
un empleado cuyo jefe es e
EMP_1(cod) codE ( codJ=e (EMP_JEF)) Empleados de nivel 1
3.- tanto las agencias que no representan a ningn actor, como los actores que no
tienen agencia
R3 = nomAc, nomAg ( ACTOR agencia=codAg AGENCIA
Ejemplos:
donde:
t1, t2, ..., tn, tn+1, tn+2, ... tn+m son variables de tupla
continuar...