Subido por frandos.12

modelo-relacional - álgebra relacional

Anuncio
Tema 3. Modelo relacional
El modelo de datos relacional, las
restricciones relacionales y el álgebra
relacional.
Elmasri/Navathe 02
Transformación de ER y ERE en relacional,
y otros lenguajes relacionales.
Elmasri/Navathe 02
• Conceptos (7.1)
• Restricciones (7.2)
• Operaciones de actualización (7.3)
• Transformación ER-relacional (9.1)
• Álgebra relacional (7.4, 7.5)
• Consultas con álgebra relacional (7.6)
© C. P. G. 2007
FBD Tema 3
1
Conceptos
• BD: Colección de relaciones.
• Relación: Semeja una tabla:
– Fila: Representa a entidad o vínculo.
– Nombres de tabla y columnas: Identifican el
significado de los valores.
– Valores de columna: Mismo tipo de datos.
• La BD Universidad del tema 1 sigue este modelo.
ALUMNO
Nombre Código alumno
Smith
17
Brown
8
Año
1
2
Especialidad
CS
CS
• Terminología:
– A las tablas se las llama relaciones.
– A las filas tuplas.
– A las cabeceras de columna atributos.
– Al tipo de datos de una columna dominio.
• Dominio D:
Conjunto de valores atómicos (indivisible).
Consta de nombre, tipo de datos y formato.
Ej. Edades_de_Empleados: valor entre 16 y 80.
© C. P. G. 2007
FBD Tema 3
2
Conceptos (2)
• Esquema de relación R(A1, ... , An):
Describe la relación.
– R es el nombre de la relación.
– A1, ... , An su lista de atributos.
– dom(Ai) dominio de Ai . .
– Grado de la relación: Número de atributos (n).
• Relación (estado o ejemplar de relación) r ó r(R)
de un esquema R(A1, A2, . . ., An)
es un conjunto de n-tuplas r={t1, t2, . . ., tm}:
– Cada n-tupla es una lista ordenada de valores
t=<v1, v2, . . ., vn>
– Cada vi con 1≤ i ≤ n es:
• Un elemento de dom(Ai).
• O un valor nulo.
– El esquema R se llama intensión.
– Un estado de relación r(R) se llama extensión.
© C. P. G. 2007
FBD Tema 3
3
Características de las relaciones
• Orden entre las tuplas:
No se considera ningún orden concreto (como en
los elementos de un conjunto).
• Orden en los valores de una tupla:
– Una n-tupla es una lista ordenada de n valores.
– A nivel lógico lo que cuenta es mantener la
correspondencia entre atributos y valores.
• Valores en las tuplas:
Son atributos atómicos.
– No se admiten atributos compuestos .
– Ni multivaluados .
• Existe el valor nulo.
© C. P. G. 2007
FBD Tema 3
4
Notación
ALUMNO
Nombre Código alumno
Smith
17
Brown
8
•
Año
1
2
Especialidad
CS
CS
ALUMNO (Nombre, Código alumno, Año,
Especialidad)
Esquema de la relación ALUMNO de grado 4.
• t = <‘Smith’, 17,1,’CS’>
4-tupla de la relación ALUMNO.
(ALUMNO indica el cjto. actual de tuplas, también
llamado estado actual de la relación o ejemplar r(R)).
• t [Nombre] = <‘Smith’>
• t [Cód. Alumno, Especialidad, Año] = <17,’CS’,1>
•
ALUMNO.Nombre
•
ALUMNO.Año
© C. P. G. 2007
Califican a los atributos
de la relación ALUMNO.
FBD Tema 3
5
Restricciones en las relaciones
• De dominio:
El valor de cada atributo debe ser atómico.
En SQL se verán los tipos disponibles.
• De clave:
Atributo(s) de un esquema de relación que
identifican unívocamente a las tuplas.
– Superclave y clave.
– Clave candidata y clave primaria.
• Integridad de entidades:
Ninguna clave primaria puede contener el valor
nulo.
• Integridad referencial:
Una tupla que referencia a otra relación, debe
referirse a una tupla existente en dicha relación.
• Claves externas (extranjeras o foráneas):
– Son la forma de hacer referencia a otras
relaciones.
– En una relación aparece la clave principal de otra
relación.
© C. P. G. 2007
FBD Tema 3
6
Restricciones de clave
• En una relación no hay 2 tuplas con todos sus valores
iguales (si no, no sería un conjunto de tuplas).
• Superclave:
Subconjunto de atributos de un esquema de relación
que cumple:
– No hay 2 tuplas con todos sus valores iguales.
– El conjunto de atributos de una relación es
superclave.
• Clave:
Superclave donde cualquier atributo que se elimine
produce un subconjunto que no es superclave.
– El ser o no clave no debe cambiar con el tiempo.
• Clave candidata:
Una clave posible.
• Clave primaria:
La clave candidata elegida.
– Se subrayan.
– Es preferible que sea un solo atributo o un
subconjunto reducido de atributos.
© C. P. G. 2007
FBD Tema 3
7
Restricciones de clave: Ejemplo
COCHE
NúmeroMatrícula NúmeroSerieMotor
Texas ABC-739
A69352
Marca
Modelo Año
Ford
Mustang 96
Florida TVP-347
B43696
Oldsmobile Cutlass
99
N. York MPO-22
X83554
Oldsmobile
Delta
95
California 432-TFY
C43742
Mercedes
190-D
93
California RSK-629
Y82935
Toyota
Camry
98
Texas RSK-629
U028365
Jaguar
XJS
98
Figura 7.4. La relación COCHE con dos claves candidatas:
NúmeroMatrícula y NúmeroSerieMotor
Ejemplo de superclave:
NúmeroMatricula + Marca
© C. P. G. 2007
FBD Tema 3
8
Esquema de la BD relacional “EMPRESA”
• Una BD relacional contiene muchas relaciones.
• Las tuplas se relacionan entre sí.
EMPLEADO
NOMBRE INIC APELLIDO NSS FECHA_NCTO DIRECCIÓN
...
...
SEXO SALARIO NSS_SUPERV ND
DEPARTAMENTO
NOMBRED NÚMEROD NSS_JEFE FECHA_INIC_JEFE
LOCALIZACIONES_DEPT
NÚMEROD LOCALIZACIÓND
PROYECTO
NOMBREP NÚMEROP LOCALIZACIÓNP NUMD
TRABAJA_EN
NSSE
NP
HORAS
DEPENDIENTE
NSSE NOMBRE-DEPENDIENTE SEXO FECHA_NCTO PARENTESCO
Figura 7.5. Esquema de base de datos relacional EMPRESA;
las claves primarias están subrayadas.
© C. P. G. 2007
FBD Tema 3
9
Estado de la BD relacional “EMPRESA”
EMPLEADO
NOMBRE INIC APELLIDO
John
Franklin
Alicia
Jennifer
Ramesh
Joyce
Ahmad
Jaime
B
T
J
S
K
A
V
E
Smith
Wong
Zelaya
Wallace
Narayan
English
Jabbar
Borg
NSS
FECHA_NCTO
DIRECCIÓN
123456789
333445555
999887777
987654321
666884444
453453453
987987987
888665555
1965-01-09
1955-12-08
1968-07-19
1941-06-20
1962-09-15
1972-07-31
1969-03-29
1937-11-10
Fresnos 731, Houston, TX
Valle 638, Houston, TX
Castillo 3321, Sucre, TX
Bravo 291, Bellaire, TX
Espiga 875, Heras, TX
Rosas 5631, Houston, TX
Dalias 980, Houston, TX
Sorgo 450, Houston, TX
...
TRABAJA_EN
NSSE
NP
HORAS
123456789
123456789
666884444
453453453
453453453
333445555
333445555
333445555
333445555
999887777
999887777
987987987
987987987
987654321
987654321
888665555
1
2
3
1
2
2
3
10
20
30
10
10
30
30
20
20
32.5
7.5
40.0
20.0
20.0
10.0
10.0
10.0
10.0
30.0
10.0
35.0
5.0
20.0
15.0
nulo
SEXO SALARIO NSS_SUPERV ND
H
H
M
M
H
M
H
H
30.000
40.000
25.000
43.000
38.000
25.000
25.000
55.000
333445555
888665555
987654321
888665555
333445555
333445555
987654321
nulo
5
5
4
4
5
5
4
1
Figura 7.6 (1ª parte)
Ejemplar (Estado) de base de datos
relacional del esquema EMPRESA.
DEPARTAMENTO
NOMBRED NÚMERODNSS_JEFE FECHA_INIC_JEFE
Investigación
Administración
Dirección
© C. P. G. 2007
...
5
4
1
333445555
987654321
888665555
FBD Tema 3
1988-05-22
1995-01-01
1981-06-19
10
Estado de la BD relacional “EMPRESA”
(cont)
LOCALIZACIONES_DEPT
NÚMEROD LOCALIZACIÓND
1
4
5
5
5
Houston
Stafford
Bellaire
Sugarland
Houston
PROYECTO
NOMBREP
NÚMEROP LOCALIZACIÓNP NUMD
ProductoX
ProductoY
ProductoZ
Automatización
Reorganización
Nuevos beneficios
1
2
3
10
20
30
Bellaire
Sugarland
Houston
Stafford
Houston
Stafford
5
5
5
4
1
4
DEPENDIENTE
NSSE
NOMBRE_DEPENDIENTE SEXO FECHA_NCTO PARENTESCO
333445555
333445555
333445555
987654321
123456789
123456789
123456789
Alicia
Theodore
Joy
Abner
Michael
Alicia
Elizabeth
M
H
M
H
H
M
M
1986-04-05
1983-10-25
1958-05-03
1942-02-28
1988-01-04
1988-12-31
1967-05-05
HIJA
HIJO
ESPOSA
ESPOSO
HIJO
HIJA
ESPOSA
Figura 7.6 (2ª parte) Ejemplar (Estado) de base de datos
relacional del esquema EMPRESA.
© C. P. G. 2007
FBD Tema 3
11
Restricciones de integridad (RI)
• Integridad de entidades: Ningún valor de una
clave primaria puede tener valor nulo.
• Integridad referencial:
– Se da entre 2 relaciones.
– Garantiza la consistencia entre tuplas de las 2
relaciones.
– Una tupla de la relación A hace referencia a la
relación B.
– Deberá referirse a una tupla existente en B.
A – Ejemplo:
B
EMPLEADO.ND y DEPARTAMENTO.NUMEROD .
EMPLEADO
NOMBRE INIC APELLIDO
John
Franklin
Alicia
Jennifer
Ramesh
Joyce
Ahmad
Jaime
B
T
J
S
K
A
V
E
Smith
Wong
Zelaya
Wallace
Narayan
English
Jabbar
Borg
NSS
123456789
333445555
999887777
987654321
666884444
453453453
987987987
888665555
SALARIO NSS_SUPERV ND
...
30.000
40.000
25.000
43.000
38.000
25.000
25.000
55.000
333445555
888665555
987654321
888665555
333445555
333445555
987654321
nulo
5
5
4
4
5
5
4
1
DEPARTAMENTO
NOMBRED
NÚMEROD
Investigación
Administración
Dirección
5
4
1
© C. P. G. 2007
NSS_JEFE FECHA_INIC_JEFE
333445555
987654321
888665555
FBD Tema 3
1988-05-22
1995-01-01
1981-06-19
12
Clave externa (CE)
• CE conjunto no vacío de atributos de R1 .
• CE es clave extranjera si:
– CP es clave primaria de R2 .
– Los dominios de CE coinciden con los de CP.
– CE hace referencia a CP:
• ∀t1 ∈ R1 ∃t2 ∈ R2 | t1 [CE] = t2[CP] .
• o bien t1 [CE] = valor nulo .
• Ejemplo:
EMPLEADO.ND hace referencia a DEPARTAMENTO.
• Puede hacer referencia a la propia relación:
EMPLEADO.NSS_SUPERV .
EMPLEADO
NOMBRE INIC APELLIDO
John
Franklin
Alicia
Jennifer
Ramesh
Joyce
Ahmad
Jaime
B
T
J
S
K
A
V
E
Smith
Wong
Zelaya
Wallace
Narayan
English
Jabbar
Borg
NSS
123456789
333445555
999887777
987654321
666884444
453453453
987987987
888665555
SALARIO NSS_SUPERV ND
...
30.000
40.000
25.000
43.000
38.000
25.000
25.000
55.000
333445555
888665555
987654321
888665555
333445555
333445555
987654321
nulo
5
5
4
4
5
5
4
1
DEPARTAMENTO
NOMBRED
Investigación
Administración
Dirección
© C. P. G. 2007
NÚMEROD NSS_JEFE FECHA_INIC_JEFE
5
4
1
333445555
987654321
888665555
FBD Tema 3
1988-05-22
1995-01-01
1981-06-19
13
Integridad referencial en el esquema
EMPLEADO
NOMBRE INIC APELLIDO NSS FECHA_NCTO DIRECCIÓN SEXO
...
SALARIO
...
NSS_SUPERV ND
DEPARTAMENTO
NOMBRED NÚMEROD NSS_JEFE FECHA_INIC_JEFE
LOCALIZACIONES_DEPT
NÚMEROD LOCALIZACIÓND
PROYECTO
NOMBREP NÚMEROP LOCALIZACIÓNP NUMD
TRABAJA_EN
NSSE
NP
HORAS
DEPENDIENTE
NSSE
NOMBRE_DEPENDIENTE
SEXO FECHA_NCTO PARENTESCO
Figura 7.7. Restricciones de integridad referencial
representadas en el esquema de la base de
datos relacional EMPRESA.
© C. P. G. 2007
FBD Tema 3
14
Restricciones de integridad
• Las RI se especifican utilizando una parte del
lenguaje llamada DDL:
– DDL = Data Definition Language / Lenguaje de
definición de datos.
– Este tipo de lenguaje debe contar con
mecanismos para especificar RI.
– El SGBD puede imponerlas automáticamente.
• RI semánticas:
– “El salario de un empleado no debe ser superior
al de su jefe”.
– “Dedicación semanal de un empleado a todos
los proyectos no superior a 56 horas”.
• Muy pocos SGBD soportan las RI semánticas.
• Se están incorporando mecanismos.
© C. P. G. 2007
FBD Tema 3
15
Operaciones de actualización
• Las operaciones de actualización se especifican
utilizando otra parte del lenguaje llamada DML:
DML= Data Manipulation Language / Lenguaje de
Manipulación de Datos
• Las operaciones de actualización cambian los datos
de la BD, frente a las operaciones de consulta que
simplemente recuperan datos de la BD pero no los
cambian.
• Son las siguientes:
– Insertar.
– Eliminar.
– Modificar.
• Cuando se aplican no deben violar ninguna
restricción de integridad.
• Veremos:
– Qué RI puede violar cada operación.
– Qué acciones se pueden emprender en caso de
violación.
© C. P. G. 2007
FBD Tema 3
16
ACEPTABLE
Insertar
• Insertar <‘Cecilia’, ’F’, ’Kolonsky’, ’677678989’,
‘05-ABR-60’, ‘Calle Viento 6357,
Malinalco, TX’, ‘M’, 28000, nulo, 4 >
en EMPLEADO.
•
Puede violar los 4 tipos de RI:
– Dominio:
Insertar< ..., ‘Depto 3’>
– Entidades:
Insertar <‘Cecilia’,... ,’Kolonsky’, nulo,...,4>
– Clave:
Insertar <‘Cecilia’, ... , ’999887777’, ... , 4>
– I. referencial:
Insertar <‘Cecilia’, ..., 7>
EMPLEADO
NOMBRE INIC APELLIDO
NSS
DIRECCIÓN
FECHA_NCTO
John
B
Smith
123456789
Fresnos 731, Houston, TX
1965-01-09
Franklin
T
Wong
333445555
Valle 638, Houston, TX
1955-12-08
Alicia
J
Zelaya
999887777
Castillo 3321, Sucre, TX
1968-07-19
Jennifer
S
Wallace
987654321
Bravo
291, Bellaire, TX
1941-06-20
Ramesh
K
Narayan
666884444
Espiga 875, Heras, TX
1962-09-15
Joyce
A
English
453453453
Rosas 5631, Houston, TX
1972-07-31
Ahmad
V
Jabbar
987987987
Dalias 980, Houston, TX
1969-03-29
Jaime
E
Borg
888665555
Sorgo 450, Houston, TX
1937-11-10
...
© C. P. G. 2007
SEXO SALARIO
30.000
H
H
40.000
M
25.000
43.000
M
H
38.000
25.000
M
25.000
H
55.000
H
FBD Tema 3
NSS_SUPERV
333445555
888665555
987654321
888665555
333445555
333445555
987654321
nulo
...
ND
5
5
4
4
5
5
4
1
17
Insertar (2)
• Ante violación de RI al insertar:
– Rechazar:
• Es lo que se hace normalmente.
• Útil explicación SGBD.
– Corregir:
• Se usa más para modificaciones y
eliminaciones.
• Entidades:
– Pedir NSS válido.
– Que la clave no sea nula ni exista ya.
• I.Referencial:
– Pedir valor existente o nulo.
– Pedir introducción de la tupla
correspondiente al valor referenciado:
» Pedir datos del departamento 7
(que no existía)
– Pedir en Cascada :
» Pedir datos del departamento 7
» Una vez que el departamento
existe, pedir de nuevo el empleado
© C. P. G. 2007
FBD Tema 3
18
ACEPTABLE
Eliminar
• Eliminar todos los TRABAJA_EN con
NSSE=‘999887777’ y NP=10.
• Se eliminan todas las tuplas que cumplan la condición.
• Solamente se puede violar la integridad referencial si
las CEs de otras tuplas de la BD hacen referencia a la
tupla que se va a eliminar.
• Puede violar I. referencial:
– Eliminar todo EMPLEADO con NSS=‘999887777’
– Eliminar todo EMPLEADO con NSS=‘333445555’
EMPLEADO
NOMBRE INIC APELLIDO
NSS
DIRECCIÓN
FECHA_NCTO
John
B
Smith
123456789
Fresnos 731, Houston, TX
1965-01-09
Franklin
T
Wong
333445555
Valle 638, Houston, TX
1955-12-08
Alicia
J
Zelaya
999887777
Castillo 3321, Sucre, TX
1968-07-19
Jennifer
S
Wallace
987654321
Bravo 291, Bellaire, TX
1941-06-20
Ramesh
K
Narayan
666884444
Espiga 875, Heras, TX
1962-09-15
Joyce
A
English
453453453
Rosas 5631, Houston, TX
1972-07-31
Ahmad
V
Jabbar
987987987
Dalias 980, Houston, TX
1969-03-29
Jaime
E
Borg
888665555
Sorgo 450, Houston, TX
1937-11-10
...
© C. P. G. 2007
SEXO SALARIO
30.000
H
H
40.000
M
25.000
43.000
M
H
38.000
25.000
M
25.000
H
55.000
H
FBD Tema 3
NSS_SUPERV
333445555
888665555
987654321
888665555
333445555
333445555
987654321
nulo
ND
5
5
4
4
5
5
4
1
19
...
Eliminar (2)
• Ante violación de RI al eliminar, se puede:
– Rechazar.
– Propagar:
• Eliminar todas las tuplas con referencia a la
eliminada. A esto se le denomina
eliminación en cascada.
– Modificar:
• Poner un valor existente en referencias.
• Poner valor nulo en referencias
(no si es parte de la clave primaria).
– Propagar y modificar:
• Al eliminar un EMPLEADO podríamos:
– Eliminar referencias en TRABAJA_EN y
DEPENDIENTE.
– Modificar referencias en EMPLEADO y
DEPARTAMENTO (las de los empleados y
departamentos en los que era jefe el
empleado borrado).
• En general, el SGBD permite especificar la opción
a aplicar.
© C. P. G. 2007
FBD Tema 3
20
ACEPTABLE
Modificar
• Modificar el SALARIO del EMPLEADO
con NSS=‘999887777’ a 28.000.
• Con atributos que no sean clave primaria ni
externa:
– No suelen producirse problemas.
– Salvo que no sea un valor del dominio.
• Si es clave primaria:
– Equivale a eliminar la tupla e insertar una nueva.
– Mismos problemas que en insertar y eliminar.
• Si es clave extranjera:
– El SGBD debe asegurar que el nuevo valor existe.
• Ejemplos que violan la RI:
– I. Referencial:
Modificar todos los ND de EMPLEADO
con NSS=‘999887777’ a 7.
– Clave primaria e I. referencial:
Modificar todos los NSS de EMPLEADO
con NSS=‘999887777’ a ‘987654321’.
© C. P. G. 2007
FBD Tema 3
21
Transformación ER-relacional
• Algoritmo en 7 pasos para transformar un esquema
E/R en el modelo relacional correspondiente. Los
pasos se han de dar en el orden indicado.
• Paso 1: T. entidades normales (no débiles)
Por cada tipo de entidad normal E crear una
relación R que contenga todos los atributos simples
de E. Si hay algún atributo compuesto se ponen sus
componentes simples. Se elige una clave como
clave primaria.
A5
A4
A3
A6
R (de E)
A1 A2 A3 A5 A6
E
A2 A1
A1
A4
© C. P. G. 2007
A2
A3
R (de E2)
A2 A3 A4
E2
FBD Tema 3
22
Transformación ER-relacional (2)
• Paso 2: T. entidades débiles (+Vínculos
identificadores)
Por cada tipo de entidad débil W crear una relación
R con todos los atributos de W (los compuestos con
sus componentes simples).
Se incluyen también como atributos las claves
primarias de la/s relación/es propietarias.
La clave de la nueva relación R estará formada por
la combinación de las claves primarias de las
relaciones propietarias más la clave parcial de W.
A2 A1
B1 B2
W
E
R (de W)
B1 A1 A2
CE
Con este paso quedan tratados tanto los tipos de
entidad débiles, como sus vínculos identificadores.
© C. P. G. 2007
FBD Tema 3
23
Transformación ER-relacional (3)
• Paso 3: T. relación 1:1
A2 A1
E1
B1
1
1
B2
E2
S (de E1, T=E2)
A1 A2 B1 R1
CE
R1
1
E1
1
E2
Mejor
Por cada vínculo 1:1 se incluye como clave externa
en S (mejor que S sea la de participación total, si la
hay) la clave primaria de T. Si hay atributos en el
vínculo se ponen también en S.
• Paso 4: T. relación 1:N
A2 A1
E1
N
B1
1
B2
E2
S (de E1, T=E2)
A1 A2 B1 R1
CE
R1
Por cada vínculo 1:N se incluye como clave externa
en S (la relación surgida de la parte N del vínculo)
la clave primaria de T. Si hay atributos en el
vínculo se ponen también en S.
© C. P. G. 2007
FBD Tema 3
24
Transformación ER-relacional (4)
• Paso 5: T. relación M:N
A2 A1
E1
M
B1
R
N
R1
B2
E2
S (de R)
A1 B1 R1
CE
CE
Por cada tipo de vínculo M:N se crea una nueva relación
S para representar al vínculo R.
Se incluyen como atributos de clave externa las claves
primarias de las relaciones surgidas a partir de E1 y E2.
La clave primaria de S será la combinación de las claves
primarias anteriores.
Si el tipo de vínculo tiene atributos, éstos se incluyen
también en S.
– Se puede usar también para 1:1 y 1:N.
– Mejor cuando haya pocas ocurrencias de la relación
(menos nulos).
© C. P. G. 2007
FBD Tema 3
25
Transformación ER-relacional (5)
• Paso 6: Atributos multivaluados
Por cada atributo multivaluado A se crea una nueva
relación S que incluye el atributo correspondiente a
A y la clave primaria K de la relación
correspondiente al tipo de entidad donde está A.
La clave será normalmente la combinación de A
más K.
A2
A1
A3
R (de A2)
E
A1 A3
E
A1 A2
CE
A4
A3
A1
A2
A5
E2
E2
A1 A3
R2 (de A2)
A1 A4 A5
CE
© C. P. G. 2007
FBD Tema 3
26
Transformación ER-relacional (6)
• Paso 7: T. relaciones n-arias
A2 A1
E1
B1
R
R1
B2
E2
S (de R)
A1 B1 C1 R1
CE CE CE
E3
C1
C2
Por cada tipo de vínculo n-ario R se crea una nueva
relación S con atributos clave externa las claves primarias
de las relaciones surgidas de todos los tipos de entidad
participantes. La clave primaria de S será una
combinación de estas claves.
Si existen atributos en el vínculo, se añadirán también
como atributos de S.
– Si hay algún (*,1) entonces la clave es la de esta
entidad. El * es la participación (0 parcial ó 1 total).
© C. P. G. 2007
FBD Tema 3
27
ESQUEMA ER DE LA BD “EMPRESA”
*Familiar=dependiente
Nombre
Sexo
FAMILIAR*
Fecha nacimiento
N
Parentesco
ES_FAMILIA_DE
1
NombreP Iniciales Apellido
Nombre
Sexo
NSS
Fecha nacimiento
Dirección
Salario
supervisor
EMPLEADO
N
1
SUPERVISA
1
supervisado
TRABAJA_PARA
DIRIGE
1
1
N
Fecha inicio
Nombre
Número
DEPARTAMENTO
N
1
Localizaciones
Número de empleados
Horas
TRABAJA_EN
M
CONTROLA
N
PROYECTO
Nombre
Número
Localización
© C. P. G. 2007
FBD Tema 3
28
Transformación ER-relacional BD
EMPRESA
• PASO 1:
TE. Fuertes
DEPARTAMENTO
NOMBRE NÚMERO
EMPLEADO
NOMBREP INICIALES APELLIDO NSS FECHA_NCTO SEXO
...
PROYECTO
NOMBRE NÚMERO LOCALIZACIÓN
• PASO 2:
DIR SALARIO
TE. Débiles
FAMILIAR
NSS NOMBRE SEXO FECHA_NCTO PARENTESCO
• PASO 3:
TV. 1:1
DEPARTAMENTO
NOMBRE NÚMERO NSS_JEFE FECHA_INIC_JEFE
• PASO 4:
TV. 1:N
PROYECTO
NOMBRE NÚMERO LOCALIZACIÓN ND
EMPLEADO
NOMBREP INICIALES APELLIDO NSS FECHA_NCTO SEXO
...
© C. P. G. 2007
DIR SALARIO ND NSS_SUPERV
FBD Tema 3
29
Transformación ER-relacional BD
EMPRESA (2)
• PASO 5:
TV. M:N
TRABAJA_EN
NÚMEROP NSSE HORAS
• PASO 6:
Atr. Multivaluados
LOCALIZACIONES_DPTO
NÚMEROD LOCALIZACIÓN
• Solución completa:
PROYECTO
NOMBRE NÚMERO LOCALIZACIÓN ND
DEPARTAMENTO
NOMBRE NÚMERO NSS_JEFE FECHA_INIC_JEFE
EMPLEADO
NOMBREP INICIALES APELLIDO NSS FECHA_NCTO SEXO
... DIR SALARIO ND NSS_SUPERV
FAMILIAR
NSS NOMBRE SEXO FECHA_NCTO PARENTESCO
TRABAJA_EN
NÚMEROP NSSE HORAS
© C. P. G. 2007
LOCALIZACIONES_DPTO
NÚMEROD LOCALIZACIÓN
FBD Tema 3
30
Transformación ER- relacional
• Más ejemplos:
Convertir los esquemas conceptuales de los
ejercicios BUQUES y BIBLIOTECA del tema
anterior en los modelos relacionales
correspondientes aplicando el algoritmo de los 7
pasos.
© C. P. G. 2007
FBD Tema 3
31
Definir esquemas de BDR
(relaciones)
• Un esquema de base de datos relacional (BDR) se
define mediante un lenguaje de definición de datos
(DDL).
• El DDL nos permite:
– Dar nombre al esquema de BD.
– Declarar dominios de atributos:
• Nombre dominio.
• Tipo de datos.
– Definir cada relación:
• Nombre relación.
• Nombre atributos.
• Dominio atributos.
• Indicar clave primaria (y candidatas).
• Indicar claves extranjeras (claves que son
primarias en otra relación).
• La mayoría de los DDLs se basan en el lenguaje
SQL, que a su vez se basa en el álgebra relacional.
© C. P. G. 2007
FBD Tema 3
32
Álgebra relacional
• Operaciones para manipular relaciones enteras.
• De teoría de conjuntos:
–
–
–
–
UNIÓN.
INTERSECCIÓN.
DIFERENCIA.
PRODUCTO CARTESIANO.
Binarias
• Específicas:
– SELECCIÓN.
– PROYECCIÓN.
– REUNIÓN (JOIN).
•
DIVISIÓN.
Unarias
Binaria
Binaria
• Otras:
–
–
–
–
FUNCION AGREGADA.
CIERRE RECURSIVO.
REUNIÓN EXTERNA.
UNIÓN EXTERNA.
Operación Unaria: Interviene una sola relación
Operación Binaria: Intervienen dos relaciones
© C. P. G. 2007
FBD Tema 3
33
SIGMA
Selección
σ<condición selección>(R)
• Selecciona un subconjunto de tuplas de una
relación.
• Las que satisfacen una condición.
• El resultado es otra relación.
• σND=4(EMPLEADO)
• σSALARIO>30000(EMPLEADO)
• La relación resultante tiene los mismos atributos.
• Tiene menor o igual número de tuplas.
• Condición: {=, <, ≤, >, ≥, ≠}
OPERADORES
RELACIONALES
© C. P. G. 2007
Y, O, NO.
OPERADORES
LÓGICOS
FBD Tema 3
34
Selección (2)
σ(ND=4 Y SALARIO>25000) o (ND=5 Y SALARIO>30000)(EMPLEADO)
NOMBRE INIC APELLIDO
NSS
FECHA_NCTO
DIRECCIÓN
Franklin
T
Wong
333445555
1955-12-08
Valle 638, Houston, TX
Jennifer
S
Wallace
987654321
1941-06-20
Bravo 291, Bellaire, TX
Ramesh
K
Narayan
666884444
1962-09-15
Espiga 875, Heras, TX
SEXO SALARIO
Fig. 7.8. (a)
...
NSS_SUPERV
ND
H
40.000
888665555
5
M
43.000
888665555
4
H
38.000
333445555
5
...
Propiedades de la selección:
• Conmutativa:
σ<COND1>( σ<COND2>(R) ) = σ<COND2>( σ<COND1>(R) )
• Combinación cascada de selecciones:
σ<COND1>( σ<COND2>(R) ) = σ<COND1> Y <COND2>(R)
© C. P. G. 2007
FBD Tema 3
35
PI
Proyección
π<lista de atributos>(R)
lista de atributos: Atributos separados
por comas
• Selecciona algunas columnas de una relación.
• El resultado es otra relación.
• La relación resultante tiene sólo los atributos
especificados.
• Atributos en el mismo orden especificado.
• Eliminación de duplicados.
© C. P. G. 2007
FBD Tema 3
36
Proyección (2)
• πAPELLIDO, NOMBRE, SALARIO(EMPLEADO)
APELLIDO
Smith
Wong
Zelaya
Wallace
Narayan
English
Jabbar
Borg
Fig. 7.8. (b)
NOMBRE
John
Franklin
Alicia
Jennifer
Ramesh
Joyce
Ahmad
Jaime
SEXO SALARIO
H
30.000
H
40.000
M
25.000
M
43.000
H
38.000
H
25.000
H
55.000
SALARIO
30.000
40.000
25.000
43.000
38.000
25.000
25.000
55.000
Fig. 7.8. (c)
π APELLIDO, NOMBRE, SALARIO (EMPLEADO) π SEXO, SALARIO (EMPLEADO)
Propiedades de la proyección:
• Combinación cascada de proyecciones:
π<LISTA1> (π<LISTA2> (R)) = π<LISTA1> (R)
donde <LISTA1> ⊂ <LISTA2> .
• No conmutativa.
© C. P. G. 2007
FBD Tema 3
37
Resultados intermedios
Cambios de nombre
• En álgebra relacional se pueden asignar los
resultados obtenidos en una operación (todo
resultado da una relación) a otra relación; para así ir
hallando resultados intermedios.
S←
←R
R: Cualquier operación o conjunto de
operaciones que nos de una relación.
S: Nueva relación en la que se guarda R
y que tiene los mismos atributos que R.
• Los nombres de los atributos de S son los mismos
que tuviésemos en R. Se pueden cambiar los
nombres de los atributos mediante:
S(lista nuevos nombres)←
←R
lista nuevos nombres: Nuevos nombres
para los atributos resultantes, separados
por comas y en el mismo orden que
estuvieran en R.
© C. P. G. 2007
FBD Tema 3
38
Resultados intermedios
Cambios de nombre (2)
π NOMBRE, APELLIDO, SALARIO(σND=5(EMPLEADO))
•
NOMBRE
John
Franklin
Ramesh
Joyce
APELLIDO
Smith
Wong
Narayan
English
SALARIO
30.000
40.000
38.000
25.000
Fig 7.9. (a)
•
Alternativa con resultados intermedios:
← σND=5(EMPLEADO)
RESULTADO←πNOMBRE,APELLIDO,SALARIO(EMPS_DEP5)
EMPS_DEP5
•
Alternativa con resultados intermedios y cambios de nombre:
TEMP
← σND=5(EMPLEADO)
R(NOMBRE_PILA, PRIMER_APELL, SALARIO)
← πNOMBRE,APELLIDO,SALARIO(TEMP)
TEMP
NOMBRE INIC APELLIDO
John
Franklin
Ramesh
Joyce
B
T
K
A
Smith
Wong
Narayan
English
NSS
FECHA_NCTO
DIRECCIÓN
123456789
333445555
666884444
453453453
1965-01-09
1955-12-08
1962-09-15
1972-07-31
Fresnos 731, Houston, TX
Valle 638, Houston, TX
Espiga 875, Heras, TX
Rosas 5631, Houston, TX
R
SEXO SALARIO
NOMBRE_PILA PRIMER_APELL
John
Franklin
Ramesh
Joyce
Smith
Wong
Narayan
English
SALARIO
30.000
40.000
38.000
25.000
...
H
H
H
M
30.000
40.000
38.000
25.000
NSS_SUPERV
ND
333445555
888665555
333445555
333445555
5
5
5
5
Fig. 7.9. (b) Resultados de expresiones del álgebra relacional.
© C. P. G. 2007
FBD Tema 3
39
...
Operaciones de T. de conjuntos
Unión, intersección y diferencia.
•
•
•
Son operaciones binarias.
Su resultado es otra relación.
Las 2 relaciones han de tener igual tipo de tuplas:
Compatibilidad de unión.
R∪S
La Unión entre dos relaciones R y S nos da todas
las tuplas tanto de R como de S, eliminando las
que están repetidas.
R∩S
La Intersección entre dos relaciones R y S nos da
todas las tuplas comunes a R y S, eliminando las
que están repetidas.
R-S
La Diferencia entre dos relaciones R y S nos da
todas las tuplas de R que no están en S.
© C. P. G. 2007
FBD Tema 3
40
Operaciones de T. de conjuntos
Ejemplo de Unión
EMPS_DEP5
← σND=5(EMPLEADO)
RESULTADO1←πNSS(EMPS_DEP5)
RESULTADO2(NSS) ←πNSS_SUPERV (EMPS_DEP5)
RESULTADO← RESULTADO1∪ RESULTADO2
RESULTADO1
NSS
123456789
333445555
666884444
453453453
RESULTADO2
RESULTADO
NSS
123456789
333445555
666884444
453453453
888665555
NSS
333445555
888665555
Fig. 7.10.
© C. P. G. 2007
RESULTADO← RESULTADO1∪ RESULTADO2
FBD Tema 3
41
Ejemplos de unión e intersección
ALUMNO
NOM
Susana
Ramesh
Josué
Bárbara
Amanda
Jaime
Ernesto
NOM
Susana
Ramesh
APEL
Yáñez
Sánchez
Landa
Jaimes
Flores
Vélez
Gómez
PROFESOR
NOM
John
Ricardo
Susana
Francisco
Ramesh
APEL
Yáñez
Sánchez
Fig 7.11. (b)
ALUMNO ∩ PROFESOR
APEL
Smith
Bueno
Yáñez
Jiménez
Sánchez
NOM
Susana
Ramesh
Josué
Bárbara
Amanda
Jaime
Ernesto
John
Ricardo
Francisco
Fig. 7.11 (a)
Dos relaciones
compatibles
con la unión.
APEL
Yáñez
Sánchez
Landa
Jaimes
Flores
Vélez
Gómez
Smith
Bueno
Jiménez
Fig 7.11. (c)
ALUMNO ∪ PROFESOR
• Propiedades de Unión e intersección:
– Conmutativas:
R∪S=S∪R
R∩S=S∩R
– Asociativas:
(R ∪ S) ∪ T = R ∪ (S ∪ T)
(R ∩ S) ∩ T = R ∩ (S ∩ T)
© C. P. G. 2007
FBD Tema 3
42
Ejemplos de diferencia
ALUMNO
NOM
Susana
Ramesh
Josué
Bárbara
Amanda
Jaime
Ernesto
APEL
Yáñez
Sánchez
Landa
Jaimes
Flores
Vélez
Gómez
NOM
Josué
Bárbara
Amanda
Jaime
Ernesto
APEL
Landa
Jaimes
Flores
Vélez
Gómez
PROFESOR
NOM
John
Ricardo
Susana
Francisco
Ramesh
NOM
John
Ricardo
Francisco
APEL
Smith
Bueno
Yáñez
Jiménez
Sánchez
APEL
Smith
Bueno
Jiménez
Fig. 7.11. (e)
PROFESOR— ALUMNO
Fig. 7.11. (d)
ALUMNO — PROFESOR
• La diferencia no es conmutativa:
R — S ≠ S — R (en general)
© C. P. G. 2007
FBD Tema 3
43
Operaciones de T. de conjuntos
Producto cartesiano (CROSSJOIN).
• Intervienen dos relaciones.
• Esas relaciones no tienen por qué ser compatibles
con la unión.
PRODUCTO
CARTESIANO
R×S
El resultado del producto cartesiano consta de
todas las combinaciones posibles de cada tupla de
R seguida de otra de S. Es decir:
- Tiene todos los atributos de R y S; primero los de
R y seguidos los de S.
- Tiene n* m tuplas; siendo n el número de tuplas
de R y m el número de tuplas de S.
© C. P. G. 2007
FBD Tema 3
44
Ejemplo Producto cartesiano
• Ejemplo: Obtener los familiares de empleadas.
EMPS_MUJER
← σsexo=‘M’(EMPLEADO)
NOMBRESEMP←πNOMBRE,APELLIDO,NSS(EMPS_MUJER)
DEPENDIENTES_EMP ←
NOMBRESEMP × DEPENDIENTE
DEPENDIENTES_REALES←
σNSS=NSSE(DEPENDIENTES_EMP)
RESULTADO←πNOMBRE,APELLIDO,NOMBRE_DEPENDIENTE(DEPENDIENTES_REALES)
EMPS_MUJER
NOMBRE INIC APELLIDO
Alicia
Jennifer
Joyce
J
S
A
Zelaya
Wallace
English
NSS
FECHA_NCTO
DIRECCIÓN
999887777
987654321
453453453
1968-07-19
1941-06-20
1972-07-31
Castillo 3321, Sucre, TX
Bravo 291, Bellaire, TX
Rosas 5631, Houston, TX
...
SEXO SALARIO NSS_SUPERV ND
25.000
987654321
4
M
43.000
888665555
4
M
25.000
333445555
5
M
NOMBRES_EMP
NOMBRE APELLIDO
Alicia
Jennifer
Joyce
Zelaya
Wallace
English
NSS
999887777
987654321
453453453
Fig. 7.12.
© C. P. G. 2007
FBD Tema 3
45
...
Ejemplo Producto Cartesiano (2)
NOMBRES_EMP
DEPENDIENTE
NOMBRE
APELLIDO
NSS
Alicia
Jennifer
Joyce
Zelaya
Wallace
English
999887777
987654321
453453453
NSSE
NOMBRE_DEPENDIENTE
333445555
333445555
333445555
987654321
123456789
123456789
123456789
Alicia
Theodore
Joy
Abner
Michael
Alicia
Elizabeth
SEXO FECHA_NCTO PARENTESCO
M
H
M
H
H
M
M
1986-04-05
1983-10-25
1958-05-03
1942-02-28
1988-01-04
1988-12-31
1967-05-05
HIJA
HIJO
ESPOSA
ESPOSO
HIJO
HIJA
ESPOSA
DEPENDIENTES_EMP ←NOMBRES_EMP × DEPENDIENTE
DEPENDIENTES_EMP
NOMBRE
APELLIDO
NSS
NSSE
NOMBRE_DEPENDIENTE
SEXO
Alicia
Alicia
Alicia
Alicia
Alicia
Alicia
Alicia
Jennifer
Jennifer
Jennifer
Jennifer
Jennifer
Jennifer
Jennifer
Joyce
Joyce
Joyce
Joyce
Joyce
Joyce
Joyce
Zelaya
Zelaya
Zelaya
Zelaya
Zelaya
Zelaya
Zelaya
Wallace
Wallace
Wallace
Wallace
Wallace
Wallace
Wallace
English
English
English
English
English
English
English
999887777
999887777
999887777
999887777
999887777
999887777
999887777
987654321
987654321
987654321
987654321
987654321
987654321
987654321
453453453
453453453
453453453
453453453
453453453
453453453
453453453
333445555
333445555
333445555
987654321
123456789
123456789
123456789
333445555
333445555
333445555
987654321
123456789
123456789
123456789
333445555
333445555
333445555
987654321
123456789
123456789
123456789
Alicia
Theodore
Joy
Abner
Michael
Alicia
Elizabeth
Alicia
Theodore
Joy
Abner
Michael
Alicia
Elizabeth
Alicia
Theodore
Joy
Abner
Michael
Alicia
Elizabeth
M
H
M
H
H
M
M
M
H
M
H
H
M
M
M
H
M
H
H
M
M
Fig. 7.12
© C. P. G. 2007
FBD Tema 3
46
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Ejemplo Producto Cartesiano (3)
DEPENDIENTES_EMP
NOMBRE
APELLIDO
NSS
NSSE
NOMBRE_DEPENDIENTE
SEXO
Alicia
Alicia
Alicia
Alicia
Alicia
Alicia
Alicia
Jennifer
Jennifer
Jennifer
Jennifer
Jennifer
Jennifer
Jennifer
Joyce
Joyce
Joyce
Joyce
Joyce
Joyce
Joyce
Zelaya
Zelaya
Zelaya
Zelaya
Zelaya
Zelaya
Zelaya
Wallace
Wallace
Wallace
Wallace
Wallace
Wallace
Wallace
English
English
English
English
English
English
English
999887777
999887777
999887777
999887777
999887777
999887777
999887777
987654321
987654321
987654321
987654321
987654321
987654321
987654321
453453453
453453453
453453453
453453453
453453453
453453453
453453453
333445555
333445555
333445555
987654321
123456789
123456789
123456789
333445555
333445555
333445555
987654321
123456789
123456789
123456789
333445555
333445555
333445555
987654321
123456789
123456789
123456789
Alicia
Theodore
Joy
Abner
Michael
Alicia
Elizabeth
Alicia
Theodore
Joy
Abner
Michael
Alicia
Elizabeth
Alicia
Theodore
Joy
Abner
Michael
Alicia
Elizabeth
M
H
M
H
H
M
M
M
H
M
H
H
M
M
M
H
M
H
H
M
M
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
DEPENDIENTES_REALES←σNSS=NSSE(DEPENDIENTES_EMP)
DEPENDIENTES_REALES
NOMBRE APELLIDO
Jennifer
Wallace
NSS
NSSE
NOMBRE_DEPENDIENTE
SEXO
Abner
H
987654321 987654321
...
...
RESULTADO← πNOMBRE,APELLIDO,NOMBRE_DEPENDIENTE(DEPENDIENTES_REALES)
RESULTADO
NOMBRE
APELLIDO
NOMBRE_DEPENDIENTE
Jennifer
Wallace
Abner
© C. P. G. 2007
FBD Tema 3
47
REUNIÓN
R
Reunión (JOIN)
<condición de reunión>S
El resultado de la Reunión consta de
todas las combinaciones de cada tupla de
R seguida de otra de S, que satisfagan la
condición de reunión.
Es equivalente a un producto cartesiano
seguido de una selección.
•
•
•
•
Combina tuplas relacionadas de 2 relaciones.
Operación muy importante para una BDR.
Permite procesar vínculos entre relaciones.
Eliminación de duplicados.
• Las relaciones que intervienen no tienen por qué ser
compatibles con la unión.
• Su resultado puede tener un máximo de n* m tuplas
(si todas las tuplas cumplen la condición de
reunión).
© C. P. G. 2007
FBD Tema 3
48
Ejemplo de Reunión
• Ejemplo: Obtener el nombre del departamento y el
nombre (nombre y apellido) del jefe de cada
departamento.
JEFE_DEPTO ←
DEPARTAMENTO
NSS_JEFE=NSS
EMPLEADO
(se lee: reunión entre departamento y empleado con
NSS_JEFE= NSS)
RESULTADO ←
πNOMBRED,APELLIDO,NOMBRE(JEFE_DEPTO)
JEFE_DEPTO
NOMBRED
NÚMEROD
Investigación
Administración
Dirección
5
4
1
NSS
...
FECHA_NCTO
333445555 1955-12-08
987654321 1941-06-20
888665555 1937-11-10
NSS_JEFE FECHA_INIC_JEFE NOMBRE INIC APELLIDO
333445555
987654321
888665555
1988-05-22
1995-01-01
1981-06-19
DIRECCIÓN
Franklin
Jennifer
Jaime
T
S
E
SEXO SALARIO NSS_SUPERV ND
Valle 638, Houston, TX
Bravo 291, Bellaire, TX
Sorgo 450, Houston, TX
H
M
H
40.000
43.000
55.000
888665555
888665555
nulo
5
4
1
Fig. 7.13. La operación REUNIÓN.
© C. P. G. 2007
...
Wong
Wallace
Borg
FBD Tema 3
49
Ejemplo de Reunión (2)
• En el ejemplo del producto cartesiano:
DEPENDIENTES_EMP ←
NOMBRES_EMP × DEPENDIENTE
DEPENDIENTES_REALES←
σNSS=NSSE(DEPENDIENTES_EMP)
• Lo anterior equivale a:
DEPENDIENTES_REALES ←
NOMBRES_EMP
NSS=NSSE DEPENDIENTE
© C. P. G. 2007
FBD Tema 3
50
Condición de reunión
Tipos de reunión (JOIN)
Condición de reunión:
– En términos de atributos de R y S.
– Evaluada por cada combinación de tuplas.
– Tiene la forma:
<condición> Y <condición> Y ... Y <condición>
– Cada condición tiene la forma:
donde Ai ∈ R y Bj ∈ S
• Ai θ Bj
• θ ∈ {=, <, ≤, >, ≥, ≠}
Tipos de reunión:
• Reunión Theta (θ
θ ): Cualquier operación de
reunión.
– Las tuplas cuyo atributo de reunión sea nulo
NO aparecen en el resultado.
• Equirreunión (Equijoin): Las que sólo utilizan
comparaciones de igualdad.
– El resultado siempre tiene pares de atributos
con valores idénticos en todas las tuplas.
© C. P. G. 2007
FBD Tema 3
51
Condición de reunión
Tipos de reunión (2)
• Reunión natural (Natural join):
– Equirreunión seguida de la eliminación de
atributos superfluos (se eliminan los atributos
cuyo nombre se repite).
– Reunión en base a todos los pares de atributos
de igual nombre.
– Exige algún par de atributos de igual nombre
en las dos relaciones que intervienen.
– Se identifica con *.
REUNIÓN
NATURAL
R*S
Una Reunión Natural es un tipo de Reunión
en la que la condición de reunión está formada
por tantas condiciones de igualdad unidas
mediante el operador lógico Y como pares
de atributos tengan el mismo nombre en R
y S.
© C. P. G. 2007
FBD Tema 3
52
Ejemplo de reunión natural
Añadir a cada proyecto la información del
departamento que lo controla
DEPTO(NOMBRED, ND,NSS_JEFE,FECHA_INIC_JEFE) ←
DEPARTAMENTO
PROY_DEPTO ← PROYECTO * DEPTO
•
ND es
el atributo de reunión.
DEPTO
NOMBRED
ND
NSS_JEFE
FECHA_INIC_JEFE
Investigación
Administración
Dirección
5
4
1
333445555
987654321
888665555
1988-05-22
1995-01-01
1981-06-19
PROYECTO
NOMBREP
NÚMEROP LOCALIZACIÓNP
ProductoX
ProductoY
ProductoZ
Automatización
Reorganización
Nuevos beneficios
1
2
3
10
20
30
Bellaire
Sugarland
Houston
Stafford
Houston
Stafford
ND
5
5
5
4
1
4
PROY_ DEPTO
NOMBREP
NÚMEROP LOCALIZACIÓNP
ProductoX
ProductoY
ProductoZ
Automatización
Reorganización
Nuevos beneficios
1
2
3
10
20
30
Bellaire
Sugarland
Houston
Stafford
Houston
Stafford
ND
NOMBRED
5
5
5
4
1
4
Investigación
Investigación
Investigación
Administración
Dirección
Administración
NSS_JEFE FECHA_INIC_JEFE
333445555
333445555
333445555
987654321
888665555
987654321
1988-05-22
1988-05-22
1988-05-22
1995-01-01
1981-06-19
1995-01-01
Fig. 7.14. (a) PROY_ DEPTO ← PROYECTO * DEPTO
© C. P. G. 2007
FBD Tema 3
53
Ejemplo de reunión natural (2)
Añadir los lugares de ubicación de cada departamento
DEPTO_LOCS ←
DEPARTAMENTO * LOCALIZACIONES_DEPT
DEPARTAMENTO
NOMBRED
Investigación
Administración
Dirección
NÚMEROD NSS_JEFE FECHA_INIC_JEFE
5
4
1
333445555
987654321
888665555
1988-05-22
1995-01-01
1981-06-19
LOCALIZACIONES_DEPT
NÚMEROD LOCALIZACIÓND
1
4
5
5
5
Houston
Stafford
Bellaire
Sugarland
Houston
DEPTO_ LOCS
NOMBRED
Dirección
Administración
Investigación
Investigación
Investigación
NÚMEROD NSS_JEFE FECHA_INIC_JEFE LOCALIZACIÓND
1
4
5
5
5
888665555
987654321
333445555
333445555
333445555
1981-06-19
1995-01-01
1988-05-22
1988-05-22
1988-05-22
Houston
Stafford
Bellaire
Sugarland
Houston
Fig. 7.14.(b) La operación REUNIÓN NATURAL.
• En este ejemplo sólo hay un par de atributos de
igual nombre (NÚMEROD).
• Si hubiera más pares con igual nombre se
seleccionarían sólo las tuplas que igualen todas las
parejas de atributos.
© C. P. G. 2007
FBD Tema 3
54
Selectividad de reunión.
Conjunto completo
• Selectividad de reunión:
Razón que se obtiene dividiendo el tamaño
esperado para la reunión (se realiza una estimación)
entre el tamaño máximo posible (nº de tuplas de R*
nº de tuplas de S).
• El álgebra relacional es un Conjunto completo:
– Cualquier operación del álgebra relacional se
puede expresar como secuencia de operaciones
del conjunto {σ, π, ∪, —, × }.
– Operaciones tan importantes como la reunión
no son estrictamente necesarias.
– Se mantienen por comodidad y frecuencia de
uso.
© C. P. G. 2007
FBD Tema 3
55
División
R(Z) ÷ S(X)
Z: Atributos de R
X: Atributos de S
Para dividir se tiene que cumplir que X ⊆ Z
Y: Son los atributos de R que no están en S,
es decir, R-S. Constituyen los atributos del
resultado de la división.
Devuelve cada conjunto de atributos Y de R
que tenga a todos y cada uno de los X
distintos que haya en S.
• Ejemplo: T ← R ÷ S
R
T
S
A
B
A
B
a1
a2
a3
a4
a1
a3
a2
a3
a4
a1
a2
a3
b1
b1
b1
b1
b2
b2
b3
b3
b3
b4
b4
b4
a1
a2
a3
b1
b4
Fig. 7.15 (b)
• En el ejemplo: Z={A,B}; X={A}; Y={B}
© C. P. G. 2007
FBD Tema 3
56
Ejemplo de División
• Obtener los nombres de los empleados que trabajan
en todos y cada uno de los proyectos en los que
trabaja John Smith.
SMITH ←
σNOMBRE=‘John’ Y APELLIDO=‘Smith’(EMPLEADO)
← πNP(TRABAJA_EN NSSE=NSS SMITH)
NÚMSP_SMITH
NÚMSP_SMITH
NP
1
Fig. 7.15 (a)
2
NSS_NÚMSP
← πNP,NSSE(TRABAJA_EN)
NSSS(NSS)← NSS_NÚMSP ÷ NÚMSP_SMITH
NSS_NÚMSP
NP
1
2
3
1
2
2
3
10
20
30
10
10
30
30
20
20
RESULTADO
© C. P. G. 2007
NSSE
123456789
123456789
666884444
453453453
453453453
333445555
333445555
333445555
333445555
999887777
999887777
987987987
987987987
987654321
987654321
888665555
NSSS
NSS
123456789
453453453
Fig. 7.15 (a)
← πNOMBRE, APELLIDO(NSSS * EMPLEADO)
FBD Tema 3
57
Otras operaciones relacionales
• Los SGBD introducen operaciones no estándar en
el álgebra relacional: funciones agregadas, cierre
recursivo, reunión y unión externa.
Funciones agregadas (ℑ
ℑ)
<atribs agrupación>
F GÓTICA
ℑ <lista funciones> (R)
Devuelve una relación con los resultados de la lista
de funciones agrupados por los atributos indicados.
<atribs agrupación>: Uno o varios atributos
separados por comas. Son los atributos por los que
queremos que aparezca cada resultado.
<lista funciones>: Son pares de la forma
<función agregada> <atributo> separados por comas.
<función agregada>: Las más comunes son:
CUENTA : Contabiliza el número de tuplas no nulas
del atributo indicado.
SUMA: Suma el contenido de las tuplas del atributo
indicado.
PROMEDIO: Lo mismo para la media.
MÁXIMO: Calcula el valor máximo contenido
en las tuplas del atributo indicado.
MÍNIMO: Lo mismo para el valor mínimo.
© C. P. G. 2007
FBD Tema 3
58
Otras operaciones relacionales (2)
Ejemplos de Funciones agregadas (ℑ
ℑ)
R(ND, NÚM_DE_EMPLEADOS,PROMEDIO_SALARIO)
← ND ℑ CUENTA NSS, PROMEDIO SALARIO(EMPLEADO)
R
ND NÚM_DE_EMPLEADOS PROMEDIO_SALARIO
5
4
33250
4
3
31000
1
1
55000
•
Fig. 7.16.
La operación
FUNCIÓN.
R2← ND ℑ CUENTA NSS, PROMEDIO SALARIO(EMPLEADO)
R2
ND CUENTA_NSS PROMEDIO_SALARIO
5
4
33250
4
3
31000
1
1
55000
•
R3← ℑ CUENTA NSS, PROMEDIO SALARIO(EMPLEADO)
R3
CUENTA_NSS PROMEDIO_SALARIO
8
35125
© C. P. G. 2007
FBD Tema 3
59
Otras operaciones relacionales (3)
Cierre recursivo
• Se aplica a un vínculo recursivo (como SUPERVISA).
• Ej: Obtener los supervisados por James Borg a
todos los niveles (directa o indirectamente).
SUPERVISIÓN
NSS1
NSS2
123456789
333445555
999887777
987654321
666884444
453453453
987987987
888665555
333445555
888665555
987654321
888665555
333445555
333445555
987654321
nulo
NSS_BORG
888665555
RDO2
NSS
RDO1
NSS
333445555
987654321
123456789
999887777
666884444
453453453
987987987
NSS_BORG ←
πNSS(σNOMBRE=‘James’ Y APELLIDO=‘Borg’EMPLEADO))
πNSS, NSS_SUPERV(EMPLEADO)
SUPERVISIÓN (NSS1, NSS2) ←
Supervisados directamente por Borg:
RDO1 (NSS)
← πNSS1(SUPERVISIÓN
NSS2=NSSNSS_BORG)
Supervisados por los subordinados directos de Borg:
RDO2 (NSS)
← πNSS1(SUPERVISIÓN
NSS2=NSSRDO1)
Supervisados en los niveles 1 y 2 por Borg:
RDO
← RDO1 ∪ RDO2
© C. P. G. 2007
FBD Tema 3
60
Otras operaciones relacionales (4)
Reunión externa izquierda R ]×| S
•
Conserva todas las tuplas de R aunque sea rellenando todos los
campos correspondientes a S con valores nulos.
•
TEMP ← EMPLEADO ]×|NSS=NSS_JEFE DEPARTAMENTO
•
RESULTADO ← πNOMBRE, INIC, APELLIDO, NOMBRED(TEMP)
EMPLEADO
...
DEPARTAMENTO
APELLIDO
NSS
ND
Smith
Wong
Zelaya
Wallace
Narayan
English
Jabbar
Borg
123456789
333445555
999887777
987654321
666884444
453453453
987987987
888665555
5
5
4
4
5
5
4
1
...
NOMBRED NÚMERODNSS_JEFE
Investigación
Administración
Dirección
5
4
1
333445555
987654321
888665555
Fig. 7.18. La operación
REUNIÓN EXTERNA
IZQUIERDA
RESULTADO
NOMBRE
Jon
Franklin
Alicia
Jennifer
Ramesh
Joyce
Ahmad
Jaime
INIC
B
T
J
S
K
A
V
E
APELLIDO NOMBRED
Smith
nulo
Wong
Investigación
Zelaya
nulo
Wallace Administración
Narayan
nulo
English
nulo
Jabbar
nulo
Borg
Dirección
Reunión externa derecha R |×[ S
Reunión externa completa R ]×[ S
© C. P. G. 2007
FBD Tema 3
61
...
Otras operaciones relacionales (5)
Unión externa
• Unión de tuplas parcialmente compatibles.
• El resultado conserva los atributos no compatibles.
• Las tuplas sin valor para atributos no compatibles
tienen valor nulo.
Ejemplo: Atributos CENTRO y DPTO incompatibles.
PROFESOR
ALUMNO
NOMBRE APELLIDO CENTRO NOMBRE APELLIDO DPTO
Susana
Yáñez
FISS
John
Smith
1
Ramesh
Sánchez
FDSS
Ricardo
Bueno
2
Josué
Landa
FQSS
Susana
Yáñez
1
Bárbara
Jaimes
FISS
Ramesh
Sánchez
3
Amanda
Flores
EPSS
RESULTADO
NOMBRE APELLIDO CENTRO DPTO
Susana
Yáñez
FISS
1
Ramesh
Sánchez
FDSS
3
Josué
Landa
FQSS
nulo
Bárbara
Jaimes
FISS
nulo
Amanda
Flores
EPSS
nulo
John
Smith
nulo
1
Ricardo
Bueno
nulo
2
© C. P. G. 2007
FBD Tema 3
62
Consultas álgebra relacional
C1) Nombre y dirección de los empleados del departamento
de investigación.
DEPTO_INV←σNOMBRED=‘Investigación’(DEPARTAMENTO)
EMPS_DEPTO_INVEST←DEPTO_INV
NUMEROD=ND EMPLEADO
RESULTADO ← πNOMBRE,APELLIDO,DIRECCIÓN (EMPS_DEPTO_INVEST)
¿Con *?
EMPLEADO
NOMBRE INICAPELLIDO NSS FECHA_NCTO DIRECCIÓN
...
...
SEXO SALARIO NSS_SUPERV ND
DEPARTAMENTO
NOMBRED NÚMEROD NSS_JEFE FECHA_INIC_JEFE
PROYECTO
NOMBREP NÚMEROP LOCALIZACIÓNP NUMD
C2) Nº de proyecto, nº de departamento que lo controla,
apellido, dirección y fecha de nacimiento del gerente del
departamento de todos los proyectos realizados en
Stafford.
PROYS_STAFFORD←σLOCALIZACIÓNP=‘Stafford’(PROYECTO)
DEPTO_CONTR←
PROYS_STAFFORD
NUMD=NÚMEROD
JEFE_DEPTO_PROY← DEPTO_CONTR
RESULTADO ←
DEPARTAMENTO
NSS_JEFE=NSS
EMPLEADO
πNÚMEROP,NUMD,APELLIDO,DIRECCIÓN,
FECHA_NCTO (JEFE_DEPTO_PROY)
© C. P. G. 2007
FBD Tema 3
63
Consultas álgebra relacional (2)
C3) Nombre de los empleados que trabajan en todos los proyectos
del departamento 5.
PROYS_DEPTO5(NP)← πNÚMEROP (σNUMD=5 (PROYECTO))
EMP_PROY(NSS,NP) ← πNSSE,NP (TRABAJA_EN)
RESUL_NSS_EMP← EMP_PROY ÷ PROYS_DEPTO5
RESULTADO ← πAPELLIDO, NOMBRE (RESUL_NSS_EMP * EMPLEADO)
EMPLEADO
NOMBRE INICAPELLIDONSS FECHA_NCTO DIRECCIÓN
...
...
SEXO SALARIO NSS_SUPERV ND
DEPARTAMENTO
NOMBRED NÚMEROD NSS_JEFE FECHA_INIC_JEFE
PROYECTO
NOMBREPNÚMEROPLOCALIZACIÓNP NUMD
TRABAJA_EN
NSSE NP HORAS
C4) Números de proyecto donde interviene Wong como trabajador
o como director del dpto. que lo controla.
WONGS(NSSE)← πNSS (σAPELLIDO=‘Wong’ (EMPLEADO))
WONG_TRAB_PROYS← πNP (TRABAJA_EN * WONGS)
JEFES ←πAPELLIDO, NÚMEROD (EMPLEADO
NSS=NSS_JEFE
DEPARTAMENTO)
DPTOS_DIRIG_WON(NUMD)←
πNÚMEROD(σAPELLIDO=‘Wong’ (JEFES))
WONG_JEFE_PROYS(NP) ←
πNÚMEROP (DPTOS_DIRIG_WON * PROYECTO)
RESULTADO ← WONG_TRAB_PROYS ∪ WONG_JEFE_PROYS
© C. P. G. 2007
FBD Tema 3
64
Consultas álgebra relacional (3)
EMPLEADO
NOMBRE INIC APELLIDO NSS FECHA_NCTO DIRECCIÓN SEXO
...
...
SALARIO NSS_SUPERV ND
DEPARTAMENTO
NOMBRED NÚMEROD NSS_JEFE FECHA_INIC_JEFE
DEPENDIENTE
NSSE NOMBRE_DEPENDIENTE
SEXO FECHA_NCTO PARENTESCO
C5) Empleados (apellido, nombre) con 2 o más dependientes.
←
ℑ CUENTA NOMBRE_DEPENDIENTE (DEPENDIENTE)
T2 ← σNUM_DE_DEPS>=2 (T1)
RESULTADO ← π APELLIDO, NOMBRE, (T2 * EMPLEADO)
T1(NSS, NUM_DE_DEPS)
NSSE
C6) Empleados (apellido, nombre) sin dependientes.
← πNSS(EMPLEADO)
← πNSSE(DEPENDIENTE)
EMPS_SIN_DEPS ← TODOS_EMPS — EMPS_CON_DEPS
RESULTADO ←
πAPELLIDO, NOMBRE(EMPS_SIN_DEPS * EMPLEADO)
TODOS_EMPS
EMPS_CON_DEPS(NSS)
C7) Jefes de depto (apellido, nombre) con algún dependiente
← πNSS_JEFE(DEPARTAMENTO)
← πNSSE(DEPENDIENTE)
JEFES_CON_DEPS←JEFES ∩ EMPS_CON_DEPS
RESULTADO←
πAPELLIDO, NOMBRE(JEFES_CON_DEPS * EMPLEADO)
JEFES(NSS)
EMPS_CON_DEPS(NSS)
© C. P. G. 2007
FBD Tema 3
65
© C. P. G. 2007
FBD Tema 3
66
Elmasri & Navathe 7.19
Analizar todas las R.I. que viola cada operación cuando se
ejecuta sobre la BD de la figura 7.6:
a) Insertar <‘Robert’, ‘F’, ‘Scott’, ‘943775543’, ‘1952-06-21’,
‘2365 Ave. Naranjos, Bellaire TX’, ‘H’, 58000,
‘888665555’, 1> en EMPLEADO.
b) Insertar <‘ProductoA’, 4,‘Bellaire’, 2> en PROYECTO.
c) Insertar <‘Producción’, 4, ‘943775543’, ‘1998-10-01’> en
DEPARTAMENTO.
d) Insertar <‘677678989’, nulo, ‘40.0’> en TRABAJA_EN.
e) Insertar <‘453453453’, ‘John’, ‘H’, ‘1970-12-12’,
‘ESPOSO’> en DEPENDIENTE.
f) Eliminar tuplas de TRABAJA_EN con NSSE=‘333445555’.
g) Eliminar la tupla de EMPLEADO con NSS= ‘987654321’.
h) Eliminar la tupla de PROYECTO con NOMBREP=‘ProductoX’.
i) Modificar NSS_JEFE y FECHA_INIC_JEFE en las tuplas de
DEPARTAMENTO con NÚMEROD=5 por los valores
‘123456789’ y ‘1999-10-01’ respectivamente.
j) Modificar NSS_SUPERV en las tuplas de EMPLEADO con
NSS=‘999887777’ por el valor ‘943775543’.
k) Modificar HORAS de la tupla TRABAJA_EN con
NSSE=‘999887777’ y NP=10 por el valor ‘5.0’.
DEPENDIENTE
NSSE
NOMBRE_DEPENDIENTE SEXO FECHA_NCTO PARENTESCO
333445555
333445555
333445555
987654321
123456789
123456789
123456789
Alicia
Theodore
Joy
Abner
Michael
Alicia
Elizabeth
M
H
M
H
H
M
M
1986-04-05
1983-10-25
1958-05-03
1942-02-28
1988-01-04
1988-12-31
1967-05-05
HIJA
HIJO
ESPOSA
ESPOSO
HIJO
HIJA
ESPOSA
Figura 7.6.
© C. P. G. 2007
FBD Tema 3
67
Elmasri & Navathe 7.19 (2)
EMPLEADO
NOMBRE INIC APELLIDO
John
Franklin
Alicia
Jennifer
Ramesh
Joyce
Ahmad
Jaime
B
T
J
S
K
A
V
E
Smith
Wong
Zelaya
Wallace
Narayan
English
Jabbar
Borg
NSS
123456789
333445555
999887777
987654321
666884444
453453453
987987987
888665555
TRABAJA_EN
NP
HORAS
123456789
123456789
666884444
453453453
453453453
333445555
333445555
333445555
333445555
999887777
999887777
987987987
987987987
987654321
987654321
888665555
1
2
3
1
2
2
3
10
20
30
10
10
30
30
20
20
32.5
7.5
40.0
20.0
20.0
10.0
10.0
10.0
10.0
30.0
10.0
35.0
5.0
20.0
15.0
nulo
...
© C. P. G. 2007
H
H
M
M
H
M
H
H
333445555
888665555
987654321
888665555
333445555
333445555
987654321
nulo
5
5
4
4
5
5
4
1
NÚMEFECHANSS_JEFE
ROD
INIC-JEFE
NOMBRED
333445555 1988-05-22
987654321 1995-01-01
888665555 1981-06-19
Investigación 5
Administración 4
Dirección
1
LOCALIZACIONES_DEPT
LOCALINÚMEROD
ZACIÓND
NÚME- LOCALINUMD
ROP ZACIÓNP
1
2
3
10
20
30
30.000
40.000
25.000
43.000
38.000
25.000
25.000
55.000
DEPARTAMENTO
PROYECTO
ProductoX
ProductoY
ProductoZ
Automatización
Reorganización
Nuevos beneficios
DIRECCIÓN
1965-01-09 Fresnos 731, Houston, TX
1955-12-08 Valle 638, Houston, TX
1968-07-19 Castillo 3321, Sucre, TX
1941-06-20 Bravo 291, Bellaire, TX
1962-09-15 Espiga 875, Heras, TX
1972-07-31 Rosas 5631, Houston, TX
1969-03-29 Dalias 980, Houston, TX
1937-11-10 Sorgo 450, Houston, TX
SEXO SALARIO NSS_SUPERV ND
NSSE
NOMBREP
FECHA_NCTO
Bellaire
Sugarland
Houston
Stafford
Houston
Stafford
5
5
5
4
1
4
FBD Tema 3
1
4
5
5
5
Houston
Stafford
Bellaire
Sugarland
Houston
Figura 7.6 (cont)
68
...
Ejercicio 1: Transformación ERRelacional
• Transformar a relacional el esquema ER de la figura:
Nombre
Sexo
DEPENDIENTE
Fecha_ncto
N
Parentesco
DEPENDIENTES_DE
1
NomP
Paterno Materno
Nombre
Fecha_
ncto NSS
Sexo
Dir
Salario
supervisor
EMPLEADO
N
1
PERTENECE_A
DIRIGE
1
SUPERVISIÓN
supervisado
N
FechaInic
1
1
Nombre
DEPARTAMENTO
N
1
Número
Lugares
NDeEmpleados
Horas
TRABAJA_EN
M
CONTROLA
N
PROYECTO
Nombre
Número
Lugar
© C. P. G. 2007
FBD Tema 3
69
Ejercicio 2: Transformación ERRelacional
B1
A1
A2
A
M
B
N
1
M
B2
B3
M
N
R1
N
C1
P
N
C
C2
1
N
E
E1
D
1
1
N
1
D2
R2
M
N
R3
R4
© C. P. G. 2007
D1
F
F1
R5
FBD Tema 3
70
Ejercicio 3: Transformación ERRelacional
A1
A2
B1
A3
AB
M
A
B2
B3
1
N
B
N
1
AC
M
M
N
C1
C
C2
BD
N
N
P
N
1
1
D
D1
BDE
N
CD
D2
1
1
D3
E
E1
E2
D11 D12
© C. P. G. 2007
FBD Tema 3
71
Ejercicios: Operaciones del álgebra
EMP
DEP
NOMBRE NSS ND
NUMD NOMD
Iker
Ana
Jon
Karmele
11
22
33
44
1
1
2
2
TRAB
PROY
1
2
LSI
ATC
NP NOMBRE
1
2
3
4
.NET
XML
EJB
UML
NSSE NP HORAS
11
11
22
22
44
1
2
1
3
3
5
2
3
1
4
Dibujar las relaciones resultantes de realizar las siguientes
operaciones del álgebra relacional:
•
NSS de los que trabajan más de 1 hora en el proyecto 1:
PRY1_MAS1HORA←
σNP=1 Y HORAS>1 (TRAB)
R1 ← πNSSE (PRY1_MAS1HORA)
•
NP de los proyectos en los que trabaja alguna persona:
R2← πNP (TRAB)
•
NP de los proyectos en los que NO trabaja ninguna persona:
TODOS_PRY ← πNP (PROY)
R3← TODOS_PRY - R2
•
Información de cada persona asociada a la información de
SU departamento:
R4 ← EMP
•
ND=NUMD
DEP
Nombre de cada persona junto al nombre del departamento
en el que trabaja:
R5 ← πNOMBRE, NOMD (R4)
© C. P. G. 2007
FBD Tema 3
72
Ejercicios: Operaciones del álgebra (2)
EMP
DEP
NOMBRE NSS ND
NUMD NOMD
Iker
Ana
Jon
Karmele
•
11
22
33
44
1
1
2
2
1
2
PROY
TRAB
NP NOMBRE
LSI
ATC
1
2
3
4
.NET
XML
EJB
UML
NSSE NP HORAS
11
11
22
22
44
1
2
1
3
3
5
2
3
1
4
Nombre y NSS de cada empleado junto al número de cada
proyecto en el que trabaja:
PERS ← πNOMBRE, NSS(EMP)
TRB(NSS,NP) ← πNSSE, NP (TRAB)
R6← PERS * TRB
•
Nombre de cada empleado junto al nombre de cada proyecto
en el que trabaja:
PRY(NP,NOMP) ← PROY
PERS_PRY ← R6 * PRY
R7← πNOMBRE, NOMP(PERS_PRY)
– ¿Qué cambia en PERS_PRY si se usa PROY en lugar
de PRY?
© C. P. G. 2007
FBD Tema 3
73
Elmasri & Navathe 7.18
EMPLEADO
NOMBRE INIC APELLIDO NSS FECHA_NCTO DIRECCIÓN SEXO
...
SALARIO
...
NSS_SUPERV ND
DEPARTAMENTO
NOMBRED NÚMEROD NSS_JEFE FECHA_INIC_JEFE
LOCALIZACIONES_DEPT
NÚMEROD LOCALIZACIÓND
PROYECTO
NOMBREP NÚMEROP LOCALIZACIÓNP NUMD
TRABAJA_EN
NSSE
NP
HORAS
DEPENDIENTE
NSSE
NOMBRE_DEPENDIENTE
SEXO FECHA_NCTO PARENTESCO
Figura 7.7. Restricciones de integridad referencial
representadas en el esquema de la base de
datos relacional EMPRESA.
© C. P. G. 2007
FBD Tema 3
74
Elmasri & Navathe 7.18 (2)
Sobre el esquema de BD de la figura 7.7:
a) Empleados (nombre, apellido) del departamento 5 que
trabajan más de 10 horas/semana en el proyecto
‘ProductoX’.
b) Empleados con un dependiente con su mismo nombre de
pila.
c) Empleados cuyo jefe directo es ‘Franklin Wong’.
d) Nombre de cada proyecto junto al número total de horas
trabajadas por los empleados en él.
e) Nombres y apellidos de todos los empleados que trabajan
en cada uno de los proyectos. Hacerlo de dos maneras:
Nombre del empleado junto al nombre de cada
proyecto en el que trabaja.
Nombres de los empleados que trabajen en todos y
cada uno de los proyectos de la empresa.
f) Empleados que no trabajan en ningún proyecto.
g) Nombre de cada departamento junto al salario medio de
los empleados asignados al mismo.
h) Salario medio de las empleadas de la empresa.
i) Nombre y dirección de los empleados que trabajan en
algún proyecto que, por una parte, está situado en
Houston y por otra el proyecto pertenece a un
departamento que no está situado en Houston.
j) Apellidos de los jefes de departamento sin dependientes.
© C. P. G. 2007
FBD Tema 3
75
Elmasri & Navathe 7.20
AEROPUERTO
CÓD_AEROPUERTO NOMBRE
CIUDAD
ESTADO
VUELO
NÚMERO
Fig. 7.19. Esquema de la
base de datos relacional
LÍNEAS AÉREAS
LÍNEA DÍAS
TRAMO_VUELO
NÚM_VUELO NÚM_TRAMO
CÓD_AEROPUERTO_SALE HORA_SALIDA_PROGRAMADA
CÓD_AEROPUERTO_LLEGA HORA_LLEGADA_PROGRAMADA
EJEMPLAR_TRAMO
NÚM_VUELO NÚM_TRAMO FECHA NÚM_ASIENTOS_DISPONIBLES
ID_AVIÓN CÓD_AEROPUERTO_SALE HORA_SALIDA
CÓD_AEROPUERTO_LLEGA HORA_LLEGADA
TARIFAS
NÚM_VUELO CÓD_TARIFA IMPORTE RESTRICCIONES
TIPO_AVIÓN
NOMBRE_TIPO MAX_ASIENTOS COMPAÑÍA
PUEDE_ATERRIZAR
NOMBRE_TIPO_AVIÓN CÓD_AEROPUERTO
AVIÓN
ID_AVIÓN TOTAL_DE_ASIENTOS
TIPO_AVIÓN
RESERVA_ASIENTOS
NÚM_VUELO NÚM_TRAMO FECHA NÚM_ASIENTO
NOMBRE_CLIENTE TFNO_CLIENTE
© C. P. G. 2007
FBD Tema 3
76
Elmasri & Navathe 7.20 (2)
Sobre el esquema de BD de la figura 7.19:
A) Números de vuelo junto al aeropuerto de salida de
su primer tramo y aeropuerto de llegada de su
último tramo.
B) Número de vuelo y día, de los vuelos o tramos de
vuelo que salen del aeropuerto ‘Houston
Intercontinental’ (código ‘IAH’) y llegan al
aeropuerto ‘Internacional de los Ángeles’ (código
‘LAX’).
C) Prepara una lista con número de vuelo, código de
aeropuerto de salida, horas de salida programadas, y
días, de todos los vuelos o tramos de vuelo que
salgan de algún aeropuerto de ‘Houston’ y lleguen a
algún aeropuerto de ‘Los Ángeles’.
D) Obtén toda la información de tarifas del vuelo
‘CO197’.
E) Obtén el número de asientos disponibles en el vuelo
‘CO197’ del ‘1999-10-09’.
Se supone que cada vuelo está formado por uno o
varios tramos, que se numeran en orden ascendente.
Ejemplo:
El vuelo CO197 consta de 3 tramos (1,2 y 3)
© C. P. G. 2007
FBD Tema 3
77
Elmasri & Navathe 7.23
Consultas sobre la
BD BIBLIOTECA
A) Número de copias de la tribu perdida en la sucursal de
'Sharpstown'.
B) Identificador de sucursal y número de copias del libro
La tribu Perdida en cada una de las sucursales.
C) Nombres de lectores sin libros en préstamo.
D) Título del libro, nombre y dirección del lector de los
préstamos de la sucursal de 'Sharpstown' con fecha de
devolución la de hoy.
E) Por cada sucursal: Nombre y total de ejemplares de
libro en préstamo.
F) Para los lectores con más de 5 libros en préstamo,
obtener su nombre, dirección y nº de libros.
G) Por cada libro escrito total o parcialmente por Stephen
King, obtener su título y el nº de copias en la sucursal
‘Central’.
AUTORES_LIBROS
LIBRO
IdLibro Título NombreEditorial
IdLibro NombreAutor
EDITORIAL
COPIAS_LIBRO
Nombre Dirección Teléfono
IdLibro IdSucursal NúmCopias
PRÉSTAMOS
IdLibro IdSucursal NúmTarjeta FechaSale FechaDevol
SUCURSAL
IdSucursal NombreSucursal Dirección
LECTOR
NúmTarjeta Nombre Dirección Teléfono
© C. P. G. 2007
FBD Tema 3
78
Consultas sobre la BD BUQUES
1. Nombres de los buques que hayan visitado puertos
de todos los mares.
2. Nombres de aquellos buques que, en el mismo día,
hayan salido de un puerto y llegado a otro puerto
situado en un mar distinto al del puerto de partida,
junto al nombre de los mares visitados.
3. Número de países visitados por cada buque que
haya visitado algún puerto.
4. Nombres de aquellos buques que hayan ido en
menos de 5 días desde el puerto de Santander al de
Cádiz, habiendo hecho escala en el puerto de Vigo.
5. Nombre y país de los puertos que hayan sido
visitados por todos los buques.
6. Nombre y país de aquellos puertos que hayan sido
visitados por buques de todos los tipos.
7. Información de todas las visitas de buques con
puerto de origen Detroit junto a la información de
su visita anterior al mismo puerto de esa visita.
8. Número de veces que han ido a Cádiz cada uno de
los buques cuyo tonelaje es > 1000.
© C. P. G. 2007
FBD Tema 3
79
EJERCICIOS DE MODELADO (TEMAS 2 Y 3)
Para cada uno de los siguientes enunciados se pide:
Diseño conceptual de la BD utilizando el modelo E-R
Realizar el paso del modelo E-R al modelo relacional, obteniendo el
esquema relacional.
1.- La cadena de videoclubs Glob_Gusters ha decidido, para mejorar su
servicio, emplear una BD para almacenar la información referente a las
películas que ofrece en alquiler. Esta información es la siguiente:
a. Una película se caracteriza por su título, nacionalidad,productora y fecha
(Por ejemplo, Quo Vadis, Estados Unidos, M.G. M., 1995).
b. En una película pueden participar varios actores (nombre, nacionalidad,
sexo), algunos de ellos como actores principales.
c. Una película está dirigida por un director (nombre, nacionalidad).
d. De cada película se dispone de uno o varios ejemplares diferenciados por
un número de ejemplar y caracterizados por su estado de conservación.
e. Un ejemplar se puede encontrar alquilado a algún cliente (nombre,
dirección, teléfono). Se desea almacenar la fecha de comienzo del
alquiler y la de devolución.
2.- La asociación “Amigos de la Fiesta” desea recoger en una BD toda la
información acerca de las corridas de toros que se celebran en España y
de todos los datos relacionados con ellas.
a. Se desea tener información acerca de cada corrida, identificada
conjuntamente por un número de orden, la feria en la que se celebra y el
año de celebración (por ejemplo: orden=2, feria=San Isidro, año=1990).
b. En una determinada corrida actúan una serie de toreros (mínimo 1 y
máximo 3) de los que se desea guardar su DNI, nombre, apodo y fecha en
que tomó la alternativa (fecha en la que se convirtió en matador de toros).
Además se desea saber quién fue el torero que le dio la alternativa
(padrino) en su día (un torero puede dar la alternativa a varios
compañeros o a ninguno).
c. En cada corrida un torero obtiene una serie de premios (cuántas orejas,
cuántos rabos y si salió por la puerta grande o no) de los que se desea
mantener información.
© C. P. G. 2007
FBD Tema 3
80
EJERCICIOS DE MODELADO (TEMAS 2 Y 3)
d.
e.
f.
g.
3.-
a.
b.
c.
d.
e.
Cada torero puede tener un apoderado del que es protegido. A su vez, un
apoderado lo puede ser de varios toreros. De él se desea saber su DNI,
nombre, dirección y teléfono.
Una corrida se celebra en una plaza de toros de la que se desea saber su
nombre que se supone único, localidad, dirección y aforo. En una misma
plaza se pueden celebrar varias corridas de toros.
En cada corrida son estoqueados al menos 6 toros. Cada toro viene
identificado con el código de la ganadería a la que pertenece, el año en
que nació y un número de orden. Además, se desea mantener
información acerca de su nombre y color así como el orden en que fue
toreado.
Cada toro pertenece a una ganadería determinada. De cada ganadería se
pretende saber su código, nombre, localidad y antigüedad (fecha de
creación).
El ministerio de Educación y Ciencia desea mantener información acerca
de todos los cuadros que se encuentran en las pinacotecas españolas y
toda la información relacionada con ellos.
De cada pinacoteca se desea saber el nombre ( que se supone único), la
ciudad en que se encuentra, la dirección y los metros cuadrados que
tiene.
Cada pinacoteca tiene una serie de cuadros de los que se quiere mantener
información acerca de su código, nombre, dimensiones, fecha en que fue
pintado y técnica utilizada.
Cada cuadro es pintado por un determinado pintor (nombre, país, ciudad,
fecha de nacimiento y fecha de defunción). Un pintor puede tener a otro
como maestro; a su vez, un maestro puede serlo de varios (o de
ninguno).
Los pintores pueden pertenecer o no a una escuela de la que se desea
saber su nombre y en qué país y qué fecha apareció.
Los pintores pueden tener también uno o varios mecenas que les
protegen (nombre, fecha, país y ciudad de nacimiento y fecha de
muerte). A su vez, un mismo mecenas puede serlo de varios pintores. Se
desea saber cuál es la relación que existe entre un pintor y su mecenas.
© C. P. G. 2007
FBD Tema 3
81
Descargar