Sei sulla pagina 1di 12

TRABAJO COLABORATIVO 2 BASES DE DATOS BASICO

Presentado Por: DIEGO CAMILO CARDOZO ALZATE WILLIAM JAMMIRLEY RICO LUIS ALFONSO PAEZ ALEJANDRO PIERNAGORDA RUIZ

Presentado a: MARIA DORA ALBA SANCHEZ GOMEZ Tutora del Curso

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGICAS E INGENIERIA NOVIEMBRE 2013

INTRODUCCION

Con la elaboracin del presente trabajo se pone en prctica lo aprendido en la teora del mdulo propuesto como gua, con base en el modelo lgico de datos de los casos 1 y 2 del trabajo colaborativo 1, se realizaron las modificaciones sugeridas en la realimentacin del mismo. Se realizaron diagramas entidad relacin de los casos 1 y 2, en distintos tipos de programas se definieron las tablas, campos, campos claves y llaves forneas. Con base en el Modelo Relacional del caso 1 se hicieron las consultas indicadas n utilizando los operadores del lgebra relacional y se aplic hasta la tercera forma normal (3FN) de acuerdo a la tabla propuesta.

OBJETIVOS

Aplicar los conceptos del Modelo Relacional y el paso del MER a tablas. Aplicar los conceptos del Algebra Relacional. Aplicar los conceptos de la tcnica de Normalizacin en la estructura lgica de una base de datos.

DESARROLLO DE LA ACTIVIDAD 1. Con base en el modelo lgico de datos de los casos 1 y 2 del trabajo colaborativo 1, realic las modificaciones realizadas en la realimentacin del trabajo de tal forma que el MER quede bien.

2. Con base en los diagramas entidad relacin del punto anterior. Realice para cada uno de ellos el Modelo Relacional. Recuerde que este modelo, solo son tablas, campos, campos claves y llaves forneas. Caso 1:

Cultivo (Cod_ Cultiv, Nomb_ Cultiv, Tiempo_ Cultiv, Fecha_Siembra, Estado_Cultiv) Actividades (Cod_Acti, Nomb_Acti) Trabajadores (Nro_id_trab, Nomb_trab, Apell_trab, Tel_trab, Dir_traba) Lotes (Cod_lote, Area_Lote, Cod_ Cultiv, Nro_id_trab) Control-Actividades (Consec_acti, Fecha_realiz_acti, Cod_Acti, Cod_ Cultiv, Cod_lote) Nminas (Fecha_traba, Horas_trabaj, Nro_id_trab, Consec_acti) Ventas (Consec_Vent, Cant_Kilos_Vend, Precio_Pactado, Valor_total_Venta, Cod_Acti, Nro_id_trab)

Caso 2:

Cultivo (Cod_ Cultiv, Nomb_ Cultiv, Tiempo_ Cultiv, Fecha_Siembra, Estado_Cultiv) Actividades (Cod_Acti, Nomb_Acti) Trabajadores (Nro_id_trab, Nomb_trab, Apell_trab, Tel_trab, Dir_traba) Lotes (Cod_lote, Area_Lote, Cod_ Cultiv, Nro_id_trab) Control-Actividades (Consec_acti, Fecha_realiz_acti, Cod_Acti, Cod_ Cultiv, Cod_lote) Nminas (Fecha_traba, Horas_trabaj, Nro_id_trab, Consec_acti) Ventas (Consec_Vent, Cant_Kilos_Vend, Precio_Pactado, Valor_total_Venta, Cod_Acti, Nro_id_trab) 3. Con base en el Modelo Relacional del caso 1. Realice las siguientes consultas utilizando los operadores del lgebra relacional. a. Se requiere el nombre de los trabajadores que realizaron la actividad cuyo nombre es la siembra.
select from TR.Nomb_Trab, Apell_trab mydb.trabajadores TR

inner join mydb.lotes LT ON TR.Nro_id_trab = LT.TRABAJADORES_Nro_id_trab inner join mydb.CONTROL_ACTIVIDADES CTR ON LT.Cod_lote = CTR.LOTES_Cod_lote inner join mydb.ACTIVIDADES AC ON AC.Cod_Acti = CTR.ACTIVIDADES_Cod_Acti

where AC.Nomb_Acti like ("%siembra%")

