Parcial 1


Parte 2 : Fechas y Cadenas:

1. Crear una base de datos llamada Fechas: create database Fechas;

2. Insertar tablas pagos: Campos Identi, Descripcion, FechaAdquisicion

3. Insertar Datos mostrados en la tabla: codigo utlizado INSERT INTO Equipos (Identi, Descripcion, FechaAdquisicion) VALUES ('0001', 'Chasis', '2012-09-02')

Nota: Utilizamos el codigo select * from Pagos;  para mostrar los datos ingresados.

Realizar

- Que artículos fueron adquiridos antes del 6 mes del 2012.

SELECT Descripcion, DATE_FORMAT(FechaAdquisicion, '%d-%m-%Y') AS Fecha_Adquisicion FROM Pagos WHERE FechaAdquisicion < '2012-06-01';


- Determinar el articulo que tiene fecha mas antigua de adquisición.

SELECT * FROM Pagos WHERE FechaAdquisicion = (SELECT MIN(FechaAdquisicion) FROM Pagos);


- Seleccionar los artículos que terminan en en (o) y (m).

SELECT * FROM Pagos WHERE Descripcion LIKE '%o' OR Descripcion LIKE '%m';

- Listar los productos que tienen al final consonante.

SELECT * FROM Pagos WHERE Descripcion REGEXP '[b-df-hj-np-tv-z]';


- Si las fechas de adquisición es en el primer semestre del año, se darán 5 meses para el pago

SELECT Descripcion, FechaAdquisicion, DATE_ADD(FechaAdquisicion, INTERVAL 5 MONTH) AS FechaLimitePago FROM Pagos WHERE MONTH(FechaAdquisicion) BETWEEN 1 AND 6;


- Si las fechas de adquisición es en el segundo semestre del año, se darán 8 meses de plazo

SELECT Descripcion, FechaAdquisicion, DATE_ADD(FechaAdquisicion, INTERVAL 8 MONTH) AS FechaLimitePago FROM Pagos WHERE MONTH(FechaAdquisicion) BETWEEN 7 AND 12;

Parte 3: 

Creamos Base de datos Llamada Fechas2: Create database Fechas2;

Utilizamos el el comando: use Fechas2; para arrancar la base de datos y comenzar a crear las tablas.

Creamos las tablas: estudiante, materia y estmat

Tablas Reverenciales: estudiante, materia 

Tablas de Movimiento: estmat;

Tabla estudiante
Tabla estudiante
Tabla materia
Tabla materia
estmat
estmat

Llenamos la tabla con los datos dados y consulto cada una de las tablas para comprobar los datos estén bien ingresados.

1. Total de estudiantes nacidos en los años 70.

SELECT COUNT(*) AS total_estudiantes FROM estudiante WHERE fechanacimiento BETWEEN '1970-01-01' AND '1979-12-31';

2. Consultar a los estudiantes que tienen entre 16 y 20 años.

select * from estudiante where year(current_date()) - year(fechanacimiento) between '16' and '20';

3. Consultar los nombres de los estudiantes que son mayores de 25 años.

select * from estudiante where year(current_date)-year(Fechanacimiento)>25;


4. Calcular la edad de cada estudiante.

select nombre, year(current_date()) - year(fechanacimiento) 'edad' from estudiante;

6. 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.

SELECT descripcion, valor,IF(valor > 300000, 'Cara', 'Económica') AS categoria FROM materia;

7. 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.

Agregamos campo de edad:

UPDATE estudiante SET edad = YEAR(CURRENT_DATE()) -YEAR(fechanacimiento);

8.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.

SELECT descripcion, valor,CASE WHEN valor > 300000 THEN 'Cara' WHEN valor > 200000 THEN 'Economica' END AS categoria FROM materia;

CREAMOS TABLA repaso2  Y LE INSERTAMOS SUS DATOS

- cuantas mujeres tiene su nombre terminado en z

select count(*) from repaso2 where sexo='mujer' and nombre like '%z';

- total de personas nacidas en los años 70's se;

select count(*) from repaso2 where year(fechanacimiento) between '1970'and 1979;

- listar las personas con edad entre 25 y 30 años

select * from repaso2 where year(current_date()) - year(fechanacimiento) between '25' and '30';

- cuantos hijos existen en el total de datos

select sum(nrohijos) from repaso2;

- agrupar por numero de hijos

select nrohijos,count(*) from repaso2 group by nrohijos;

- cuantas personas tiene el nombre carlos

SELECT COUNT(*) FROM repaso2 WHERE nombre LIKE 'carlos%';


- total de mujeres menores o = de 22 años

select nombre from repaso2 where sexo='mujer' and year(current_date()) - year(fechanacimiento)<= 25;

- total de hombre mayores de 30 años que tengan mas de 1 hijo

select * from repaso2 where sexo='hombre' and year(current_date()) - year(fechanacimiento)> 30 and nrohijos = 1;

- cuantas mujeres mayores de 25 años edad tiene entre 1 y 3 hijos

select * from repaso2 where sexo='mujer' and year(current_date()) - year(fechanacimiento)> 25 and (nrohijos = 1 or nrohijos =3);

-mostrar la fecha del sistema.

select current_date();

- Visualizar la hora actual del sistema

select date_format(now(),'%h:%i:%s %p');

Inventar un ejercicio en el que utilice las 3 formas normales, procedimientos almacenados y Triggers.

Sistema de Ciudades y Departamentos:

Una empresa gubernamental quiere gestionar un sistema de ciudades, habitantes y departamento. La base de datos debe estar normalizada y contener procedimientos y triggers.

Creamos la base de datos: CiudadesBD

Creamos las tablas: departamento, ciudad, habitante

Llenar las tabla Departamento:

Procedimiento Almacenado para Insertar una Ciudad

Insertamos una ciudad: CALL InsertarCiudad('Medellín', 1, 2500000);

Trigger para Asegurar que una Ciudad no Tenga Más de 10 Millones de Habitantes

Miramos los prendimientos  y los tigger que tenemos:

Josue Casalins Hernadez
Creado con Webnode
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar