Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MODELO RELACIONAL
APLICACIN DE ALGEBRA RELACIONAL
ACTIVIDAD INDIVIDUAL
PRESENTADO POR:
GABRIEL BRANGO MENDOZA COD 15705409
TUTOR
MARIA DORA ALBA SANCHEZ GOMEZ
NOVIEMBRE DE 2016
MODELO RELACIONAL
LENTEJAS S.A
Aogiendonos a las reglas de clasificar a las Tablas de sin son Padres o hijas, se
procede a realizar su anuncio de la siguiente forma:
Entidades (Tablas ) Padres:
1. MUNICIPIOS(Cod_Municipio, Desc_Municipio)
2. PASAJEROS(Id_Pasajero, Tip_doc_pasajero, Num_doc_pasajero,
Fec_nac_pasajero, Tel_cont_pasajero, Nombres_pasajero,
Apellidos_pasajero)
Entidades (Tablas) Hijas:
1. EMPLEADOS(Id_Empleado, Cod_Municipio, Tip_Id_Empleado,
Num_Id_empleado, Nombres_Empleado, Apellidos_Empleado,
Des_Tip_id_Empleado.
2. RECIBOS(Num_recibo, Cod_Municipio, Id_Empleado, Id_Pasajero,
Num_bus, Num_silla, Hora_salida, Mun_origen, Mun_Destino,
Valor_recibo.
3. PLANILLAS(Nmero Planilla, Cod_Agencia, Id_Empleado,
Fec_Salida, Fec_Llegada, Firma, Observaciones, Valor_Planilla.
4. AGENCIAS(Cod_Agencia, Cod_Municipio, Nombre_agencia,
Direccion_agencia.
5. LIQUIDACIONES(Nro_liquidacion, Id_Empleado, Nmero Planilla,
Valor_total_liquidado.
6. PORCENTAJES(Id_Porcentaje, Cod_Agencia, Valor_porcentaje.
7. RELACION_PASAJERO(Id_Pasajero, Nmero Planilla.
Realizar las siguientes consultas con los Operadores de Algebra relacional, (mirar captulo 5, de la unidad 2 Pag. 128). OJO, no son sentencias SQL.
a. Se requiere los conductores que han realizado viajes en el ao 2015
Desarrollo
Supongamos que nuestra tabla EMPLEADOS y PLANILLAS, cuenta con la siguiente informacin
EMPLEADOS
Id_Empleado
Tip_Id_Empleado
Num_Id_empleado
Nombres_Empleado
Apellidos_Empleado
Des_Tip_id_Empleado
PEREZ LOPEZ
CONDUCTOR
SAAVEDRA
AYUDANTE
SOTO MERCADO
RECEPCIONISTA
1065235412 TOMAS
AVILEZ LOPEZ
DESPACHADOR
15705409 ENRIQUE
HERNANDEZ CASTRO
CONDUCTOR
10245687 ANIBAL
RAMIREZ
AYUDANTE
CORDERO CAUSIL
RECEPCIONISTA
BELLO OROZCO
DESPACHADOR
PLANILLAS
Nmero Planilla
Id_empleado
Cod_agencia
Fec_Salida
Fec_Llegada
Firma
0001
001
25/01/2014
27/01/2014 -
0002
002
21/05/2015
23/05/2015 -
0003
003
24/06/2016
26/06/2016 -
0004
004
10/02/2015
12/02/2015 -
0005
005
18/12/2015
20/12/2001 -
0005
006
15/11/2015
17/11/2013 -
Observaciones
PASAJERO SIN EQUIPAJE
Valor_Planilla
125.000
180.000
120.000
18.000
25.000
590.0
1. Como la tabla planilla hered una llave fornea de la tabla empleados, ( Id_empleado), podemos usar un operador avanzado para resolver el problema.
Tip_Id_Emple
ado
1
2
Num_Id_emple
ado
EMPLEADOS
Nombres_Emple
ado
Apellidos_Emple
ado
Des_Tip_id_Emple
ado
PEREZ LOPEZ
CONDUCTOR
SAAVEDRA
AYUDANTE
Nmero
Planilla
0001
0002
PLANILLAS
Fec_Llega Firm
da
a
Id_emplea
do
Cod_agen
cia
Fec_Salid
a
001
25/01/20
14
27/01/20
14 -
002
21/05/20
15
23/05/20
15 -
180.000
26/06/20
16 -
120.000
Observaciones
Valor_Planilla
PASAJERO SIN
EQUIPAJE
125.000
SOTO MERCADO
RECEPCIONISTA
0003
003
24/06/20
16
1065235412 TOMAS
AVILEZ LOPEZ
DESPACHADOR
0004
004
10/02/20
15
12/02/20
15 -
005
18/12/20
15
20/12/20
15 -
25.000
006
15/11/20
13
17/11/20
13 -
590.000
5
6
1
2
15705409 ENRIQUE
10245687 ANIBAL
HERNANDEZ
CASTRO
RAMIREZ
CONDUCTOR
AYUDANTE
0005
0005
5
6
PASAJERO SIN
EQUIPAJE
2. Procedemos hacer el filtro de los conductores cuya fecha de salida fue en 2015
Table_1= select (Nombres_empleado/Apellidos_empleado/Desc_Tip_id_Empleado/Tip_id_empleado=1/Fec_Salida>=01/01/2015 and
Fec_salida<=31/12/2015)
Como salida vemos que slo el conductor Enrique Hernndez Castro realiz viajes en el 2015.
Nombres_Emple Apellidos_Emple
ado
ado
HERNANDEZ
ENRIQUE
CASTRO
Des_Tip_id_Emple Fec_Salid
ado
a
18/12/20
CONDUCTOR
15
18.000
b. Se requiere los nombres de los pasajeros que hicieron viaje al municipio de Medelln
1. En esta ocasin, procedemos hacer UN join entre las tablas RECIBOS y PASAJEROS ya que la tabla RECIBOS, es hija de esta ltima y contiene la llave
fornea Id_pasajero con la cual accederemos los datos requeridos en PASAJEROS
Table_2= RECIBOS JOIN PASAJEROS
Tenemos:
Num_rec
ibo
Id_emple
ado
Id_pasaj
ero
Num_b
us
RECIBOS
Num_sil Hora_sali
la
da
001
456
36
002
254
25
003
254
12
004
452
14
005
145
14
006
254
007
008
Mun_origen
9:30 GIRARDOTA
Mun_Desti
no
Valor_reci
bo
Id_Pasaj
ero
Tip_doc_pasaj
ero
Num_doc_pasa
jero
PASAJEROS
Fec_nac_pasaj Tel_cont_pasaj
ero
ero
BOGOTA
120000
1 CC
1578978
15/12/1987
32145474 JOSE
MORALES
21:00 CALI
MEDELLIN
125000
3 CC
1024325698
12/12/1998
12874411 KALET
LOPEZ
12:00 BOGOTA
CALI
250000
2 CC
1024125564
14/07/1958
7784541 DANIEL
TORRES
POPAYAN
89000
4 CC
2547894
21/07/1956
7825456 ABRAHAM
SOTO
LORICA
25000
1 CC
1578978
15/12/1987
32145474 JOSE
MORALES
25
24:30:00 MONTERIA
BUCARAMAN
14:25 GA
MEDELLIN
180000
1 CC
1578978
15/12/1987
32145474 JOSE
MORALES
241
45
18:15 BOGOTA
PEREIRA
214000
2 CC
1024125564
14/07/1958
7784541 DANIEL
TORRES
236
32
6:30 BELLO
25000
2 CC
1024125564
14/07/1958
7784541 DANIEL
TORRES
4:00 CALI
MEDELLIN
2. Ahora solo seleccionamos los campos que necesitamos la condicin de que slo son pasajeros que viajaron hacia medenlln.
Table_2=Select (Nombre_pasajero/Apellido_pasajero/Mun_Destino=Medellin)
El Resulta es:
Nombre_pas
ajero
KALET
JOSE
DANIEL
Apellidos_pas
ajero
LOPEZ
MORALES
TORRES
Nombre_pasaj Apellidos_pasa
ero
jero
Mun_Dest
ino
MEDELLIN
MEDELLIN
MEDELLIN
c. Se requiere saber el nombre de los pasajeros, con el nombre del conductor que los trasport.
1. Para este caso, tenemos informacin que resolvimos en los dos puntos anteriores, ya que la Table_1 que result del JOIN entre empleados y planillas,
contiene informacin de los Conductores, slo tenemos que hacer un nuevo JOIN entre las Tablas Table_1 y Table_2, pero primero seleccionamos los
campos que necesitamos de la Table_1 para no traer campos innecesarios.
Table_1= Select (id_empleado/ Tip_id_empleado=1/Nombres_empleado/Apellidos_empleado/Desc_Tip_id_Empleado/)
Id_Emplead
o
Apellidos_Empleado
Des_Tip_id_Empleado
Tip_Id_Empleado
1 JUAN JOSE
Nombres_Empleado
PEREZ LOPEZ
CONDUCTOR
1 ENRIQUE
HERNANDEZ CASTRO
CONDUCTOR
2. Ahora slo hacemos un JOIN con la table_2 que result del punto anterior, la cual contiene los nombres de los pasajeros y el id_empleado que es el que
nos determinar el nombre del conductor
Table_3=Table_1 JOIN Table_2
Num_
recib
o
001
Id_em
plead
o
1
Id_pa
sajer
o
Num
_bus
Num
_silla
456
36
Hora_
salida
Mun_o
rigen
GIRAR
9:30 DOTA
Mun_D
estino
BOGOT
A
Id_Pa
Valor_r sajer Tip_doc_
ecibo
o
pasajero
12000
0
1 CC
Num_doc_
pasajero
Apellidos_
pasajero
MORALES
Id_Em
plead
o
Tip_Id_E
mpleado
Nombre_pasajero
Apellidos_pasaj
ero
Des_Tip_id_Em
pleado
Nombres_Emp Apellidos_Emp
leado
leado
JOSE
MORALES
CONDUCTOR
JUAN JOSE
PEREZ LOPEZ
Nombres_E Apellidos_
mpleado
Empleado
1 JUAN JOSE
PEREZ
LOPEZ
Des_Tip_id_
Empleado
CONDUCTO
R