Justificacin: Para poder realizar el filtro de requerido (SIEMBRA) es necesario realizar tres relaciones en la consulta select por medio del INNER JOIN realizando a su vez sinnimos de tablas y utilizando el where like para poder buscar cadenas de texto si no se obtiene el cdigo de la actividad. b. Se requiere el nombre de los mayordomos con los lotes asignados.
select from TR.Nomb_Trab, TR.Apell_trab,LT.Cod_Lote mydb.trabajadores TR inner join mydb.lotes LT ON TR.Nro_id_trab = LT.TRABAJADORES_Nro_id_trab inner join mydb.CONTROL_ACTIVIDADES CTR ON LT.Cod_lote = CTR.LOTES_Cod_lote inner join mydb.ACTIVIDADES AC ON AC.Cod_Acti = CTR.ACTIVIDADES_Cod_Acti

where AC.Nomb_Acti like ("%siembra%")

Justificacin: Se realiza la misma consulta realizada en el punto anterior pero agregando en la clusula select el lote con el fin de que muestre a los respectivos nombres de mayordomos los lotes producidos para la actividad SIEMBRA. c. Se requiere saber el nombre de los cultivos con los respectivos nombres de actividades que les realizaron.
select from TR.Nomb_Trab, TR.Apell_trab,LT.Cod_Lote mydb.trabajadores TR inner join mydb.lotes LT ON TR.Nro_id_trab = LT.TRABAJADORES_Nro_id_trab inner join mydb.CONTROL_ACTIVIDADES CTR ON LT.Cod_lote = CTR.LOTES_Cod_lote inner join mydb.ACTIVIDADES AC ON AC.Cod_Acti = CTR.ACTIVIDADES_Cod_Acti

where AC.Nomb_Acti like ("%siembra%")

Justificacin: Se sigue utilizando la Query del punto primero pero retirando la clusula Where y as hallar para todas las Actividades los mayordomos, el lote y la actividad que el mayordomo se encuentra realizando a cada lote. d. Se desea saber el nombre de los estados del cultivo con su respectivo nombre de actividades, fechas y horas empleadas.
select TR.Nomb_Trab, TR.Apell_trab, LT.Cod_lote, AC.Nomb_Acti, CT.Fecha_siembra, CTR.fech_realiz_act, CT.Tiempo_cultivo from mydb.trabajadores TR inner join mydb.lotes LT ON TR.Nro_id_trab = LT.TRABAJADORES_Nro_id_trab inner join mydb.CONTROL_ACTIVIDADES CTR ON LT.Cod_lote = CTR.LOTES_Cod_lote inner join mydb.ACTIVIDADES AC ON AC.Cod_Acti = CTR.ACTIVIDADES_Cod_Acti inner join mydb.CULTIVOS CT ON CT.Cod_cultivo = CTR.CULTIVOS_Cod_cultivo

Justificacin: Para realizar esta ltima consulta se sigue utilizando la misma query de los puntos anteriores adicionando a esta la relacin a travs de un inner join de la tabla cultivos y extrayendo en el select los campos de las fechas ubicados en la tabla cultivo y control como el campo de tiempo el cual se encuentra en la tabla cultivo. 4. Dada la siguiente tabla, aplique las reglas de normalizacin y genere las tablas que consideren conveniente con sus respectivos nombres, llaves primarias y llaves forneas y campos, para que mnimo quede en tercera forma normal (3FN).

PEDIDOS

Nro_pedido

Fecha_pedido

Nro_id_empl

Nomb_empl

Nomb_clie

Art_pedido

Fecha_pedido

Nomb_artic

Cant_pedida

Tel_cli

Precio_unit_art

Valor_total

Dir_clie

Nro_id_clie

PEDIDOS

Nro_pedido

Nro_id_empl

Nro_id_clie

Fecha_pedido

Valor_total

EMPLEADOS

Nro_id_empl

Nomb_empl

CLIENTES

Nro_id_clie

Nomb_clie

Tel_cli

Dir_clie

Fecha_pedido

Art_pedido

Cant_pedida

ARTICULOS

Nomb_artic

Precio_unit_art

ARTICULOS-CLIENTES

Nro_id_clie

Nomb_artic

CONCLUSIONES

Como futuros Ingenieros es indispensable el manejo de Bases de Datos, pero no solo el manejarla sino tambin implementarla por eso lo importante de saber cmo hacerlo, tener datos que no vayan a caer en la redundancia o que no lleven a obtener ninguna informacin que sea eficiente, por eso aprender el concepto de modelo relacional, aprender el lgebra relacional y como normalizar es un primer paso para ser bueno profesionales.

Potrebbero piacerti anche