• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Ejercicios áLgebra Relacional
 

Ejercicios áLgebra Relacional

on

  • 24,006 views

 

Statistics

Views

Total Views
24,006
Views on SlideShare
24,006
Embed Views
0

Actions

Likes
3
Downloads
608
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • me gusata este domento, me parece muy didactico
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Ejercicios áLgebra Relacional Ejercicios áLgebra Relacional Document Transcript

    • TALLER – ALGEBRA RELACIONAL -----------UNIDAD CENTRAL DEL VALLE DEL CAUCA FACULTAD DE INGENIERÍAPROGRAMA INGENIERÍA DE SISTEMAS TULUÁ, ABRIL 28 DE 2009
    • TALLER – ALGEBRA RELACIONAL ------------- Presentado al ingeniero: Edgar Sandoval Ing. SistemasUNIDAD CENTRAL DEL VALLE DEL CAUCA FACULTAD DE INGENIERÍAPROGRAMA INGENIERÍA DE SISTEMAS TULUÁ, ABRIL 28 DE 2009
    • Ejercicios Álgebra RelacionalUn grupo de investigación de una universidad ha diseñado una base de datos (BD)para la gestión de los proyectos de investigación en los que participa.RELACIÓN PLANCÓDIGO_PLAN CHAR(20) Clave primariaNOMBRE CHAR(100)ENTIDAD_FINANCIADORA CHAR(20)En esta tabla se almacenarán los distintos planes o programas a los que puedenpertenecer los proyectos de investigación. Para cada plan se almacenará el códigodel mismo, el nombre completo del plan, y la entidad que lo financia. Por ejemplo,un plan podría ser el I+D+I, cuyo nombre completo es Plan Nacional deInvestigación Científica, Desarrollo e Innovación Tecnológica, cuya entidadfinanciadora es el MCYT (Ministerio Ciencia y Tecnología).RELACIÓN PROYECTOCÓDIGO_PROYECTO CHAR(20) Clave primariaCÓDIGO_PLAN CHAR(20) Clave ajena que referencia a PLANNOMBRE CHAR(50)FECHA_INICIO DATEFECHA_FIN DATEPRESUPUESTO INTEGEREn esta tabla se almacenarán los proyectos en los que participan losdistintosinvestigadores. Cada proyecto de investigación estará asociado a un plan.Tendremos el código del proyecto, el código del plan al que pertenece dichoproyecto, el nombre completo del proyecto, la fecha de inicio del mismo y la definalización. Además se almacenará en esta tabla el presupuesto concedido a cadaproyecto.RELACIÓN ASIGNADO_ACÓDIGO_PROYECTO CHAR(20) Clave ajena que referencia a PROYECTODNI_INVESTIGADOR CHAR(9) Clave ajena que referencia a INVESTIGADOR
    • FECHA_INICIO DATEFECHA_FIN DATETIPO_PARTICIPACION CHAR(20)En esta tabla se almacenará qué investigadores trabajan en qué proyectos. La claveprimaria estará formada por CÓDIGO_PROYECTO y DNI_INVESTIGADOR. Uninvestigador una vez que abandona el proyecto no puede reincorporarse al mismoproyecto posteriormente. También se indicará el periodo en el que un determinadonvestigador trabaja en un proyecto de investigación por medio de los atributosFECHA_INICIO y FECHA_FIN. El atributo TIPO_PARTICIPACION indicará el papelque juega cada investigador en cada proyecto. Podrá tomar los siguientes valores:investigador principal, investigador a tiempo completo, investigador a tiempoparcial, becario FPI, etc.RELACIÓN INVESTIGADORDNI_INVESTIGADOR CHAR(9) Clave primariaNOMBRE CHAR(50)CIUDAD CHAR(15)TELÉFONO CHAR(12)En esta tabla se almacenarán los investigadores que participan en los distintosproyectos de investigación. Se almacenará el DNI, el nombre, la ciudad en la quetrabaja y su teléfono de contacto. A continuación, se muestra el grafo relacional deeste BD para la gestión de proyectos de investigación.PLAN (Código_Plan, Nombre, Entidad_Financiadora)PROYECTO (Código_Proyecto, Código_Plan, Nombre, Fecha_Inicio, Fecha_Fin, Presupuesto)ASIGNADO_A (Código_Proyecto, DNI_Investigador, Fecha_Inicio, Fecha_Fin,Tipo_Participación)INVESTIGADOR (DNI_Investigador, Nombre, Ciudad, Teléfono)Sobre esta BD se pide que se realicen las siguientes consultas en álgebrarelacional:A continuación, se plantea una posible solución a las consultas que se plantean.
    • Naturalmente, pueden existir otras alternativas igualmente válidas, incluso enalgunos casos se muestran estas alternativas.Tablas hechas en PowerDesigner 12: INVESTIGADOR PLAN dni_investigador <pi> Characters (9) <M>cod_Plan <pi> Characters (20) <M> nombre Characters (100) <M>nombre Characters (100) <M> ciudad Characters (15) <M>entidad_financiera Characters (20) <M> telefono Characters (12)Identifier_1 <pi> Identifier_1 <pi> TIENE ASIGNADOS PROYECTO ASIGNADO_A cod_Proyecto <pi> Characters (20) <M> ASIGNADO fecha_inicio Date <M> nombre Characters (100) <M> fecha_fin Date <M> fecha_inicio Date <M> tipo_participacion Characters (20) <M> fecha_fin Date <M> presupuesto Integer <M> Identifier_1 <pi>Q1: Nombre de los investigadores de Madrid y el nombre de los proyectos en losque trabajan.IInombre.INVESTIGADOR, nombre.PROYECTO(σ(ciudad.INVESTIGADOR=“Madrid”)and(dni_nvestigador.ASIGNADO_A=dni_nvestigador.INVESTIGADOR)and(cod_proyecto.PROYECTO=cod_proyecto.ASIGNADO_A)(INVESTIGADOR ×ASIGNADO_A ×PROYECTO)Q2: Nombre del investigador responsable y fecha de inicio del proyecto llamado“NEPTUNO”.IInombre.INVESTIGADOR,fecha_inicio.PROYECTO,nombre.PROYECTOσ( (nombre.PROYECTO=“Neptuno”)and(dni_nvestigador.ASIGNADO_A=dni_nvestigador.INVESTIGADOR)and(cod_proyecto.PROYECTO=cod_proyecto.ASIGNADO_A)(INVESTIGADOR ×ASIGNADO_A ×PROYECTO).Q3: Nombre de los proyectos en los que trabaja algún investigador de Soria.IInombre.PROYECTO
    • σ( (ciudad.INVESTIGADOR=“Soria”)and(dni_nvestigador.ASIGNADO_A=dni_nvestigador.INVESTIGADOR)and(cod_proyecto.PROYECTO=cod_proyecto.ASIGNADO_A)(INVESTIGADOR ×ASIGNADO_A ×PROYECTO).Q4: Nombre y teléfono de los investigadores principales que trabajen en proyectoscuyo presupuesto sea inferior a 5000 EUR.IInombre.INVESTIGADOR,telefono.INVESTIGADORσ( (presupuesto.PROYECTO<5000)and(dni_nvestigador.ASIGNADO_A=dni_nvestigador.INVESTIGADOR)and(cod_proyecto.PROYECTO=cod_proyecto.ASIGNADO_A)(Investigador ×Asignado_A× Proyecto).Q5: Nombre de los proyectos que hayan comenzado este año y que pertenezcan alplan, cuyo código sea “PEUR”.IInombre.PROYECTO(σ(fechaInicio.PROYECTO=2009) and (cod_plan.PLAN = “PEUR”) and(cod_plan.PLAN = cod_plan.PROYECTO) (PROYECTO× PLAN).Q6: Nombre de los investigadores principales de los proyectos cuya entidadfinanciadora sea la “CICYT”.IInombre.INVESTIGADORσ( (entidad_financiera.PLAN=“CICYT”)and(dni_nvestigador.ASIGNADO_A=dni_investigador.INVESTIGADOR)and(cod_proyecto.PROYECTO=cod_proyecto.ASIGNADO_A)and(cod_plan.PROYECTO=cod_plan.PLAN)(INVESTIGADOR × ASIGNADO_A × PROYECTO X PLAN).Q7: Nombre de los planes a los que pertenecen los proyectos con unpresupuestosuperior a 10000 EUR pero que cuyo investigador principal no sea ni deMadrid ni de Barcelona.IInombre.PLANσ( (presupuesto.PROYECTO>10000) and (ciudad.INVESTIGADOR = ¬”Madrid”)and(ciudad.INVESTIGADOR=¬”Barcelona”)and(dni_nvestigador.ASIGNADO_A=dni_nvestigador.INVESTIGADOR)and(cod_proyecto.PROYECTO=cod_proyecto.ASIGNADO_A)and(cod_plan.PROYECTO=cod_plan.PLAN) (INVESTIGADOR×ASIGNADO_A ×PROYECTO X PLAN)
    • Q8: Nombre de aquellos investigadores que trabajan en todos los proyectosdeinvestigación.Q9: Obtener el nombre de los proyectos cuyo investigador principal es de LaCoruña y que tienen un presupuesto concedido superior a todos los proyectosfinanciados por el plan "CICYT".Q10: Obtener el nombre de los investigadores que participan en proyectos quetienen un presupuesto superior o igual al proyecto con nombre "FOLRE".Q11: Obtener el nombre de los investigadores que nunca han participado enproyectos que pertenezcan al plan "PEUR".Q12: Obtener el nombre de los investigadores que nunca han sido investigadoresprincipales de ningún proyecto.IInombre.INVESTIGADOR (σ(tipo_participacion.ASIGNADO_A = ¬ “Principal”)and(dni_nvestigador.ASIGNADO_A=dni_nvestigador.INVESTIGADOR)(INVESTIGADOR × ASIGNADO_A).Q13: Obtener el nombre y el código de los proyectos con un presupuesto superior a100.000 €.IInombre.PROYECTO,xod_proyecto.PROYECTO(σ(presupuesto.PROYECTO> 100000) (Proyecto).Q14: Obtener el nombre y el DNI de los investigadores que son de Barcelona y queestán asignados (en el momento actual, por lo que la fecha de fin de asignacióndebe ser nula) al proyecto con nombre "BDI".IInombre.INVESTIGADOR, dni_investigador.INVESTIGADOR(σ(ciudad.INVESTIGADOR=“Barcelona”) and (fecha_fin.ASIGNADO_A = NULL)and(nombre.PROYECTO=“BDI”)and(cod_proyecto.PROYECTO=cod_proyecto.ASIGNADO_A)and(dni_nvestigador.ASIGNADO_A=dni_nvestigador.INVESTIGADOR)(INVESTIGADOR × ASIGNADO_A × PROYECTO).Q15: Obtener el nombre y los códigos de proyectos que tienen un presupuestoinferior a 100.000 € y en los que no trabajen investigadores de Barcelona.IInombre.PROYECTO,cod_proyecto.PROYECTO
    • σ( (presupuesto.PROYECTO< 100000) and (ciudad. INVESTIGADOR =¬“Barcelona”) and (cod_proyecto.PROYECTO=cod_proyecto.ASIGNADO_A)and(dni_nvestigador.ASIGNADO_A=dni_nvestigador.INVESTIGADOR)(INVESTIGADOR × ASIGNADO_A × PROYECTO).Q16: Obtener el nombre de los investigadores que son de Tarragona y que estánasignados a proyectos que tienen un presupuesto inferior a alguno de los proyectosdel plan con nombre "PLAN 2002".IInombre.INVESTIGADOR(σ(ciudad.INVESTIGADOR= “Tarragona”) and(presupuesto.PROYECTO<(presupuesto. PROYECTO = “PLAN 2002”) and(cod_proyecto.PROYECTO =cod_proyecto.ASIGNADO_A)and(dni_nvestigador.ASIGNADO_A=dni_nvestigador.INVESTIGADOR) and (cod_plan. PROYECTO = cod_plan.PLAN)(INVESTIGADOR × ASIGNADO_A × PROYECTO X PLAN).Q17: Obtener el nombre de todos los proyectos que no están dirigidos porinvestigadores de Valladolid y que además tienen un presupuesto inferior alproyecto que tiene por nombre "EURO PROYECTO".IInombre.PROYECTO(σ(ciudad.INVESTIGADOR = ¬“Valladolid”) and(presupuesto.PROYECTO<(presupuesto.PROYECTO= “EURO PROYECTO”) and(cood_proyecto.PROYECTO=cod_proyecto.ASIGNADO_A)and(dni_nvestigador.ASIGNADO_A=dni_nvestigador.INVESTIGADOR)(INVESTIGADOR × ASIGNADO_A × PROYECTO).Q18: Obtener el nombre y los DNIs de los investigadores que no participan onunca han participado en un proyecto de investigación.IInombre.INVESTIGADOR,dni_nvestigador.INVESTIGADOR(σ(cod_proyecto.ASIGNADO_A=NULL)and(dni_nvestigador.ASIGNADO_A=dni_nvestigador.INVESTIGADOR)(INVESTIGADOR × ASIGNADO_A).Q19: Obtener el nombre de los investigadores que viven en Cuenca y que no seaninvestigadores principales de proyectos en los cuales participen investigadores deBarcelona.
    • Q20: Obtener el nombre de los investigadores que únicamente hayan sidoinvestigadores principales de proyectos del plan "SOCRATES".IInombre.INVESTIGADOR(σ(nombre.PLAN=“SOCRATES”)and(tipo_participacion.ASIGNADO_A= “Principal”) and(dni_nvestigador.ASIGNADO_A=dni_nvestigador.INVESTIGADOR) and(cod_plan.PROYECTO=cod_plan.PLAN)(INVESTIGADOR × ASIGNADO_A × PROYECTO X PLAN).