Você está na página 1de 10

TALLER ALGEBRA RELACIONAL

JULIAN ANDRES GALVEZ IVAN ANDRES SUAREZ

UNIDAD CENTRAL DEL VALLE DEL CAUCA FACULTAD DE INGENIERA PROGRAMA INGENIERA DE SISTEMAS TULU, ABRIL 27 DE 2009

TALLER ALGEBRA RELACIONAL

JULIAN ANDRES GALVEZ IVAN ANDRES SUAREZ

Presentado al ingeniero: Edgar Sandoval Ing. Sistemas

UNIDAD CENTRAL DEL VALLE DEL CAUCA FACULTAD DE INGENIERA PROGRAMA INGENIERA DE SISTEMAS TULU, ABRIL 27 DE 2009

TALLER - ALGEBRA RELACIONAL Un grupo de investigacin de una universidad ha diseado una base de datos (BD) para la gestin de los proyectos de investigacin en los que participa.

En esta tabla se almacenarn los distintos planes o programas a los que pueden pertenecer los proyectos de investigacin. Para cada plan se almacenar el cdigo del mismo, el nombre completo del plan, y la entidad que lo financia. Por ejemplo, un plan podra ser el I+D+I, cuyo nombre completo es Plan Nacional de Investigacin Cientfica, Desarrollo e Innovacin Tecnolgica, cuya entidad financiadora es el MCYT (Ministerio Ciencia y Tecnologa).

En esta tabla se almacenarn los proyectos en los que participan los distintos investigadores. Cada proyecto de investigacin estar asociado a un plan. Tendremos el cdigo del proyecto, el cdigo del plan al que pertenece dicho proyecto, el nombre completo del proyecto, la fecha de inicio del mismo y la de finalizacin. Adems se almacenar en esta tabla el presupuesto concedido a cada proyecto.

En esta tabla se almacenar qu investigadores trabajan en qu proyectos. La clave primaria estar formada por CDIGO_PROYECTO y DNI_INVESTIGADOR. Un investigador una vez que abandona el proyecto no puede reincorporarse al mismo proyecto posteriormente. Tambin se indicar el periodo en el que un determinado investigador trabaja en un proyecto de investigacin por medio de los atributos FECHA_INICIO y FECHA_FIN. El atributo TIPO_PARTICIPACION indicar el papel que juega cada investigador en cada proyecto. Podr tomar los siguientes valores: investigador principal, investigador a tiempo completo, investigador a tiempo parcial, becario FPI, etc.

En esta tabla se almacenarn los investigadores que participan en los distintos proyectos de investigacin. Se almacenar el DNI, el nombre, la ciudad en la que trabaja y su telfono de contacto. A continuacin, se muestra el grafo relacional de este BD para la gestin de proyectos de investigacin.

Sobre esta BD se pide que se realicen las siguientes consultas en lgebra relacional: A continuacin, se plantea una posible solucin a las consultas que se plantean. Naturalmente, pueden existir otras alternativas igualmente vlidas, incluso en algunos casos se muestran estas alternativas.

Q1: Nombre de los investigadores de Madrid y el nombre de los proyectos en los que trabajan.

