Parcial 1
PARCIAL 1
PUNTO #1
Se crea la base de datos con los campos correspondientes que se asignana la misma.
a. Consulte los discentes que estudian sistemas (075, 088)
sintaxis
campo para visualizar
substr(cadena(string),posicion,longitud).
ejemplo:substr(carnet, 1,3)
listar los alumnos de las carreras diferentes a sistemas ('075','088');
select carnet, nombre from alumno where substr(carnet,1,3) in ('070','088');
b. Cuente los discentes que están matriculados en ingeniería (075)
Análisis
información que se desea mostrar : descripcion substr
tabla : pagos
condición : select count(*) from alumno where substr(carnet,1,3) in ('075');
comando : select
c. Consulte los nombres de los discentes cuyos caracteres no excedan de 25.
Análisis
información que se desea mostrar : descripcion, estudiante
tabla : pagos
condición : character_lenght(nombre) <;25
comando : select
d. Cuantos discentes no están matriculados en tecnología en sistemas.
Análisis
información que se desea mostrar : descripcion, fechaadquisicion
e. Cuente los discentes que iniciaron sus estudios en el año 2012.
Análisis
información que se desea mostrar : descripcion, fechaadquisicion
tabla : pagos
condición : select count < 06, subrt(carnet,1,0,3) = 2012
comando : select
f. Cuantos discentes iniciaron sus estudios en el primer semestre del año.
g. cuente los alumnos que se matricularon antes del 2013.
h. Ordene los discentes por el año en que se matricularon.
i. Liste los discentes de ingeniería de sistemas que estén matriculados antes del 2012 en el segundo semestre del año.
j. Consulte el carnet menor de los discentes que no son de sistemas (solo incluya el codigo)
k. Los carnet terminados en 088 tienen descuento del 5% de lo contrario pagan todo el valor de la matricula.
l. Si el carnet termina en 073 el estudiante es de contaduría, de lo contrario es de otra carrera a fin.
m. Liste a todos los estudiantes que pertenecen a la carrera de ingeniería de sistemas, cuyo nombre tengan en cualquier lado la letra i.
PUNTO #2
1. Que articulos fueron adquiridos antes del 6 mes del 2012.
Análisis
información que se desea mostrar : descripcion, fechaadquisicion
tabla : pagos
condición : month(fechaadquisicion) < 06, year(fechaadquisicion) = 2012
comando : select
2. Determinar el articulo que tiene fecha mas antigua de adquisición.
Análisis
información que se desea mostrar : fechaadquisicion
tabla : pagos
condición : fechaadquision menor
comando : min
3. Seleccionar los articulos que terminan en en (o) y (m).
Análisis
información que se desea mostrar : descripcion
tabla : pagos
condición : descripcion termine en (o) y (m)
comando : select
4. Listar los productos que tienen al final consonante.
Análisis
información que se desea mostrar : descripcion
tabla : pagos
condición : descripcion not like (a, e, i, o, u)
comando : select
5. Si las fechas de adquisición es en el primer semestre del año, se daran 5 meses para el pago
6. Si las fechas de adquisición es en el segundo semestre del año, se daran 8 meses de plazo
PUNTO #3
1. Total de estudiantes nacidos en los años 70.
Análisis
información que se desea mostrar : total estudiantes nacidos en la decada del 70
tabla : estudiante
condición : year(fechanacimiento) between 1970 nad 1979
comando : count
2. Consultar a los estudiantes que tienen entre 16 y 20 años.
Análisis
información que se desea mostrar : nombre
tabla : estudiante
condición : year(current_date()) - year(fechanacimiento) between 16 and 20
comando : select
3. Consultar los nombres de los estudiantes que son mayores de 25 años.
Análisis
información que se desea mostrar : nombre
tabla : estudiante
condición : year(current_date()) - year(fechanacimiento) > 25
comando : select
4. Calcular la edad de cada estudiante.
Análisis
información que se desea mostrar : nombre, fehanacimiento, edad
tabla : estudiante
condición : year(current_date()) - year(fechanacimiento)
comando : select
5. Consultar las materias que tienen precio mayor a 300000 y sacar un mensaje que diga si pasa de 300000 cara de lo contrario económica.
Análisis
información que se desea mostrar : *
tabla : materia
condición : if(valor > 300000) 'cara' sino 'economica'
comando : if
6. Agregar el campo edad a la tabla estudiante, insertar las edades respectivas y si el estudiante pasa de 30 años sacar un mensaje que diga hombre mayor, de lo contrario joven en desarrollo.
Análisis para agregar el campo edad
información que se desea mostrar : *
tabla : estudiante
condición : edad = year(current_date()) - year(fechanacimiento)
comando :update
Análisis para ver si es mayor o en desarrollo
información que se desea mostrar : *
tabla : estudiante
condición : if(edad <= 30) 'en desarrollo' sino 'mayor'
comando : if
7. Consultar las materias que tienen precio mayor a 200000 y menor igual a 300000, y sacar un mensaje que diga materia economica si esta entre 200000 y 300000 de lo contrario cara.
Análisis
información que se desea mostrar : descripcion
tabla : materia
condición : 200000 >= valor <= 300000 y si esta en el rango que diga economica sino cara
comando :if
1. cuantas mujeres tiene su nombre terminado en z
Análisis
información que se desea mostrar : cuantas nombres de mujeres terminan en z
tabla : repazo2
condición : sexo = 1, nombre like '%z'
comando : count
2. total de personas nacidas en los años 70's se;
Análisis
información que se desea mostrar :
tabla : repazo2
condición : 1970 >= fechanacimiento <= 1979
comando :count
3. listar las personas con edad entre 25 y 30 años
Análisis
información que se desea mostrar : nombre
tabla : repazo2
condición : year(current_date()) - year(fechanacimiento) between 25 and 30
comando :select
4. cuantos hijos existen en el total de datos
Análisis
información que se desea mostrar : total hijos
tabla : repazo2
condición : sum(nrohijos)
comando : sum
5. agrupar por numero de hijos
Análisis
información que se desea mostrar : nrohijos
tabla : repazo2
condición : sum(nrohijos), group by nrohijos
comando : sum, group by
6. cuantas personas tiene el nombre CARLOS
Análisis
información que se desea mostrar : total personas con el nombre carlos
tabla : repazo2
condición : nombre like '%carlos%'
comando : count
7. total de mujeres menores o = de 22 años
Análisis
información que se desea mostrar : total mujeres menores o igual de 22 años
tabla : repazo2
condición : sexo = 1, yeay(current_date()) - year(fechanacimiento) <= 22
comando : count
8. total de hombre mayores de 30 años que tengan mas de 1 hijo
Análisis
información que se desea mostrar : total hombres mayores 30 años y nrohijos > 1
tabla : repazo2
condición : year(current_date()) - year(fechanacimiento) > 30, nrohijos > 1
comando : count
9. cuantas mujeres mayores de 25 años edad tiene entre 1 y 3 hijos
Análisis
información que se desea mostrar : edad mujeres > 25 y nrohijos entre 1 y 3
tabla : repazo2
condición : year(current_date()) - year(fechanacimiento) > 25, nrohijos between 1 and 3, sexo = 1
comando : count
10. mostrar la fecha del sistema.
Análisis
información que se desea mostrar : hora del sistema
tabla : repazo2
condición : current_date()
comando : select
11. Visualizar la hora actual del sistema
Análisis
información que se desea mostrar : hora del sistema
tabla : repazo2
condición : date_format(now(), '%h:%i:%s %p')
comando : select
select date_format(now(), '%h:%i:%s %p');
Ejercicio de procedimientos almacenados y triggers