27
qwertyuiopasdfghjklzxcvbnmqwer tyuiopasdfghjklzxcvbnmqwertyuio pasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjkl zxcvbnmqwertyuiopasdfghjklzxcv bnmqwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnmqwer tyuiopasdfghjklzxcvbnmqwertyuio pasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjkl zxcvbnmqwertyuiopasdfghjklzxcv bnmqwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnmqwer tyuiopasdfghjklzxcvbnmqwertyuio pasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmrtyuiopasdfghjklzxcv Bases de Datos Navicat, Visio 10 Junio 2011 Ana Karen Aguilar Patiño Elizabeth Ofelia Arriaga Cantor

Consultas mysql4

Embed Size (px)

Citation preview

Page 1: Consultas  mysql4

qwertyuiopasdfghjklzxcvbnmqwer

tyuiopasdfghjklzxcvbnmqwertyuio

pasdfghjklzxcvbnmqwertyuiopasd

fghjklzxcvbnmqwertyuiopasdfghjkl

zxcvbnmqwertyuiopasdfghjklzxcv

bnmqwertyuiopasdfghjklzxcvbnm

qwertyuiopasdfghjklzxcvbnmqwer

tyuiopasdfghjklzxcvbnmqwertyuio

pasdfghjklzxcvbnmqwertyuiopasd

fghjklzxcvbnmqwertyuiopasdfghjkl

zxcvbnmqwertyuiopasdfghjklzxcv

bnmqwertyuiopasdfghjklzxcvbnm

qwertyuiopasdfghjklzxcvbnmqwer

tyuiopasdfghjklzxcvbnmqwertyuio

pasdfghjklzxcvbnmqwertyuiopasd

fghjklzxcvbnmrtyuiopasdfghjklzxcv

Bases de Datos

Navicat, Visio

10 Junio 2011

Ana Karen Aguilar Patiño Elizabeth Ofelia Arriaga Cantor

Page 2: Consultas  mysql4

2

Índice

SIFIIP

Planteamiento

Diagramas

Consultas

UPN

Planteamiento

Diagramas

Consultas

PINTA, LÁPICES

Planteamiento

Diagramas

Consultas

Page 3: Consultas  mysql4

3

Page 4: Consultas  mysql4

4

SIIFIPEmpresa dedicada a diseñar y desarrollar proyectos.

Cuenta con distintos departamentos (diseño, desarrollo, ingeniería de procesos, recursos humanos, recursos financieros…)

De los empleados cada uno tiene un sueldo. Cada empleado pertenece a un departamento en el que hay un jefe de departamento.

Los proyectos son vendidos haciendo un presupuesto del costo total tomando en cuenta a toda la gente que interviene en el proyecto y todos los demás requerimientos necesarios en su elaboración. En cada proyecto pueden participar varios empleados, hay un departamento encargado de cada proyecto, un líder que puede ser de cualquier depto.

Cada empleado y/o cada departamento pueden trabajar en varios proyectos a la vez.

*EntidadesEmpleado(nombre,RFC,Dpto,IdEmp,sueldo)Departamento(nombre,CveDpto,jefeDpto,proyecto)Proyecto(nombre,CveProy,presupuesto,duracion,N°participantes)

*RelacionesEmpleado-Proyecto Empleado-Empleado Empleado-Departamento

1 N 1 1 1 1 M 1 1 1 N 1

N:M 1:1 N:1

*Entidades resultantes

Presupuesto, LiderProy

Ir a Indice

Page 5: Consultas  mysql4

5

Empleado

Proyecto

Depto R1

R3

R2

CveDpto

IDEmpleado

CveProyDiagrama

Inicial

N:11:1

N:M

__________________________________________________________________________________

Ir a Indice

Empleado

Presupuesto

LiderProy

R4

CveProy

IDEmpleado

R2Proyecto

Depto R1

R3

CveDptoIDEmpleado

IDEmpleado

CveProyCveProy

Diagrama Final

1:N

N:1

1:N1:1

Page 6: Consultas  mysql4

6

CONCULTAS MySQL

“SIFIIP”

1. Obtener los nombres de los empleados que

participan en proyectos.

SELECT NomEmp

FROM Empleado, presupuesto, proyecto

WHERE empleado.IdEmp=presupuesto.IdEmp

AND presupuesto.Cveproy=proyecto.CveProy

2. Obtener los nombres de departamentos que participan en proyectos.

SELECT DISTINCT NomDepto

FROM departamento,empleado,presupuesto

WHERE departamento.CveDepto=empleado.CveDepto

AND empleado.IdEmp=presupuesto.IdEmp

3. Obtener el nombre de los empleados que pertenecen al departamento de

Desarrollo.

SELECT NomEmp

