Está en la página 1de 8

UNIDAD II

MODELO RELACIONAL
APLICACIN DE ALGEBRA RELACIONAL
ACTIVIDAD INDIVIDUAL

PRESENTADO POR:
GABRIEL BRANGO MENDOZA COD 15705409
TUTOR
MARIA DORA ALBA SANCHEZ GOMEZ

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA: CIENCIAS BSICAS, TECNOLOGA E INGENIERA ECBTI
PROGRAMA: INGENIERA DE SISTEMAS

CURSO: BASE DE DATOS BSICO


CDIGO: 301330
CEAD
SAHAGN, CRDOBA

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

1064789 JUAN JOSE

PEREZ LOPEZ

CONDUCTOR

1578414 PEDRO MIGUEL

SAAVEDRA

AYUDANTE

1065325984 ANDRES DANIEL

SOTO MERCADO

RECEPCIONISTA

1065235412 TOMAS

AVILEZ LOPEZ

DESPACHADOR

15705409 ENRIQUE

HERNANDEZ CASTRO

CONDUCTOR

10245687 ANIBAL

RAMIREZ

AYUDANTE

11224433 CAMILO ANDRES

CORDERO CAUSIL

RECEPCIONISTA

12587458 ANGEL MARCELO

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

PASAJERO SIN EQUIPAJE

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.

Table_1=EMPLEADOS JOIN PLANILLAS


Id_Emple
ado
1
2

Tip_Id_Emple
ado
1
2

Num_Id_emple
ado

EMPLEADOS
Nombres_Emple
ado

1064789 JUAN JOSE


1578414 PEDRO MIGUEL

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

1065325984 ANDRES DANIEL

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

Fec_nac_ Tel_cont_ Nombre_


pasajero
pasajero
pasajero
15/12/19
1578978
87 32145474 JOSE

Apellidos_
pasajero
MORALES

Id_Em
plead
o

Tip_Id_E
mpleado

3. Slo seleccionamos de la Table_3 los campos que necesitamos


Table_3=Select(Nombre_pasajero/Apellidos_pasajeros/Desc_Tip_id_empleado/Nombres_empleado/Apellidos_Empleados)

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

También podría gustarte