Modelo relacional

Anuncio
Conceptos
Tema 3. Modelo relacional
El modelo de datos relacional, las
restricciones relacionales y el álgebra
relacional.
• BD: Colección de relaciones.
Elmasri/Navathe 02
Transformación de ER y ERE en relacional,
y otros lenguajes relacionales.
Elmasri/Navathe 02
• 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.
• 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)
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
1
Conceptos (2)
© C. P. G. 2007
FBD Tema 3
2
Características de las relaciones
• 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:
• 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.
• 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
© C. P. G. 2007
FBD Tema 3
4
Notación
ALUMNO
Nombre Código alumno
Smith
17
Brown
8
•
Año
1
2
Restricciones en las relaciones
• De dominio:
El valor de cada atributo debe ser atómico.
En SQL se verán los tipos disponibles.
Especialidad
CS
CS
• 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.
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.
• Integridad de entidades:
Ninguna clave primaria puede contener el valor
nulo.
(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
• 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.
Califican a los atributos
de la relación ALUMNO.
FBD Tema 3
• Integridad referencial:
Una tupla que referencia a otra relación, debe
referirse a una tupla existente en dicha relación.
5
© C. P. G. 2007
FBD Tema 3
6
Restricciones de clave: Ejemplo
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.
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
• 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
© C. P. G. 2007
FBD Tema 3
8
Estado de la BD relacional “EMPRESA”
Esquema de la BD relacional “EMPRESA”
EMPLEADO
NOMBRE INIC APELLIDO
• 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
NOMBRED NÚMEROD NSS_JEFE FECHA_INIC_JEFE
LOCALIZACIONES_DEPT
NÚMEROD LOCALIZACIÓND
PROYECTO
NOMBREP NÚMEROP LOCALIZACIÓNP NUMD
TRABAJA_EN
NP
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
DEPARTAMENTO
NSSE
John
Franklin
Alicia
Jennifer
Ramesh
Joyce
Ahmad
Jaime
HORAS
DEPENDIENTE
NSSE NOMBRE-DEPENDIENTE SEXO FECHA_NCTO PARENTESCO
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
30.000
40.000
25.000
43.000
38.000
25.000
25.000
55.000
H
H
M
M
H
M
H
H
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
Figura 7.5. Esquema de base de datos relacional EMPRESA;
las claves primarias están subrayadas.
© C. P. G. 2007
Investigación
Administración
Dirección
FBD Tema 3
9
5
4
1
© C. P. G. 2007
333445555
987654321
888665555
1988-05-22
1995-01-01
1981-06-19
FBD Tema 3
10
Restricciones de integridad (RI)
Estado de la BD relacional “EMPRESA”
(cont)
LOCALIZACIONES_DEPT
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
• 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 .
NÚMEROD LOCALIZACIÓND
5
5
5
4
1
4
EMPLEADO
NOMBRE INIC APELLIDO
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
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)
Integridad referencial en el esquema
• 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
NOMBRE INIC APELLIDO NSS FECHA_NCTO DIRECCIÓN SEXO
...
NSS_SUPERV ND
DEPARTAMENTO
NOMBRED NÚMEROD NSS_JEFE FECHA_INIC_JEFE
LOCALIZACIONES_DEPT
NÚMEROD LOCALIZACIÓND
PROYECTO
EMPLEADO.NSS_SUPERV .
NOMBREP NÚMEROP LOCALIZACIÓNP NUMD
EMPLEADO
TRABAJA_EN
NOMBRE INIC APELLIDO
John
Franklin
Alicia
Jennifer
Ramesh
Joyce
Ahmad
Jaime
SALARIO
...
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
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.
NÚMEROD NSS_JEFE FECHA_INIC_JEFE
5
4
1
333445555
987654321
888665555
1988-05-22
1995-01-01
1981-06-19
FBD Tema 3
13
© C. P. G. 2007
FBD Tema 3
14
Restricciones de integridad
Operaciones de actualización
• Las RI se especifican utilizando una parte del
lenguaje llamada DDL:
– DDL = Data Definition Language / Lenguaje de
definición de datos.
• Las operaciones de actualización se especifican
utilizando otra parte del lenguaje llamada DML:
DML= Data Manipulation Language / Lenguaje de
Manipulación de Datos
– Este tipo de lenguaje debe contar con
mecanismos para especificar RI.
• 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.
– 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”.
• Cuando se aplican no deben violar ninguna
restricción de integridad.
• Muy pocos SGBD soportan las RI semánticas.
• Se están incorporando mecanismos.
© C. P. G. 2007
FBD Tema 3
• Son las siguientes:
– Insertar.
– Eliminar.
– Modificar.
• Veremos:
– Qué RI puede violar cada operación.
– Qué acciones se pueden emprender en caso de
violación.
15
© C. P. G. 2007
FBD Tema 3
16
ACEPTABLE
Insertar
Insertar (2)
• Insertar <‘Cecilia’, ’F’, ’Kolonsky’, ’677678989’,
‘05-ABR-60’, ‘Calle Viento 6357,
Malinalco, TX’, ‘M’, 28000, nulo, 4 >
en EMPLEADO.
•
• Ante violación de RI al insertar:
– Rechazar:
• Es lo que se hace normalmente.
• Útil explicación SGBD.
Puede violar los 4 tipos de RI:
– Corregir:
– Dominio:
Insertar< ..., ‘Depto 3’>
– Entidades:
Insertar <‘Cecilia’,... ,’Kolonsky’, nulo,...,4>
– Clave:
Insertar <‘Cecilia’, ... , ’999887777’, ... , 4>
– I. referencial:
Insertar <‘Cecilia’, ..., 7>
• 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.
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
...
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
© C. P. G. 2007
ACEPTABLE
NSS_SUPERV
333445555
888665555
987654321
888665555
333445555
333445555
987654321
nulo
– Pedir introducción de la tupla
correspondiente al valor referenciado:
...
» Pedir datos del departamento 7
(que no existía)
– Pedir en Cascada :
ND
5
5
4
4
5
5
4
1
FBD Tema 3
» Pedir datos del departamento 7
» Una vez que el departamento
existe, pedir de nuevo el empleado
© C. P. G. 2007
17
FBD Tema 3
18
Eliminar
Eliminar (2)
• Eliminar todos los TRABAJA_EN con
NSSE=‘999887777’ y NP=10.
• Se eliminan todas las tuplas que cumplan la condición.
• Ante violación de RI al eliminar, se puede:
– Rechazar.
• 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.
– Propagar:
• Puede violar I. referencial:
– Eliminar todo EMPLEADO con NSS=‘999887777’
– Eliminar todo EMPLEADO con NSS=‘333445555’
– Modificar:
• Eliminar todas las tuplas con referencia a la
eliminada. A esto se le denomina
eliminación en cascada.
• Poner un valor existente en referencias.
• Poner valor nulo en referencias
(no si es parte de la clave primaria).
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
– 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
ND
5
5
4
4
5
5
4
1
departamentos en los que era jefe el
empleado borrado).
• En general, el SGBD permite especificar la opción
a aplicar.
19
© C. P. G. 2007
FBD Tema 3
20
ACEPTABLE
Modificar
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.
• 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.
• 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.
• Si es clave primaria:
– Equivale a eliminar la tupla e insertar una nueva.
– Mismos problemas que en insertar y eliminar.
A5
• Si es clave extranjera:
– El SGBD debe asegurar que el nuevo valor existe.
A4
A3
A6
R (de E)
A1 A2 A3 A5 A6
E
A2 A1
• Ejemplos que violan la RI:
– I. Referencial:
Modificar todos los ND de EMPLEADO
con NSS=‘999887777’ a 7.
A4
– 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 (2)
B1 B2
W
E
A3
R (de E2)
A2 A3 A4
E2
© C. P. G. 2007
FBD Tema 3
22
Transformación ER-relacional (3)
• 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
A2
A1
R (de W)
B1 A1 A2
• 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
CE
A2 A1
Con este paso quedan tratados tanto los tipos de
entidad débiles, como sus vínculos identificadores.
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
23
© C. P. G. 2007
FBD Tema 3
24
Transformación ER-relacional (4)
Transformación ER-relacional (5)
• Paso 5: T. relación M:N
A2 A1
E1
M
B1
R
N
B2
E2
S (de R)
A1 B1 R1
CE
R1
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.
• 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
– Se puede usar también para 1:1 y 1:N.
– Mejor cuando haya pocas ocurrencias de la relación
(menos nulos).
E2
A1 A3
R2 (de A2)
A1 A4 A5
A4
A3
A1
A2
A5
E2
CE
© C. P. G. 2007
FBD Tema 3
25
© C. P. G. 2007
FBD Tema 3
26
ESQUEMA ER DE LA BD “EMPRESA”
Transformación ER-relacional (6)
• Paso 7: T. relaciones n-arias
*Familiar=dependiente
Nombre
A2 A1
E1
B1
R
R1
B2
E2
S (de R)
A1 B1 C1 R1
Sexo
FAMILIAR*
E3
C1
Fecha nacimiento
N
CE CE CE
Parentesco
ES_FAMILIA_DE
C2
1
NombreP Iniciales Apellido
Nombre
Sexo
NSS
Fecha nacimiento
Dirección
Salario
supervisor
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.
EMPLEADO
N
1
SUPERVISA
1
supervisado
TRABAJA_PARA
DIRIGE
1
1
N
Fecha inicio
Nombre
Número
DEPARTAMENTO
– Si hay algún (*,1) entonces la clave es la de esta
entidad. El * es la participación (0 parcial ó 1 total).
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
27
© C. P. G. 2007
FBD Tema 3
28
Transformación ER-relacional BD
EMPRESA
• PASO 1:
TE. Fuertes
Transformación ER-relacional BD
EMPRESA (2)
DEPARTAMENTO
NOMBRE NÚMERO
EMPLEADO
NOMBREP INICIALES APELLIDO NSS FECHA_NCTO SEXO
...
PROYECTO
NOMBRE NÚMERO LOCALIZACIÓN
• PASO 2:
DIR SALARIO
• PASO 5:
TRABAJA_EN
NÚMEROP NSSE HORAS
• PASO 6:
NÚMEROD LOCALIZACIÓN
TE. Débiles
• Solución completa:
PROYECTO
NOMBRE NÚMERO LOCALIZACIÓN ND
TV. 1:1
DEPARTAMENTO
NOMBRE NÚMERO NSS_JEFE FECHA_INIC_JEFE
• PASO 4:
DEPARTAMENTO
NOMBRE NÚMERO NSS_JEFE FECHA_INIC_JEFE
EMPLEADO
NOMBREP INICIALES APELLIDO NSS FECHA_NCTO SEXO
TV. 1:N
PROYECTO
NOMBRE NÚMERO LOCALIZACIÓN ND
EMPLEADO
NOMBREP INICIALES APELLIDO NSS FECHA_NCTO SEXO
...
© C. P. G. 2007
Atr. Multivaluados
LOCALIZACIONES_DPTO
FAMILIAR
NSS NOMBRE SEXO FECHA_NCTO PARENTESCO
• PASO 3:
TV. M:N
DIR SALARIO ND NSS_SUPERV
FBD Tema 3
29
... DIR SALARIO ND NSS_SUPERV
FAMILIAR
NSS NOMBRE SEXO FECHA_NCTO PARENTESCO
TRABAJA_EN
NÚMEROP NSSE HORAS
© C. P. G. 2007
Transformación ER- relacional
LOCALIZACIONES_DPTO
NÚMEROD LOCALIZACIÓN
FBD Tema 3
30
Definir esquemas de BDR
(relaciones)
• 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.
• 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
31
© C. P. G. 2007
FBD Tema 3
32
Álgebra relacional
SIGMA
• Operaciones para manipular relaciones enteras.
σ<condición selección>(R)
• De teoría de conjuntos:
–
–
–
–
UNIÓN.
INTERSECCIÓN.
DIFERENCIA.
PRODUCTO CARTESIANO.
Selección
• Selecciona un subconjunto de tuplas de una
relación.
• Las que satisfacen una condición.
• El resultado es otra relación.
Binarias
• Específicas:
– SELECCIÓN.
– PROYECCIÓN.
– REUNIÓN (JOIN).
•
DIVISIÓN.
• σND=4(EMPLEADO)
• σSALARIO>30000(EMPLEADO)
Unarias
Binaria
• La relación resultante tiene los mismos atributos.
• Tiene menor o igual número de tuplas.
Binaria
• Otras:
–
–
–
–
• Condición: {=, <, ≤, >, ≥, ≠}
FUNCION AGREGADA.
CIERRE RECURSIVO.
REUNIÓN EXTERNA.
UNIÓN EXTERNA.
OPERADORES
RELACIONALES
Y, O, NO.
OPERADORES
LÓGICOS
Operación Unaria: Interviene una sola relación
Operación Binaria: Intervienen dos relaciones
© C. P. G. 2007
FBD Tema 3
© C. P. G. 2007
33
Selección (2)
PI
σ(ND=4 Y SALARIO>25000) o (ND=5 Y SALARIO>30000)(EMPLEADO)
NOMBRE INIC APELLIDO
Franklin
T
NSS
FECHA_NCTO
DIRECCIÓN
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
FBD Tema 3
34
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.
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
© C. P. G. 2007
FBD Tema 3
36
Resultados intermedios
Cambios de nombre
Proyección (2)
• 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.
• πAPELLIDO, NOMBRE, SALARIO(EMPLEADO)
APELLIDO
Smith
Wong
Zelaya
Wallace
Narayan
English
Jabbar
Borg
NOMBRE
John
Franklin
Alicia
Jennifer
Ramesh
Joyce
Ahmad
Jaime
S←
←R
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. (b)
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.
Fig. 7.8. (c)
π APELLIDO, NOMBRE, SALARIO (EMPLEADO) π SEXO, SALARIO (EMPLEADO)
• Los nombres de los atributos de S son los mismos
que tuviésemos en R. Se pueden cambiar los
nombres de los atributos mediante:
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
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
37
Resultados intermedios
Cambios de nombre (2)
NOMBRE
John
Franklin
Ramesh
Joyce
APELLIDO
Smith
Wong
Narayan
English
Unión, intersección y diferencia.
SALARIO
30.000
40.000
38.000
25.000
•
•
•
Fig 7.9. (a)
•
Alternativa con resultados intermedios:
EMPS_DEP5
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.
Alternativa con resultados intermedios y cambios de nombre:
TEMP
← σND=5(EMPLEADO)
R(NOMBRE_PILA, PRIMER_APELL, SALARIO)
R∩S
← π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
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
← σND=5(EMPLEADO)
RESULTADO←πNOMBRE,APELLIDO,SALARIO(EMPS_DEP5)
•
38
Operaciones de T. de conjuntos
π NOMBRE, APELLIDO, SALARIO(σND=5(EMPLEADO))
•
FBD Tema 3
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
...
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.
Fig. 7.9. (b) Resultados de expresiones del álgebra relacional.
© C. P. G. 2007
FBD Tema 3
39
© C. P. G. 2007
FBD Tema 3
40
Operaciones de T. de conjuntos
Ejemplos de unión e intersección
ALUMNO
NOM
Susana
Ramesh
Josué
Bárbara
Amanda
Jaime
Ernesto
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
NOM
Susana
Ramesh
RESULTADO
NSS
123456789
333445555
666884444
453453453
888665555
FBD Tema 3
41
APEL
Yáñez
Sánchez
Landa
Jaimes
Flores
Vélez
Gómez
PROFESOR
NOM
John
Ricardo
Susana
Francisco
Ramesh
NOM
Susana
Ramesh
Josué
Bárbara
Amanda
Jaime
Ernesto
John
Ricardo
Francisco
APEL
Yáñez
Sánchez
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
• 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)
Ejemplos de diferencia
ALUMNO
NOM
Susana
Ramesh
Josué
Bárbara
Amanda
Jaime
Ernesto
APEL
Smith
Bueno
Yáñez
Jiménez
Sánchez
Fig 7.11. (c)
ALUMNO ∪ PROFESOR
RESULTADO← RESULTADO1∪ RESULTADO2
© C. P. G. 2007
PROFESOR
NOM
John
Ricardo
Susana
Francisco
Ramesh
Fig 7.11. (b)
ALUMNO ∩ PROFESOR
NSS
333445555
888665555
Fig. 7.10.
APEL
Yáñez
Sánchez
Landa
Jaimes
Flores
Vélez
Gómez
© C. P. G. 2007
FBD Tema 3
42
Operaciones de T. de conjuntos
Producto cartesiano (CROSSJOIN).
• Intervienen dos relaciones.
APEL
Smith
Bueno
Yáñez
Jiménez
Sánchez
• Esas relaciones no tienen por qué ser compatibles
con la unión.
PRODUCTO
CARTESIANO
NOM
Josué
Bárbara
Amanda
Jaime
Ernesto
APEL
Landa
Jaimes
Flores
Vélez
Gómez
NOM
John
Ricardo
Francisco
APEL
Smith
Bueno
Jiménez
R×S
Fig. 7.11. (e)
PROFESOR— ALUMNO
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.
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
© C. P. G. 2007
FBD Tema 3
44
Ejemplo Producto Cartesiano (2)
Ejemplo Producto cartesiano
NOMBRES_EMP
• Ejemplo: Obtener los familiares de empleadas.
EMPS_MUJER
← σsexo=‘M’(EMPLEADO)
DEPENDIENTE
NOMBRESEMP←πNOMBRE,APELLIDO,NSS(EMPS_MUJER)
DEPENDIENTES_EMP ←
NOMBRESEMP × DEPENDIENTE
DEPENDIENTES_REALES←
σNSS=NSSE(DEPENDIENTES_EMP)
RESULTADO←πNOMBRE,APELLIDO,NOMBRE_DEPENDIENTE(DEPENDIENTES_REALES)
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
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
...
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
Ejemplo Producto Cartesiano (3)
REUNIÓN
FBD Tema 3
46
Reunión (JOIN)
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)
R
<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.
DEPENDIENTES_REALES
NOMBRE APELLIDO
Jennifer
Wallace
NSS
NSSE
NOMBRE_DEPENDIENTE
SEXO
Abner
H
987654321 987654321
...
...
• Su resultado puede tener un máximo de n* m tuplas
(si todas las tuplas cumplen la condición de
reunión).
RESULTADO← πNOMBRE,APELLIDO,NOMBRE_DEPENDIENTE(DEPENDIENTES_REALES)
RESULTADO
NOMBRE
APELLIDO
NOMBRE_DEPENDIENTE
Jennifer
Wallace
Abner
© C. P. G. 2007
FBD Tema 3
47
© C. P. G. 2007
FBD Tema 3
48
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Ejemplo de Reunión
Ejemplo de Reunión (2)
• Ejemplo: Obtener el nombre del departamento y el
nombre (nombre y apellido) del jefe de cada
departamento.
• En el ejemplo del producto cartesiano:
DEPENDIENTES_EMP ←
NOMBRES_EMP × DEPENDIENTE
DEPENDIENTES_REALES←
σNSS=NSSE(DEPENDIENTES_EMP)
JEFE_DEPTO ←
DEPARTAMENTO
NSS_JEFE=NSS
EMPLEADO
• Lo anterior equivale a:
DEPENDIENTES_REALES ←
NOMBRES_EMP
NSS=NSSE DEPENDIENTE
(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
...
NSS_JEFE FECHA_INIC_JEFE NOMBRE INIC APELLIDO
333445555
987654321
888665555
DIRECCIÓN
FECHA_NCTO
333445555 1955-12-08
987654321 1941-06-20
888665555 1937-11-10
1988-05-22
1995-01-01
1981-06-19
Franklin
Jennifer
Jaime
T
S
E
...
Wong
Wallace
Borg
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
FBD Tema 3
49
© C. P. G. 2007
Condición de reunión
Tipos de reunión (JOIN)
FBD Tema 3
50
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 *.
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
• Reunión Theta (θ
θ ): Cualquier operación de
reunión.
– Las tuplas cuyo atributo de reunión sea nulo
NO aparecen en el resultado.
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.
• 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
© C. P. G. 2007
FBD Tema 3
52
Ejemplo de reunión natural
Ejemplo de reunión natural (2)
Añadir a cada proyecto la información del
departamento que lo controla
Añadir los lugares de ubicación de cada departamento
DEPTO(NOMBRED, ND,NSS_JEFE,FECHA_INIC_JEFE) ←
DEPARTAMENTO
PROY_DEPTO ← PROYECTO * DEPTO
•
ND es
DEPTO_LOCS ←
DEPARTAMENTO * LOCALIZACIONES_DEPT
DEPARTAMENTO
el atributo de reunión.
NOMBRED
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
NÚMEROD NSS_JEFE FECHA_INIC_JEFE
Investigación
Administración
Dirección
5
4
1
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
NÚMEROD LOCALIZACIÓND
1
4
5
5
5
ND
5
5
5
4
1
4
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
NOMBRED
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
Houston
Stafford
Bellaire
Sugarland
Houston
DEPTO_ LOCS
PROY_ DEPTO
NOMBREP
1988-05-22
1995-01-01
1981-06-19
LOCALIZACIONES_DEPT
PROYECTO
NOMBREP
333445555
987654321
888665555
53
NÚMEROD NSS_JEFE FECHA_INIC_JEFE LOCALIZACIÓND
Dirección
Administración
Investigación
Investigación
Investigación
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
División
Selectividad de reunión.
Conjunto completo
R(Z) ÷ S(X)
• 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.
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
55
© C. P. G. 2007
FBD Tema 3
56
Otras operaciones relacionales
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.
• Los SGBD introducen operaciones no estándar en
el álgebra relacional: funciones agregadas, cierre
recursivo, reunión y unión externa.
Funciones agregadas (ℑ
ℑ)
σNOMBRE=‘John’ Y APELLIDO=‘Smith’(EMPLEADO)
NÚMSP_SMITH ← πNP(TRABAJA_EN
NSSE=NSS SMITH)
F GÓTICA
SMITH ←
NÚMSP_SMITH
NP
1
<atribs agrupación>
Fig. 7.15 (a)
Devuelve una relación con los resultados de la lista
de funciones agrupados por los atributos indicados.
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
ℑ <lista funciones> (R)
<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.
NSSS
NSS
123456789
453453453
Fig. 7.15 (a)
← πNOMBRE, APELLIDO(NSSS * EMPLEADO)
FBD Tema 3
57
© C. P. G. 2007
Otras operaciones relacionales (2)
FBD Tema 3
58
Otras operaciones relacionales (3)
Ejemplos de Funciones agregadas (ℑ
ℑ)
Cierre recursivo
R(ND, NÚM_DE_EMPLEADOS,PROMEDIO_SALARIO)
← ND ℑ CUENTA NSS, PROMEDIO SALARIO(EMPLEADO)
• 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
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)
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 ←
R2
πNSS(σNOMBRE=‘James’ Y APELLIDO=‘Borg’EMPLEADO))
πNSS, NSS_SUPERV(EMPLEADO)
ND CUENTA_NSS PROMEDIO_SALARIO
5
4
33250
4
3
31000
1
1
55000
SUPERVISIÓN (NSS1, NSS2) ←
Supervisados directamente por Borg:
•
RDO1 (NSS)
R3← ℑ CUENTA NSS, PROMEDIO SALARIO(EMPLEADO)
NSS2=NSSNSS_BORG)
Supervisados por los subordinados directos de Borg:
R3
RDO2 (NSS)
CUENTA_NSS PROMEDIO_SALARIO
8
35125
FBD Tema 3
← πNSS1(SUPERVISIÓN
NSS2=NSSRDO1)
Supervisados en los niveles 1 y 2 por Borg:
RDO
© C. P. G. 2007
← πNSS1(SUPERVISIÓN
59
← RDO1 ∪ RDO2
© C. P. G. 2007
FBD Tema 3
60
Otras operaciones relacionales (4)
Otras operaciones relacionales (5)
Reunión externa izquierda R ]×| S
Unión externa
•
Conserva todas las tuplas de R aunque sea rellenando todos los
campos correspondientes a S con valores nulos.
• Unión de tuplas parcialmente compatibles.
•
TEMP ← EMPLEADO ]×|NSS=NSS_JEFE DEPARTAMENTO
•
RESULTADO ← πNOMBRE, INIC, APELLIDO, NOMBRED(TEMP)
• El resultado conserva los atributos no compatibles.
• Las tuplas sin valor para atributos no compatibles
tienen valor nulo.
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
...
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
Reunión externa derecha R |×[ S
Reunión externa completa R ]×[ S
© C. P. G. 2007
FBD Tema 3
61
Consultas álgebra relacional
¿Con *?
...
...
PROYECTO
NOMBREPNÚMEROPLOCALIZACIÓNP NUMD
PROYECTO
NOMBREP NÚMEROP LOCALIZACIÓNP NUMD
TRABAJA_EN
NSSE NP HORAS
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←
JEFE_DEPTO_PROY← DEPTO_CONTR
RESULTADO ←
NSS_JEFE=NSS
FBD Tema 3
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) ←
DEPARTAMENTO
πNÚMEROP (DPTOS_DIRIG_WON * PROYECTO)
EMPLEADO
πNÚMEROP,NUMD,APELLIDO,DIRECCIÓN,
FECHA_NCTO (JEFE_DEPTO_PROY)
© C. P. G. 2007
...
SEXO SALARIO NSS_SUPERV ND
DEPARTAMENTO
NOMBRED NÚMEROD NSS_JEFE FECHA_INIC_JEFE
DEPARTAMENTO
NOMBRED NÚMEROD NSS_JEFE FECHA_INIC_JEFE
NUMD=NÚMEROD
62
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
PROYS_STAFFORD
FBD Tema 3
Consultas álgebra relacional (2)
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)
EMPLEADO
NOMBRE INICAPELLIDO NSS FECHA_NCTO DIRECCIÓN
© C. P. G. 2007
RESULTADO ← WONG_TRAB_PROYS ∪ WONG_JEFE_PROYS
63
© 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
Elmasri & Navathe 7.19
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
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
66
Elmasri & Navathe 7.19 (2)
Analizar todas las R.I. que viola cada operación cuando se
ejecuta sobre la BD de la figura 7.6:
NSSE
FBD Tema 3
67
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
Ejercicio 2: Transformación ERRelacional
• Transformar a relacional el esquema ER de la figura:
Nombre
Sexo
DEPENDIENTE
Fecha_ncto
N
Parentesco
A1
A2
DEPENDIENTES_DE
1
NomP
A
Paterno Materno
M
Sexo
Dir
R1
supervisor
N
PERTENECE_A
1
N
C1
supervisado
DIRIGE
C2
N
1
1
D1
D
1
1
N
1
D2
R2
M
E
Nombre
N
F
Número
DEPARTAMENTO
N
N
FechaInic
N
1
P
C
SUPERVISIÓN
1
N
M
Salario
EMPLEADO
M
B
N
1
Nombre
Fecha_
ncto NSS
B2
B3
B1
Lugares
R3
E1
NDeEmpleados
1
F1
Horas
TRABAJA_EN
R4
CONTROLA
N
M
R5
Nombre
PROYECTO
Número
Lugar
© C. P. G. 2007
FBD Tema 3
69
© C. P. G. 2007
Ejercicio 3: Transformación ERRelacional
A2
B1
A3
AB
M
A
B2
EMP
DEP
NOMBRE NSS ND
NUMD NOMD
B
11
22
33
44
1
1
2
2
TRAB
PROY
1
2
LSI
ATC
NP NOMBRE
1
2
3
4
.NET
XML
EJB
UML
B3
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:
1
N
70
Ejercicios: Operaciones del álgebra
Iker
Ana
Jon
Karmele
A1
FBD Tema 3
N
1
AC
C
BD
P
D
D2
•
1
1
D3
R3← TODOS_PRY - R2
E2
•
D11 D12
Información de cada persona asociada a la información de
SU departamento:
R4 ← EMP
•
© C. P. G. 2007
NP de los proyectos en los que NO trabaja ninguna persona:
TODOS_PRY ← πNP (PROY)
E
E1
NP de los proyectos en los que trabaja alguna persona:
R2← πNP (TRAB)
N
1
1
D1
•
BDE
N
CD
FBD Tema 3
σNP=1 Y HORAS>1 (TRAB)
R1 ← πNSSE (PRY1_MAS1HORA)
N
N
NSS de los que trabajan más de 1 hora en el proyecto 1:
PRY1_MAS1HORA←
M
N
C1
C2
•
M
71
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
Elmasri & Navathe 7.18
.NET
XML
EJB
UML
NSSE NP HORAS
11
11
22
22
44
1
2
1
3
3
5
2
3
1
4
EMPLEADO
NOMBRE INIC APELLIDO NSS FECHA_NCTO DIRECCIÓN SEXO
...
SALARIO
...
NSS_SUPERV ND
DEPARTAMENTO
NOMBRED NÚMEROD NSS_JEFE FECHA_INIC_JEFE
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)
LOCALIZACIONES_DEPT
NÚMEROD LOCALIZACIÓND
R6← PERS * TRB
PROYECTO
NOMBREP NÚMEROP LOCALIZACIÓNP NUMD
•
Nombre de cada empleado junto al nombre de cada proyecto
en el que trabaja:
PRY(NP,NOMP) ← PROY
PERS_PRY ← R6 * PRY
NSSE
– ¿Qué cambia en PERS_PRY si se usa PROY en lugar
de PRY?
FBD Tema 3
NSSE
NP
HORAS
DEPENDIENTE
R7← πNOMBRE, NOMP(PERS_PRY)
© C. P. G. 2007
TRABAJA_EN
73
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
Elmasri & Navathe 7.18 (2)
FBD Tema 3
74
Elmasri & Navathe 7.20
AEROPUERTO
Sobre el esquema de BD de la figura 7.7:
CÓD_AEROPUERTO NOMBRE
CIUDAD
ESTADO
VUELO
a) Empleados (nombre, apellido) del departamento 5 que
trabajan más de 10 horas/semana en el proyecto
‘ProductoX’.
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
b) Empleados con un dependiente con su mismo nombre de
pila.
c) Empleados cuyo jefe directo es ‘Franklin Wong’.
CÓD_AEROPUERTO_SALE HORA_SALIDA_PROGRAMADA
CÓD_AEROPUERTO_LLEGA HORA_LLEGADA_PROGRAMADA
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.
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
Nombres de los empleados que trabajen en todos y
cada uno de los proyectos de la empresa.
NÚM_VUELO CÓD_TARIFA IMPORTE RESTRICCIONES
TIPO_AVIÓN
f) Empleados que no trabajan en ningún proyecto.
NOMBRE_TIPO MAX_ASIENTOS COMPAÑÍA
g) Nombre de cada departamento junto al salario medio de
los empleados asignados al mismo.
PUEDE_ATERRIZAR
NOMBRE_TIPO_AVIÓN CÓD_AEROPUERTO
h) Salario medio de las empleadas de la empresa.
AVIÓN
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.
ID_AVIÓN TOTAL_DE_ASIENTOS
NÚM_VUELO NÚM_TRAMO FECHA NÚM_ASIENTO
NOMBRE_CLIENTE TFNO_CLIENTE
j) Apellidos de los jefes de departamento sin dependientes.
© C. P. G. 2007
FBD Tema 3
TIPO_AVIÓN
RESERVA_ASIENTOS
75
© C. P. G. 2007
FBD Tema 3
76
Elmasri & Navathe 7.23
Elmasri & Navathe 7.20 (2)
Consultas sobre la
BD BIBLIOTECA
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)
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
77
© C. P. G. 2007
FBD Tema 3
78
EJERCICIOS DE MODELADO (TEMAS 2 Y 3)
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
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