Nombre. Investigador, NomProyecto. Proyecto ( (Ciudad. Investigador =


Madrid) and (DNIInvestigador. Asignado_A = DNIInvestigador. Investigador) and (CodProyecto. Proyecto = CodProyecto. Asignado_A) (Investigador X Asignado_A X Proyecto). Q2: Nombre del investigador responsable y fecha de inicio del proyecto llamado NEPTUNO.

Nombre. Investigador, FechaInicio. Proyecto, NomProyecto. Proyecto (


(NomProyecto. Proyecto = Neptuno) and (DNIInvestigador. Asignado_A = DNIInvestigador. Investigador) and (CodProyecto. Proyecto = CodProyecto. Asignado_A) (Investigador X Asignado_A X Proyecto).

Q3: Nombre de los proyectos en los que trabaja algn investigador de Soria.

NomProyecto. Proyecto ( (Ciudad. Investigador = Soria) and (DNIInvestigador.


Asignado_A = DNIInvestigador. Investigador) and (CodProyecto. Proyecto = CodProyecto. Asignado_A) (Investigador X Asignado_A X Proyecto). Q4: Nombre y telfono de los investigadores principales que trabajen en proyectos cuyo presupuesto sea inferior a 5000 EUR.

NomInvestigador. Investigador, Telefono. Investigador ( (Presupuesto. Proyecto <


5000) and (DNIInvestigador. Asignado_A = DNIInvestigador. Investigador) and (CodProyecto. Proyecto = CodProyecto. Asignado_A) (Investigador X Asignado_A X Proyecto). Q5: Nombre de los proyectos que hayan comenzado este ao y que pertenezcan al plan, cuyo cdigo sea PEUR.

NomProyecto. Proyecto ( (FechaInicio. Proyecto = 2009) and (CodPlan. Plan =


PEUR) and (CodPlan. Plan = CodPlan. Proyecto) (Proyecto X Plan). Q6: Nombre de los investigadores principales de los proyectos cuya entidad financiadora sea la CICYT.

NomInvestigador. Investigador ( (EntFinanciera. Plan = CICYT) and


(DNIInvestigador. Asignado_A = DNIInvestigador. Investigador) and (CodProyecto. Proyecto = CodProyecto. Asignado_A) and (CodPlan. Proyecto = CodPlan. Plan) (Investigador X Asignado_A X Proyecto X Plan). Q7: Nombre de los planes a los que pertenecen los proyectos con un presupuesto superior a 10000 EUR pero que cuyo investigador principal no sea ni de Madrid ni de Barcelona.

NomPlan. Plan ( (Presupuesto. Proyecto > 10000) and (Ciudad. Investigador =


Madrid) and (Ciudad. Investigador = Barcelona) and (DNIInvestigador. Asignado_A = DNIInvestigador. Investigador) and (CodProyecto. Proyecto = CodProyecto. Asignado_A) and (CodPlan. Proyecto = CodPlan. Plan) (Investigador X Asignado_A X Proyecto X Plan). Q8: Nombre de aquellos investigadores que trabajan en todos los proyectos de investigacin.

NomInvestigador. Investigador, NomProyecto. Proyecto (DNIInvestigador.


Asignado_A = DNIInvestigador. Investigador) and (CodProyecto. Proyecto = CodProyecto. Asignado_A) (Investigador X Asignado_A X Proyecto).

Q9: Obtener el nombre de los proyectos cuyo investigador principal es de La Corua y que tienen un presupuesto concedido superior a todos los proyectos financiados por el plan "CICYT".

NomProyecto. Proyecto ( (Ciudad. Investigador = Corua) and (Presupuesto.


Proyecto > (Presupuesto. Proyecto = CICYT)) and (DNIInvestigador. Asignado_A = DNIInvestigador. Investigador) and (CodProyecto. Proyecto = CodProyecto. Asignado_A) and (CodPlan. Proyecto = CodPlan. Plan) (Investigador X Asignado_A X Proyecto X Plan). Q10: Obtener el nombre de los investigadores que participan en proyectos que tienen un presupuesto superior o igual al proyecto con nombre "FOLRE".

NomInvestigador. Investigador ( (Presupuesto. Proyecto > = (Presupuesto.


Proyecto = FOLRE)) and (DNIInvestigador. Asignado_A = DNIInvestigador. Investigador) and (CodProyecto. Proyecto = CodProyecto. Asignado_A) and (CodPlan. Proyecto = CodPlan. Plan) (Investigador X Asignado_A X Proyecto X Plan). Q11: Obtener el nombre de los investigadores que nunca han participado en proyectos que pertenezcan al plan "PEUR".

NomInvestigador. Investigador ( (NomPlan. Plan = PEUR) and


(DNIInvestigador. Asignado_A = DNIInvestigador. Investigador) and (CodProyecto. Proyecto = CodProyecto. Asignado_A) and (CodPlan. Proyecto = CodPlan. Plan) (Investigador X Asignado_A X Proyecto X Plan). Q12: Obtener el nombre de los investigadores que nunca han sido investigadores principales de ningn proyecto.

NomInvestigador. Investigador ( (TipoParticipacion. Asignado_A = Principal)


and (DNIInvestigador. Asignado_A = DNIInvestigador. Investigador) (Investigador X Asignado_A). Q13: Obtener el nombre y el cdigo de los proyectos con un presupuesto superior a 100.000 .

NomProyecto. Proyecto, CodProyecto. Proyecto ( (Presupuesto. Proyecto >


100000) (Proyecto).

Q14: Obtener el nombre y el DNI de los investigadores que son de Barcelona y que estn asignados (en el momento actual, por lo que la fecha de fin de asignacin debe ser nula) al proyecto con nombre "BDI".

NomInvestigador. Investigador, DNIInvestigador. Investigador

( (Ciudad. Investigador = Barcelona) and (FechaFin. Asignado_A = NULL) and (NomProyecto. Proyecto = BDI) and (CodProyecto. Proyecto = CodProyecto. Asignado_A) and (DNIInvestigador. Asignado_A = DNIInvestigador. Investigador) (Investigador X Asignado_A X Proyecto). Q15: Obtener el nombre y los cdigos de proyectos que tienen un presupuesto inferior a 100.000 y en los que no trabajen investigadores de Barcelona.

NomProyecto. Proyecto, CodProyecto. Proyecto

( (Presupuesto. Proyecto < 100000) and (Ciudad. Investigador = Barcelona) and (CodProyecto. Proyecto = CodProyecto. Asignado_A) and (DNIInvestigador. Asignado_A = DNIInvestigador. Investigador) (Investigador X Asignado_A X Proyecto). Q16: Obtener el nombre de los investigadores que son de Tarragona y que estn asignados a proyectos que tienen un presupuesto inferior a alguno de los proyectos del plan con nombre "PLAN 2002".

NomInvestigador. Investigador

( (Ciudad. Investigador = Tarragona) and (Presupuesto. Proyecto < (Presupuesto. Proyecto = PLAN 2002) and (CodProyecto. Proyecto = CodProyecto. Asignado_A) and (DNIInvestigador. Asignado_A = DNIInvestigador. Investigador) and (CodPlan. Proyecto = CodPlan. Plan) (Investigador X Asignado_A X Proyecto X Plan). Q17: Obtener el nombre de todos los proyectos que no estn dirigidos por investigadores de Valladolid y que adems tienen un presupuesto inferior al proyecto que tiene por nombre "EURO PROYECTO".

NomProyecto. Proyecto

( (Ciudad. Investigador = Valladolid) and (Presupuesto. Proyecto < (Presupuesto. Proyecto = EURO PROYECTO) and (CodProyecto. Proyecto = CodProyecto. Asignado_A) and (DNIInvestigador. Asignado_A = DNIInvestigador. Investigador) (Investigador X Asignado_A X Proyecto). Q18: Obtener el nombre y los DNIs de los investigadores que no participan o nunca han participado en un proyecto de investigacin.

NomInvestigador. Investigador, DNIInvestigador. Investigador ( (CodProyecto.


Asignado_A = NULL) and (DNIInvestigador. Asignado_A = DNIInvestigador. Investigador) (Investigador X Asignado_A).

Q19: Obtener el nombre de los investigadores que viven en Cuenca y que no sean investigadores principales de proyectos en los cuales participen investigadores de Barcelona.

NomInvestigador. Investigador

( (Ciudad. Investigador = Cuenca) and (TipoParticipacion. Asignado_A = Principal) and (CodProyecto. Proyecto = CodProyecto. Asignado_A) and (DNIInvestigador. Asignado_A = DNIInvestigador. Investigador) (Investigador X Asignado_A X Proyecto). Q20: Obtener el nombre de los investigadores que nicamente hayan sido investigadores principales de proyectos del plan "SOCRATES".

NomInvestigador. Investigador

( (NomPlan. Plan = SOCRATES) and (TipoParticipacion. Asignado_A = Principal) and (DNIInvestigador. Asignado_A = DNIInvestigador. Investigador) and (CodPlan. Proyecto = CodPlan. Plan) (Investigador X Asignado_A X Proyecto X Plan).

Você também pode gostar