Professional Documents
Culture Documents
Datos
Semana 5
3. Manipulacin de Datos
cardinalidad
dominios
La relacin PELICULA
Ttulos
--- ----- ---
Nombres
--- ----- ---
Gneros
Aos
Ciencia-ficcin,
Drama,Thriller,
Comedia...
2002, 1997,
1999, 2001,
1994, 1972...
Pases
Italia,Argentina,
Espaa, EEUU,
Francia,Japn..
ttulo
director
gnero
Amores Perros
A. Gonzlez
Drama
2000
Mxico
145
EEUU
138
The Matrix
Torrente
S. Segura
Comedia
1997
Espaa
110
Nos miran
N. Lpez
Policiaco
2001
Espaa
118
Amelie
J. P. Jeunet
Comedia
2001
Francia
122
F. Len
Drama
2002
Espaa
117
atributos
Tema 2. Modelo relacional de datos
Tiempo
--- ----- ---
tuplas
grado
6
Modelo Relacional
Formal
SQL
Relacin
Tabla
Fichero
Fila
Registro concreto
cabecera de
Nombre de
Tupla
Atributo
Cardinalidad
Grado
Dominio
Columna
Campo de registro
{valores de A} Dominio(A)
Comparaciones Restringidas a Dominio
La comparacin de dos atributos slo tiene sentido si ambos toman
valores del mismo dominio.
Si el DBMS soporta dominios, podr detectar este tipo de errores
Tema 2. Modelo relacional de datos
i=1..m
9
10
estado = conjunto
matemtico de tuplas
11
12
(1)
13
(2)
14
Caractersticas generales de
integridad de datos
Todo estado de BD refleja la realidad
Es un modelo de una porcin del mundo real (minimundo)
REGLAS DE INTEGRIDAD
15
Caractersticas generales de
integridad de datos
Reglas de integridad
16
Caractersticas generales de
integridad de datos
Superclave y Clave: Ejemplos
Claves como restriccin de integridad
CLIENTE (CodCliente, Nombre, Ciudad, Telefono,...)
Qu implicaciones tiene establecer claves candidatas (CK)?
a) CK = {CodCliente, DNICliente,}
b) CK = {CodCliente}
?
17
Caractersticas generales de
integridad de datos
Clave Candidata, Primaria y Alterna
Si R tiene varias claves Claves Candidatas
Claves (ACTOR) = { {Nombre}, {NombreArtistico} }
Claves (EMPLEADO) = { {DNI}, {Nombre, FechaNac}, {NSS} }
18
Caractersticas generales de
integridad de datos
Clave Ajena (Externa o Fornea)
(1)
19
Caractersticas generales de
integridad de datos
Clave Ajena (Externa o Fornea)
(2)
20
Caractersticas generales de
integridad de datos
Clave Ajena (Externa o Fornea)
Cada cliente slo puede tener
una cuenta a su nombre.
Una cuenta puede tener ms de
un cliente como titular.
CLIENTE Nombre
(3)
35000
505
40000
821
50000
...
Direccin
Ciudad
Numcta
Garca, A
Gran Va, 6
Murcia
200
Lpez, B
Ronda Norte, 3
Murcia
821
Azorn, C
505
Prez, C
Plaza Mayor, 2
505
Valencia
Vnculo
Cuenta-Cliente
...
Tema 2. Modelo relacional de datos
21
Caractersticas generales de
integridad de datos
Clave Ajena (Externa o Fornea)
(4)
FK
AUTOR
22
Caractersticas generales de
integridad de datos
Clave Ajena (Externa o Fornea)
(5)
Diagrama Referencial
Expresin de la existencia de Claves Ajenas
Camino Referencial
LIBRO
Ttulo
AUTOR
ARTICULO
Isbn
DNI
Nombre
Ttulo
EMPLEADO
Ciclo Referencial
...
Editorial
Tema
CodEmp
...
Autor
Dep
Revista
DEPTO
Pag
...
... Jefe
23
Caractersticas generales de
integridad de datos
Mantenimiento de la Integridad Referencial
(1)
NumHabit
Tipo
100
115
CLI02
420
420
CLI05
115
100
CLI10
100
304
405
501
CodClie
NumHabit
CLI04
...
HABITACION
...
24
Caractersticas generales de
integridad de datos
Mantenimiento de la Integridad Referencial
(2)
25
Caractersticas generales de
integridad de datos
Mantenimiento de la Integridad Referencial
(3)
R2 R1
Operacin: Eliminar una tupla t de R1 que es referenciada
por otras de R2
Ejemplo: Eliminar la tupla (100, D, ...) de HABITACIN
Recomendaciones posibles:
1. Rechazar la operacin (accin por defecto)
Slo permite borrar t si ninguna otra tupla hace referencia a t
2. Eliminar en cascada. Propagar la eliminacin
1 Borrar todas las tuplas de R2 que referencian a t
2 Eliminar t
26
Caractersticas generales de
integridad de datos
Mantenimiento de la Integridad Referencial
(4)
R2 R1
Operacin: Modificar el valor de una FK a un valor no
existente en la PK de R1
Ejemplo: Modificar (CLI02, 420,...) a (CLI02, 900,...) en OCUPACIN
Recomendacin:
1. Rechazar la operacin (SIEMPRE)
27
Caractersticas generales de
integridad de datos
Mantenimiento de la Integridad Referencial
(5)
28
Caractersticas generales de
integridad de datos
Mantenimiento de la Integridad Referencial
(6)
R2 R1
Operacin: Insercin de una tupla t en R2 cuyo valor de FK
no se corresponde con ningn valor de la PK en
ninguna tupla de R1.
Ejemplo: Insertar una tupla (CLI03, 555, ...) en OCUPACIN
Recomendaciones posibles:
- Rechazar la operacin (SIEMPRE)
29
Caractersticas generales de
integridad de datos
Mantenimiento de la Integridad Referencial
(7)
30
Caractersticas generales de
integridad de datos
Nulos
En el mundo real existe...
informacin perdida FechaEdicion desconocida
ausencia de informacin
tiene o no Telfono?
valores no aplicables a ciertos atributos FechJubilac a empleado
activo
31
Caractersticas generales de
integridad de datos
Implicaciones de los nulos en la integridad
(1)
32
Caractersticas generales de
integridad de datos
Implicaciones de los nulos en la integridad
(2)
33
Caractersticas generales de
integridad de datos
Implicaciones de los nulos en la integridad
(3)
34
Caractersticas generales de
integridad de datos
Implicaciones de los nulos en la integridad
(4)
R2 R1
Operacin: Modificar el valor de la PK de una tupla t de R1
que es referenciada por otras tuplas de R2
Acciones posibles:
1. Rechazar la operacin (accin por defecto)
2. Cascada. Propagar la modificacin
3. Establecer nulos
Slo si la FK de R2 permite NULO
- Toda tupla de R2 que referencia a t pasa a contener NULL en FK
- Modificar el valor de la PK de t
35
Caractersticas generales de
integridad de datos
Resumiendo, el DBMS se encarga de...
Comprobar las claves candidatas (primaria y alternas):
No existen dos tuplas distintas con igual valor para una clave
Definicin de BD : indicar los Atributos Componentes de las Claves Candidatas
Comprobar la restriccin de Integridad de entidad
Ningn atributo componente de una clave primaria contiene nulo
Definicin de BD : indicar los Atributos Componentes de la Clave Primaria
Comprobar la restriccin de Integridad Referencial...
El valor de la clave ajena en cualquier tupla, o es nulo, o coincide con
un valor de clave primaria de alguna tupla en la relacin referenciada
Definicin de BD : indicar los Atributos Componentes de las Claves Ajenas
... y mantenerla frente operaciones que puedan violar la integridad
Definicin de BD : indicar Acciones de Mantenimiento de la Integridad Referencial
Tema 2. Modelo relacional de datos
36
Esquema PRODUCTORA
PELICULA
DIRECTOR
GUION
AGENCIA
ACTUA_EN
37
Manipulacin de datos
lgebra Relacional
Definida por Codd, 1972
Coleccin de operadores que toman relaciones como
operandos y devuelven relaciones como resultado
Operadores tradicionales sobre conjuntos
unin
interseccin
diferencia
producto cartesiano
restriccin (Constraint)
proyeccin
unin (join)
divisin
38
Expresiones Anidadas
Sus operandos son otras expresiones del lgebra
(en lugar de nombres de relacin)
39
40
grado(R) = grado(S) = n
2. Atributos correspondientes definidos sobre el mismo dominio:
41
Interseccin de relaciones
RS, con R y S compatibles en tipo, es una relacin tal que:
Esquema: el de R (o S)
Estado: conjunto de tuplas que estn a la vez en R y en S
Ejemplo: DIRECTOR DIR_FOTOG
Tema 2. Modelo relacional de datos
42
Secuencias de operaciones
La propiedad de clausura relacional permite aplicar una
operacin tras otra
Sean R, S, T relaciones de tipos compatibles,
nica expresin: expresiones anidadas
R(ST)
Varias expresiones: relaciones intermedias con nombre
AST
BRA
43
44
45
<condicin>
(<relacin>)
<>}
46
agencia=2 (ACTOR)
47
<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>
48
R1 PELICULA
director=codDir DIRECTOR
49
R2titulo,nombre,apellido (PELICULA
R2
Titulo
Nombre
director=codDir DIRECTOR
Apellido
La caja 507
Enrique
Urbizu
Mensaka
Salvador
G Ruiz
El viaje de Carol
Imanol
Uribe
Airbag
Juanma
Bajo Ulloa
50
S b d
10 1 100
3 -4
20 3 100
1 -5
30 5 300
T1 R
T1
R.b=S.b S, tiene
R.b
S.b
10
100
-5
20
100
-4
T2 R S, tiene el esquema T2 ( a, b, c, d )
T2
10
100
-5
20
100
-4
51
Sean las relaciones A(a1, a2, ... an, b1, b2, ... bm) y B(b1, b2, ...bm)
en A una tupla (ai1, ai2, ... ain, bj1, bj2, ... bjm) para
TODAS las tuplas (bj1, bj2, ... bjm ) de B
52
a
y1
y1
y1
y1
y2
y2
y3
y3
y3
y4
y4
y4
b
x1
x2
x3
x4
x1
x3
x2
x3
x4
x1
x2
x3
b
x1
x2
x3
(y 2)
a
y1
y4
R=AB
Funciones de agregados
Funciones matemticas de agregados sobre colecciones de valores de
la base de datos
Valor promedio del Honorario 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
54
SUMA (Sum)
PROMEDIO (Avg)
MXIMO (Max)
MNIMO (Min)
CUENTA:nmero de tuplas en una relacin (Count)
55