FROM empleado,departamento

WHERE empleado.CveDepto=departamento.CveDepto

AND departamento.NomDepto='Desarrollo'

Page 7: Consultas  mysql4

7

4. Obtener Que nombre de empleados participa en el proyecto Záda.

SELECT NomEmp

FROM empleado,presupuesto,proyecto

WHERE empleado.IdEmp=presupuesto.IdEmp

AND presupuesto.Cveproy=proyecto.CveProy

AND proyecto.`Nombre del Proyecto`='Záda'

5. Sumar la cantidad de participantes que pertenecen al proyecto PS035

SELECT AVG (CantPart)

FROM presupuesto

WHERE presupuesto.Cveproy='PS035'

6. Obtener nombre del proyecto donde participa

Lopez Bravo José Carlos

SELECT `Nombre del Proyecto`

FROM proyecto,presupuesto,empleado

WHERE proyecto.CveProy=presupuesto.Cveproy

AND presupuesto.IdEmp=empleado.IdEmp

AND empleado.NomEmp='Lopez Bravo José Carlos'

7. Obtener los nombres de los departamentos que participan en el proyecto PS339 y PS555

SELECT DISTINCT NomDepto

FROM departamento,proyecto,presupuesto,empleado

WHERE empleado.IdEmp = presupuesto.IdEmp

AND departamento.CveDepto = empleado.CveDepto

AND presupuesto.Cveproy=proyecto.CveProy="PS339"

AND presupuesto.Cveproy=proyecto.CveProy="PS555"

8. Ordenar de mayor menor los gastos de presupuesto

SELECT DISTINCT Presup

FROM presupuesto

ORDER BY presup DESC

Page 8: Consultas  mysql4

8

9. Ordenar en orden alfabético el nombre de los empleados.

SELECT NomEmp

FROM empleado

ORDER BY NomEmp

10. Obtener el nombre de proyecto que tiene el

mayor presupuesto.

SELECT proyecto.`Nombre del Proyecto`,MAX(presup)

FROM proyecto, presupuesto

WHERE proyecto.CveProy=presupuesto.Cveproy

11. Obtener los nombres de los empleados de aquel que tiene el apellido G

SELECT DISTINCT NomEmp

FROM empleado

WHERE empleado.NomEmp REGEXP BINARY 'G'

12. Obtener los nombres de los empleados que se apellidan Gonzalez

SELECT NomEmp

FROM empleado

WHERE empleado.NomEmp

REGEXP BINARY 'Gonzalez'

Page 9: Consultas  mysql4

9

13. Obtener los nombres de los empleados y nombres del departamento, agrupados por departamento.

SELECT NomEmp, NomDepto

FROM empleado,departamento

WHERE empleado.CveDepto=departamento.CveDepto

ORDER BY NomDepto

14. Seleccionar la clave de los proyectos que se les asigno un presupuesto de 40000

SELECT DISTINCT proyecto.CveProy, presupuesto.Presup

FROM proyecto,presupuesto

WHERE proyecto.CveProy=presupuesto.Cveproy

AND presupuesto.Presup= '40000'

15. Obtener que clave de proyecto se asigno en el 2008

SELECT CveProy

FROM proyecto

WHERE proyecto.`Fecha.Inicio` REGEXP BINARY'2008'

16. Obtener los nombres de los empleados que participan en proyectos, y el nombre de su proyecto.

SELECT empleado.NomEmp,proyecto.`Nombre del Proyecto`

FROM proyecto,empleado,presupuesto

WHERE empleado.IdEmp=presupuesto.IdEmp

AND presupuesto.Cveproy=proyecto.CveProy

17. Obtener los nombres de los empleados que pertenecen al departamento de 'Ingeniería de software'

SELECT nomEmp

FROM empleado, departamento

WHERE empleado.CveDepto=departamento.CveDepto

AND departamento.NomDepto='Ingeniería de software'

Page 10: Consultas  mysql4

10

18. Obtener los nombres de los empleados y el nombre del proyecto donde participan los ingenieros en sistemas.

SELECT NomEmp,`Nombre del proyecto`

FROM empleado,proyecto,presupuesto

WHERE empleado.IdEmp=presupuesto.IdEmp

AND presupuesto.Cveproy=proyecto.CveProy

AND empleado.Perfil='Tecnico en Informática'

19. Obtener el nombre del empleado que participa en el proyecto PS447

SELECT DISTINCT empleado.NomEmp

FROM empleado,proyecto,presupuesto

WHERE empleado.IdEmp=presupuesto.IdEmp

AND presupuesto.Cveproy=proyecto.Cveproy

REGEXP 'PS447'

20. Obtener los datos de los empleados

SELECT *

FROM empleado

Ir a Indice

