Sifiip
La organización Sifiip es la encargada de en el diseño y desarrollo de proyectos. la empresa esta organizada en departamentos, en el cual cada departamento cuenta con una clave única, esta organizada por una cantidad de empleados, que a su vez estos empleados están integrados en un proyectos, estos pueden participar en varios proyectos, cada proyecto cuenta con un líder de proyecto, la empresa pretende tener un modelado de datos en el cual se obtenga un presupuesto de cada proyecto.
Entidades:
Proyecto:(Cve.proy, Nombre_del_proyecto, Fecha_de_inicio, Fechad_de_fin)
Empleado: (Idemp, nombre, domicilio, edad, Nivelacademico)
Departamento: (Cve.departamento, nombre, No. De integrantes)
Relaciones:
Empleado Departamento
N : I
Proyecto Empleado Presupuesto
N : M
Empleado Empleado Líder de proyecto
N : M
Consultas
1. Obtener los nombres de los empleados que participan en el proyecto.
Sintaxis:
SELECT empleado.NomEmp FROM
empleado
2. Obtener los nombres de los departamentos de los empleados que participan en proyecto.
Sintaxis:
SELECT NomDpto FROM
Empleado, Departamento, Presupuesto WHERE Departamento.CveDpto=Empleado.CveDpto and Empleado.IdEmp=Presupuesto.IdEmp
3. Obtener los nombres del empleado que pertenecen al departamento
de "Desarrollo".
Sintaxis:
SELECT NomEmp
FROM Empleado, Departamento
WHERE Empleado.CveDpto=Departamento.CveDpto and
NomDpto="Desarrollo"
4. Obtener los nombres de empleado que participan en el proyecto "Zadá". Sintaxis:
SELECT NomEmp
FROM Empleado,Presupuesto, Proyecto WHERE Empleado.IdEmp=Presupuesto.IdEmp and Presupuesto.CveProy=
Proyecto.CveProy and NomProy ="Zadá"
5. Sumar las cantidades de participantes que pertenecen al proyecto PS035.
Sintaxis:
SELECT SUM(CantPart) FROM Presupuesto, Proyecto WHERE Presupuesto.CveProy= Proyecto.CveProy and proyecto.CveProy="PS035"
6. Nombre del proyecto donde participa López Bravo José Carlos. Sintaxis:
SELECT NomProy
FROM Empleado,Presupuesto, Proyecto WHERE Empleado.IdEmp=Presupuesto.IdEmp and Presupuesto.CveProy=Proyecto.CveProy and NomEmp="López Bravo José Carlos"
7. Obtener los nombres de los departamentos que participan en el proyecto
PS555.
Sintaxis:
SELECT NomDpto
FROM Empleado,Presupuesto, Proyecto, Departamento WHERE Departamento.CveDpto=Empleado.CveDpto and Empleado.IdEmp=Presupuesto.IdEmp
and Presupuesto.CveProy=
Proyecto.CveProy and proyecto.CveProy="PS555"
8. Ordenar de mayor a menor los gastos de presupuesto por proyecto. Sintaxis:
SELECT presupuesto.Presup
FROM presupuesto
WHERE presupuesto.Presup <>"0" ORDER BY- presupuesto.Presup
9. Ordenar los nombres de empleados alfabéticamente.
Sintaxis:
SELECT NomEmp
FROM Empleado
ORDER BY empleado.NomEmp
10. Obtener que proyecto obtuvo el mayor gasto. Sintaxis:
SELECT Max(presup) FROM presupuesto
11. Obtener los nombres de los empleados donde el apellido empiece con "G".
Sintaxis:
SELECT NomEmp FROM Empleado WHERE empleado.NomEmp LIKE "G%"
12. Obtener los nombres de los empleados de aquel que tiene el apellido
"Gonzalez"
Sintaxis:
SELECT NomEmp FROM Empleado WHERE empleado.NomEmp like"%Gonzalez%"
13. Seleccionar la clave de los proyectos que se les asigno un presupuesto de
$40000.
Sintaxis:
SELECT Cveproy
FROM presupuesto
WHERE presupuesto.Presup = "40000"
14. Obtener por grupo los nombres de los empleados y nombres de departamentos agrupados por departamentos.
Sintaxis:
SELECT Nomemp, NomDpto FROM Empleado, Departamento WHERE empleado.CveDpto = departamento.CveDpto
ORDER BY
departamento.NomDpto ASC
15. Obtener que clave de proyecto se asgino en el 2008.
Sintaxis:
SELECT CveProy FROM Proyecto WHERE Proyecto.FechaIn LIKE "%2008%"
16. Obtener los datos de empleados. Sintaxis:
SELECT *
FROM empleado
17. Obtener los nombres de los empleados y clave de departamento.
Sintaxis:
SELECT NomEmp, CveDpto
FROM empleado
18. Obtener los nombres de los empleados y clave de departamento, para
cuando el nombre de departamento es "diseño".
Sintaxis:
SELECT NomEmp, departamento.CveDpto
FROM empleado, departamento
WHERE empleado.CveDpto=
departamento.CveDpto
and departamento.NomDpto= "Diseño"
19. Obtener los nombres de los empleados y el nombre del proyecto en el que participa.
Sintaxis:
SELECT NomEmp, proyecto.NomProy
FROM empleado, presupuesto, proyecto
WHERE empleado.IdEmp=
presupuesto.IdEmp
and presupuesto.Cveproy =
proyecto.CveProy
20. Obtener los nombres de los empleados que pertenecen al departamento de
"Ingeniería de procesos".
Sintaxis:
SELECT NomEmp
FROM empleado, departamento
WHERE empleado.CveDpto =
departamento.CveDpto
and departamento.NomDpto= "Ingeniería de procesos"
21. Obtener los nombres de los empleados y nombre del proyecto donde
participan los Ingenieros Civiles.
Sintaxis:
SELECT NomEmp, NomProy
FROM empleado, presupuesto, proyecto
WHERE empleado.IdEmp=
presupuesto.IdEmp
and presupuesto.Cveproy = proyecto.CveProy and empleado.Perfil="Ingeniería Civil"
22. Obtener nombres de los empleados del proyecto "Software Nick".
Sintaxis:
SELECT NomEmp
FROM empleado, presupuesto, proyecto
WHERE empleado.IdEmp=
presupuesto.IdEmp
and presupuesto.Cveproy = proyecto.CveProy and proyecto.NomProy= "Software Nick"
UPN
Se requiere una base de datos de la cual se pueda obtener una relación de los alumnos, la facultad en la que se encuentra, el semestre, asi como las materias que cursa, es necesario que el docente pueda tener una relación de las materias que imparte, asi como los resultados de cada parcial, del alumno implicado, además de tener la información
Entidades:
Alumno (Matricula,NomAlum,Cvefacul,FachaNac,Edad,Tutor) Asignatura(CveAsig,NomAsig,NoCred)
Boleta (Matricula, CveAsig,RFC,P1,P2,P3)
Docente (RFC, NomDoc, Perfil, Institucion, AñosDoc) Facultad (CveFacul, NomFacul)
Consultas
1. Seleccionar el nombre del alumno y nombre de facultad.
Sintaxis:
SELECT alumno.NomAlum, facultad.NomFacul
FROM alumno, facultad WHERE alumno.CveFacul = facultad.CveFacul
2. Obtener los nombres de los alumnos que pertenecen a la facultad de
Computación.
Sintaxis:
SELECT alumno.NomAlum FROM alumno, facultad WHERE alumno.CveFacul = facultad.CveFacul
and facultad.NomFacul = "Computación"
3. Obtener los nombres de los docentes que tienen un nivel de preparación de Ingeniero.
Sintaxis:
SELECT docente.NomDoc
FROM docente
WHERE docente.Perfil="Ingeniero"
4. Obtener los nombres de los alumnos, nombre del curso y que calificación en el parcial 1, fueron mayores que 8.
Sintaxis:
SELECT NoAlum,NomAsig, P1
FROM alumno, asigantura, boleta
WHERE alumno.Matricula=boleta.Matricula and asigantura.CveAsig=boleta.CveAsig
and boleta.P1>"8"
5. Obtener el nombre del docente que imparte el curso de Matematicas.
Sintaxis:
SELECT NomDoc
FROM Docente, Boleta, Asigantura
WHERE docente.RFC=boleta.RFC and asigantura.CveAsig=boleta.CveAsig and asigantura.NomAsig="Matematicas II"
6. Ordenar de mayor a menor el parcial 1.
Sintaxis:
SELECT boleta.P1
FROM boleta ORDER BY boleta.P1 DESC
7. Mostrar el nombre de los alumnos que s
Sintaxis:
SELECT alumno.NomAlum
FROM alumno
WHERE alumno.NomAlum
LIKE "%Flores%"
8. Obtener el nombre del alumno, curso que obtuvo una calificación mayor. Sintaxis:
SELECT NoAlum, NomAsig
FROM alumno, asigantura, boleta
WHERE alumno.Matricula=boleta.Matricula and asigantura.CveAsig=boleta.CveAsig
GROUP BY Max(boleta.P1)
9. Obtener el nombre del alumno y el semestre siempre y cuando sean de sistemas y que estén en 6° semestre.
Sintaxis:
SELECT alumno.NomAlum, alumno.Sem
FROM alumno
WHERE alumno.Sem="6" and alumno.CveFacul="A28"
10. Obtener historial de alumno "X".
Sintaxis:
SELECT alumno.NomAlum, facultad.NomFacul, alumno.Sem, boleta.CveAsig, asignatura.NomAsig, docente.NomDoc, boleta.P1, boleta.P2, boleta.P3
FROM alumno, asignatura, facultad, docente, boleta WHERE alumno.CveFacul = facultad.CveFacul and alumno.Matricula = boleta.Matricula and
boleta.RFC = docente.RFC and asignatura.CveAsig
= boleta.CveAsig and alumno.NomAlum = "X"
11. Buscar que alumnos tienen calificaciones de 6 y en que asignaturas. Sintaxis:
SELECT alumno.NomAlum, boleta.Matricula, asignatura.NomAsig, boleta.CveAsig
FROM alumno, boleta, asignatura
WHERE asignatura.CveAsig = boleta.CveAsig and boleta.Matricula = alumno.Matricula and boleta.P2 = "6"
12. Obtener alumnos que llevan la asignatura de matemáticas y sacar sus calificaciones de los 3 parciales.
Sintaxis:
SELECT alumno.NomAlum, boleta.P1, boleta.P2, boleta.P3
FROM alumno, boleta, asignatura
WHERE alumno.Matricula = boleta.Matricula and boleta.CveAsig = asignatura.CveAsig and asignatura.NomAsig = "Matematicas II"
13. Obtener nombre del alumno, las asignaturas que llevan y su calificación
en el tercer parcial de los que son de la facultad de computación.
Sintaxis:
SELECT alumno.NomAlum, boleta.CveAsig, asignatura.NomAsig, boleta.P3
FROM facultad, alumno, boleta, asignatura
WHERE facultad.CveFacul = alumno.CveFacul and alumno.Matricula = boleta.Matricula and boleta.CveAsig = asignatura.CveAsig and facultad.NomFacul = "Computación"
14. Obtener nombres de alumnos y semestre en el que están, los que
reciben clase de la docente con el RFC "ROA641504".
SELECT alumno.NomAlum, alumno.Sem
FROM alumno, boleta
WHERE alumno.Matricula = boleta.Matricula and boleta.RFC = "ROA641504"
15. Obtener nombres de docentes y los años que llevan de docente los que tienen un perfil de Ingenieros.
Sintaxis:
SELECT docente.NomDoc, docente.`AñosDoc`
FROM docente
WHERE docente.Perfil = "Ingeniero"
16. Obtener la mayor calificación en el parcial 2 de los alumnos que se encuentran en la facultad de Electricidad.
Sintaxis:
SELECT Max(boleta.P2)
FROM alumno, boleta, facultad WHERE facultad.CveFacul = alumno.CveFacul and alumno.Matricula = boleta.Matricula
and facultad.NomFacul = "Electricidad"
17. Ordenar los nombres de los alumnos y sacar sus 3 calificaciones de parcial.
Sintaxis:
SELECT alumno.NomAlum, boleta.P1, boleta.P2, boleta.P3
FROM alumno, boleta
WHERE alumno.Matricula = boleta.Matricula
ORDER BY alumno.NomAlum ASC
18. Obtener nombre de facultad, asignaturas que llevan y nombre del
docente los alumnos que se encuentran en 4° semestre.
Sintaxis:
SELECT facultad.NomFacul, asignatura.NomAsig, docente.NomDoc
FROM facultad, alumno, boleta, asignatura, docente
WHERE facultad.CveFacul = alumno.CveFacul and alumno.Matricula = boleta.Matricula and boleta.CveAsig = asignatura.CveAsig and boleta.RFC = docente.RFC and alumno.Sem = "6"
19. Obtener todos los datos de los alumnos que están en la facultad de
Administración.
Sintaxis:
SELECT *
FROM alumno, facultad WHERE alumno.CveFacul = facultad.CveFacul and facultad.NomFacul = "Administración"
20. Obtener datos de la docente "Margarita Paniagua"
Sintaxis:
SELECT * FROM docente
WHERE docente.NomDoc =
"Margarita Paniagua"
CENTRO DE ENSEÑANZA
A partir del siguiente supuesto diseñar el modelo entidad-relación. "Se desea informatizar la gestión de un centro de enseñanza para llevar el control de los alumnos matriculados y los profesores que imparten clases en ese centro. De cada profesor y cada alumno se desea recoger el nombre, apellidos, dirección, población, CURP, fecha de nacimiento, código postal y teléfono.
Los alumnos se matriculan en una o más asignaturas, y de ellas se desea almacenar el código de asignatura, nombre y número de horas que se imparten a la semana. Un profesor del centro puede impartir varias asignaturas, pero una asignatura sólo es impartida por un único profesor. De cada una de las asignaturas se desea almacenar también la nota que saca el alumno y las incidencias que puedan darse con él.
Además, se desea llevar un control de los cursos que se imparten en el centro de enseñanza. De cada curso se guardará el código y el nombre. En un curso se imparten varias asignaturas, y una asignatura sólo puede ser impartida en un único curso.
Las asignaturas se imparten en diferentes aulas del centro. De cada aula se quiere almacenar el código, piso del centro en el que se encuentra y número de pupitres de que dispone. Una asignatura se puede dar en diferentes aulas, y en un aula se pueden impartir varias asignaturas. Se desea llevar un registro de las asignaturas que se imparten en cada aula. Para ello se anotará el mes, día y hora en el que se imparten cada una de las asignaturas en las distintas aulas.
La dirección del centro también designa a varios profesores como tutores en cada uno de los cursos. Un profesor es tutor tan sólo de un curso. Un curso tiene un único tutor. Se habrá de tener en cuenta que puede que haya profesores que no sean tutores de ningún curso"
El presente texto es solo una selección del trabajo original. Para consultar la monografìa completa seleccionar la opción Descargar del menú superior.