Page 11: Consultas  mysql4

11

Page 12: Consultas  mysql4

12

Universidad Pedagógica Nacional (UPN)

La universidad se ha visto en la necesidad de crear una base de datos para ingresar la información requerida de los alumnos, docentes, materias, calificaciones y especialidades que se imparten.

Entidades:Alumno (Matricula, NomAlum,CveFacul,Sem,FechNac,Edad,Tutor)Curso(CveAsig,NomAsig,NoCred)Docente(RFC,NomDoc,Perfil,Institución,AñosDoc)Facultad (CveFac,NomFac)

Relaciones:Alumno Facultad Alumno Curso 1 1 1 N N 1 M 1 N:1 N:M

Entidades resultantes: Alumno DocenteBoleta 1 N

M 1 N:M

Ir a Indice

Page 13: Consultas  mysql4

13

AlumnoFacultad Curso

Docente

Matricula

CveFacultad

RFC

NoCurso

R1 R3

R2

Diagrama Inicial

1:NN:M

N:M

________________________________________________________________________________

Alumno

Facultad

Boleta Curso

Docente

Matricula

CveFacultad

RFC

NoCurso

R1 R3

R2 R4

Diagrama Final

N:1N:1

N:11:N

Ir a Indice

Page 14: Consultas  mysql4

14

CONCULTAS MySQL

“UPN” 1. Seleccionar el nombre del alumno y el

nombre de la especialidad.

SELECT NomAlum, NomFac

FROM alumno,facultad

WHERE alumno.CveFacul=facultad.CveFac

2. Obtener los nombres de los alumnos que pertenecen a la facultad de Diseño.

SELECT NomAlum

FROM alumno,facultad

WHERE alumno.CveFacul=facultad.CveFac

AND facultad.NomFac='Diseño'

3. Obtener los nombres de los docentes que tienen un nivel de preparación de maestría.

SELECT NomDoc

FROM docente

WHERE docente.Perfil='maestria'

4. Obtener el nombre del docente que imparte el curso de redes neuronales.

SELECT NomDoc

FROM docente,boleta,curso

WHERE docente.RFC=boleta.RFC

AND curso.CveAsig=boleta.CveAsig

AND curso.NomAsig='Fisica 1'

Page 15: Consultas  mysql4

15

5. Mostrar el nombre de los alumnos que se apellidan Flores.

SELECT NomAlum

FROM alumno

WHERE alumno.NomAlum REGEXP'Flores'

6. Mostrar nombre y facultad del los alumnos.

select nomalum,cvefacul

from alumno

where alumno.Cvefacul=alumno.Nomalum =""

7. Obtener el nombre d elos docentes qe son Ingenieros .

select nomdoc

from docente

where docente.Perfil="Ingeniero"

8. Obtener el nombre de los alumno qe corresponde a la cvefacul A28.

select nomalum

from alumno

where alumno.Cvefacul="A28"

9. Mostrar el nombre y perfil de cada docente.

select nomdoc,perfil

from docente

where docente.Nomdoc=docente.Perfil=""

Page 16: Consultas  mysql4

16

10. Obtener el nombre de los docentes con el perfil de abogado

select nomdoc

from docente

where docente.Perfil="Abogado"

11. Obtener el nombre del docente perteneciente a la institucion

"ITC"

select nomdoc

from docente

where docente.Institucion="ITC"

12. Mostrar los nombres de los alumnos que cursan el 2° semestre

select nomalum

from alumno

where alumno.Sem="2"

13. Mostrar el nombre del los alumnos correspondientes al 6° semestres

select nomalum

from alumno

where alumno.Sem="6"

14. Mostrar el nombre de la asigantura correspondiente a la clave "BD l"

select nomasig

from asignatura

where asignatura.Cveasig="Bd l"

Page 17: Consultas  mysql4

17

15. Mostrar el nombre de los docentes el cual sus años de servicios son "12"

select nomdoc

from docente

where docente.`Añosdoc`="12"

16. Obtener los datos personales de los alumnos

Select *

From alumno

17. Obtener los datos de las asignaturas

SELECT *

FROM curso

Page 18: Consultas  mysql4

18

18. Obtener los datos personales de los docentes

Select *

From docente

19. Obtener los datos de las facultades o

especialidades

Select *

From Facultad

20. Obtener

SELECT NomFac

FROM facultad,alumno

WHERE alumno.CveFacul=facultad.CveFac

AND alumno.NomAlum='Juan Pérez'

Ir a Indice

Page 19: Consultas  mysql4

19

Page 20: Consultas  mysql4

20

Pinta, Lápices

La empresa fabrica y vende lápices, y en departamento de ventas se ha requerido hacer una base de datos de los productos, clientes y distribuidores del producto para tener un mayor control y organización de los movimientos.

Entidades: Lápiz(CveLápiz,NomLápiz,Color,Grosor,PrecioUnit,Tipo, CantPaquete,Lote)Cliente(NomCliente,Apellido,Domicilio,Tel,CveCliente)Distribuidor(NomDist,Dirección,Tel,CP,NumControl)

Relaciones:Lápiz Cliente Lápiz Distribuidor1 N 1 N M 1 M 1

Entidades resultantes:

Registro

Ir a Indice

Page 21: Consultas  mysql4

21

Cliente DistribuidorLápiz

Diagrama

Inicial

R1 R2

N:M N:M

Cliente Distribuidor

Lápiz

Diagrama Final

R1 R2

1:N N:1

Registro

N:1R3

Ir a Indice

Page 22: Consultas  mysql4

22

CONCULTAS MySQL

“PINTA, Lápices”

1. Obtener los apellidos de los clientes

SELECT Apellidos

FROM clientes

2. Obtener los domicilios y su telefono

SELECT Domicilio,Tel

FROM clientes

3. Obtener los nombres de los clientes

SELECT `Nom Cliente`

FROM clientes

4. Obtener tel teléfono de los clientes

SELECT Tel FROM clientes

5. Obtener toda la tabla de cliente con todos los datos que se están dando

SELECT *

FROM clientes

Page 23: Consultas  mysql4

23

6. Obtener los datos del registro de ventas

SELECT *

FROM registro

7. Obtener el nombre de los distribuidores que surten los

lápices con Clave L002.

SELECT DISTINCT NomDis

FROM registro,`lápiz`,distribuidor

WHERE registro.`Num control`=distribuidor.`Num control`

AND `lápiz`.CveLapiz REGEXP BINARY'L002'

8. Obtener los datos de los clientes

SELECT *

FROM cliente

Page 24: Consultas  mysql4

24

9. Obtener el nombre del cliente y el nombre de

quien le distribuye

SELECT DISTINCT`Nom Cliente`,`Nom Distribuidor`

FROM clientes,distribuidor,registro

WHERE clientes.`Cve Cliente`=registro.CveCliente

AND registro.`Num control`=distribuidor.`Num control`

10. Obtener el nombre del cliente,

apellidos y su domicilio a quien le

distribuye Pinocho

SELECT DISTINCT`Nom Cliente`,Apellidos,Domicilio

FROM clientes,distribuidor,registro

WHERE clientes.`Cve Cliente`=registro.CveCliente

AND registro.`Num control`=distribuidor.`Num control`

AND distribuidor.`Nom Distribuidor`='Pinocho'

11. Obtener el nombre, color, grosor y

precio unitario e los lápices de dibujo.

SELECT DISTINCT

NomLápiz,Color,Grosor,PrecioUnit

FROM `lápiz`

WHERE `lápiz`.`NomLápiz` REGEXP 'Dibujo'

12. Obtener el nombre de los lápices y el lote en el que

se fabrican

SELECT DISTINCT `NomLápiz`,Lote

FROM `lápiz`

13. 0btener el tipo de lápices que fabrica la empresa

SELECT DISTINCT Tipo

FROM `lápiz`

Page 25: Consultas  mysql4

25

14. 0btener el nombre de los lápices que se venden en paquetes de 6.

SELECT DISTINCT `NomLápiz`

FROM `lápiz`

WHERE `lápiz`.CantPaquete='6'

15. 0btener el nombre de los lápices que son de tipo normal

SELECT DISTINCT `NomLápiz`

FROM `lápiz`

WHERE `lápiz`.Tipo='Normal'

16. Obtener los apellidos de los clientes

SELECT Apellidos

FROM clientes

17. Obtener los domicilios y su telefono

SELECT Domicilio,Tel

FROM clientes

18. Obtener los nombres de los clientes

SELECT `Nom Cliente`

FROM clientes

19. Obtener tel teléfono de los clientes

SELECT Tel FROM clientes

Page 26: Consultas  mysql4

26

20. Obtener toda la tabla de cliente con todos los datos que se están dando

SELECT *

FROM clientes

21. Obtener

las lista de dirección de la tabla distribuidor

SELECT Direccion

FROM Distribuidor

22. Obtener el teléfono de los distribuidores

SELECT Telefono

FROM distribuidor

23. Obtener el num de control de los distribuidores

SELECT `Num control`

FROM distribuidor

Page 27: Consultas  mysql4

27

24. Obtener las direcciones y el teléfono de los distribuidores

SELECT Direccion ,Telefono

FROM distribuidor

25. Obtener la tabla de distribuidores.

SELECT Direccion ,Telefono

FROM distribuidor

Ir a Indice