EJERCICIO EN MySQL: BASES DE DATOS:, TABLAS Y CONSULTAS CBTis No.
168
Técnico en Programación
MÓDULO II. Desarrolla software de aplicación utilizando programación orientada a objetos, con almacenamiento persistente
de los datos
Submódulo 1. Desarrolla software de aplicación utilizando programación orientada a objetos.
Submódulo 2. Diseña y administra bases de datos avanzadas.
PRIMERA PARTE
INSTRUCCIONES: En el siguiente ejercicio se describen cada uno de los comandos para llevar a cabo cada una de las
actividades para crear una base de datos, sus tablas y las consultas solicitadas. Ejecuta cada uno de ellos a través del sistema
de gestión de base de datos relacional de MySQL.
NOTA: Para este caso en particular, utilizaremos el entorno de desarrollo de XAMPP y phpMyAdmin.
ACTIVIDADES A REALIZAR
1. Crea una base de datos llamada BANCOS. Agregar la BD creada desde su SGBD
CREATE DATABASE BANCOS;
Sustituir
por la propia
OBSERVACIONES: Para el entorno de phpMyAdmin, cada instrucción a realizar, se utiliza en la pestaña
SQL (1) y luego pulsar el botón Continuar (2).
2. Activa/Habilita la Base de datos BANCOS. Evidencia de la BD que va a usar
USE BANCOS;
Sustituir
por la propia
M.C. Manuel López Chávez
1
EJERCICIO EN MySQL: BASES DE DATOS:, TABLAS Y CONSULTAS CBTis No.168
3. Muestra las Bases de datos almacenadas.
SHOW DATABASES;
4. Genera las siguientes tablas:
CLIENTE
CREATE TABLE `cliente` (
`Ciudad_cliente` varchar(50) NOT NULL,
`Nombre_cliente` varchar(50) NOT NULL,
`Calle` varchar(50) NOT NULL) ;
DEPOSITO
CREATE TABLE `deposito` (
`Nombre_sucursal` varchar(50) NOT NULL,
`Numero_cuenta` int(10) NOT NULL,
`Nombre_cliente` varchar(50) NOT NULL,
`Saldo` int(10) NOT NULL) ;
PRESTAMO
CREATE TABLE `prestamo` (
`Nombre_sucursal` varchar(50) NOT NULL,
`Numero_prestamo` int(10) NOT NULL,
`Nombre_cliente` varchar(50) NOT NULL,
`Cantidad` int(10) NOT NULL) ;
SERVICIO
CREATE TABLE `servicio` (
`Nombre_cliente` varchar(50) NOT NULL,
`Nombre_banquero` varchar(50) NOT NULL) ;
SUCURSAL
CREATE TABLE `sucursal` (
`Nombre_sucursal` varchar(50) NOT NULL,
`Activo` int(10) NOT NULL,
`Ciudad_sucursal` varchar(50) NOT NULL) ;
M.C. Manuel López Chávez
2
EJERCICIO EN MySQL: BASES DE DATOS:, TABLAS Y CONSULTAS CBTis No.168
5. Muestra las tablas de la Base de datos BANCOS
SHOW TABLES;
6. Muestra los atributos de la tabla CLIENTE; Agregar la estructura de cada una de las tablas creadas.
DESCRIBE CLIENTE;
7. Introduce los siguientes datos en cada tabla:
CLIENTE INSERT INTO `cliente` (`Ciudad_cliente`,
`Nombre_cliente`, `Calle`) VALUES
('Harrison', 'Johnson', 'Main'),
('Rye', 'Smith', 'North'),
('Harrison', 'Hayes', 'Main'),
('Rye', 'Curry', 'North'),
('Pittsfield', 'Lindsay', 'Park'),
('Stamford', 'Turner', 'Putnam'),
('Princeton', 'Williams', 'Nassau'),
('Pittsfield', 'Adams', 'Spring'),
('Palo Alto', 'Johnson', 'Alma'),
('Woodside', 'Glenn', 'Sand Hill'),
('Brooklyn', 'Brooks', 'Senaor');
DEPOSITO PRESTAMO
SERVICIO SUCURSAL
NOTA: Para insertar los datos en cada tabla, basarse en el ejemplo dado para la tabla CLIENTE, considerando los
cambios que corresponden a cada tabla.
M.C. Manuel López Chávez
3
EJERCICIO EN MySQL: BASES DE DATOS:, TABLAS Y CONSULTAS CBTis No.168
8. Genera las siguientes consultas básicas: (Escribe la sintaxis para cada consulta y la captura del resultado)
a) Obtener todos los datos de la tabla CIENTE
SELECT * FROM CLIENTE;
b) Obtener los nombres de los clientes
SELECT Nombre_cliente FROM CLIENTE;
c) Obtener los nombres de la sucursal y el saldo de cada cliente
SELECT Nombre_sucursal, Saldo FROM DEPOSITO;
d) Obtener los nombres de las ciudades donde está cada sucursal sin repetir las ciudades duplicadas.
SELECT DISTINCT Ciudad_sucursal FROM SUCURSAL;
e) Obtener todos los datos en donde el saldo de los clientes sea mayor que 500.
SELECT * FROM DEPOSITO WHERE Saldo > 500;
f) Obtener todos los nombres de clientes y saldo en donde el saldo este entre 500 y 750.
SELECT Nombre_cliente,Saldo FROM DEPOSITO WHERE Saldo>=500 AND Saldo<=750;
IMPORTANTE: A partir del punto 8, en cada ejercicio que se describe del inciso a) al f), como
evidencia, se debe de agregar la imagen que arroja después de ejecutar la sentencia SQL.
Recuerda que debes de elaborar un documento electrónico en un procesador de textos o
presentación, que contenga la portada con todos los datos solicitados. Guarda el documento
considerando la siguiente nomenclatura:
Ejemplo: GN_NL00_LLL_P03_P1
Donde: sólo cambiarás el 00 por tu número de lista (de 01 a 50) y en LLL las primeras letras de tu
Apellido1, Apellido2 y Nombre(s). Ejemplo López Chávez Manuel tendrá las siguientes letras LCM.
M.C. Manuel López Chávez
4
EJERCICIO EN MySQL: BASES DE DATOS:, TABLAS Y CONSULTAS CBTis No.168
Técnico en Programación
MÓDULO II. Desarrolla software de aplicación utilizando programación orientada a objetos, con almacenamiento persistente
de los datos
Submódulo 1. Desarrolla software de aplicación utilizando programación orientada a objetos.
Submódulo 2. Diseña y administra bases de datos avanzadas.
SEGUNDA PARTE, se continúa con el orden de la numeración de la primera parte.
INSTRUCCIONES: Dando continuidad a los ejercicios en MySQL bajo el entorno de desarrollo de XAMPP y phpMyAdmin,
realiza cada una de las sentencias SQL que permitan dar solución a cada problema descrito.
NOTA: Considera llevar al corriente el Portafolio Digital de Evidencias para este periodo de evaluaciones; para lo cual debes
de registrar en cada ejercicio las actividades a realizar, la sentencia SQL y mostrar los resultados generados en el entorno de
desarrollo de XAMPP y phpMyAdmin.
ACTIVIDADES A REALIZAR
La base de datos a utilizar es la de BANCOS con las tablas de CLIENTE, DEPOSITO, PRESTAMO, SERVICIO y SUCURSAL.
9. Mostrar de la tabla CLIENTES los nombres de los clientes en forma ordenada ascendente (de la A a la Z).
SELECT NOMBRE_CLIENTE FROM CLIENTE ORDER BY NOMBRE_CLIENTE;
SELECT NOMBRE_CLIENTE FROM CLIENTE ORDER BY NOMBRE_CLIENTE ASC;
10- Mostrar de la tabla CLIENTES los nombres de los clientes en forma ordenada descendente (de la Z a la A).
11. Mostrar el nombre de la sucursal, nombre del cliente y ciudad del cliente de aquellos clientes que tengan activo un
préstamo.
12. Mostrar el nombre del cliente y saldo de aquellos clientes que tengan activo un servicio.
M.C. Manuel López Chávez
5
EJERCICIO EN MySQL: BASES DE DATOS:, TABLAS Y CONSULTAS CBTis No.168
13. Mostrar todos aquellos clientes, su saldo y la cantidad del préstamo que tengan activo un servicio.
14. Obtener el nombre del cliente que tenga el saldo menor.
15. Obtener el nombre del cliente que tenga el préstamo más alto.
16. Obtener el nombre de la sucursal, el nombre del cliente y la cantidad del préstamo de aquellos clientes en donde su
nombre inicie con una “J”.
IMPORTANTE: En cada ejercicio que se describe, como evidencia, se debe poner la SENTENCIA
SQL y agregar la imagen que arroja después de ejecutar la sentencia SQL. Ver el ejemplo del
ejercicio 9.
Guarda tu documento de prácticas. Recuerda que debe ser en el mismo archivo con el que iniciaste
en la PRIMERA PARTE.
M.C. Manuel López Chávez
6
EJERCICIO EN MySQL: BASES DE DATOS:, TABLAS Y CONSULTAS CBTis No.168
Técnico en Programación
MÓDULO II. Desarrolla software de aplicación utilizando programación orientada a objetos, con almacenamiento persistente
de los datos
Submódulo 1. Desarrolla software de aplicación utilizando programación orientada a objetos.
Submódulo 2. Diseña y administra bases de datos avanzadas.
TERCERA PARTE, se continúa con el orden de la numeración de la segunda parte
INSTRUCCIONES: Dando continuidad a los ejercicios en MySQL bajo el entorno de desarrollo de XAMPP y phpMyAdmin,
realiza cada una de las sentencias SQL que permitan dar solución a cada problema descrito.
NOTA: Considera llevar al corriente el Portafolio de Evidencias para este periodo de evaluaciones; para lo cual debes de
registrar en cada ejercicio las actividades a realizar, la sentencia SQL y mostrar los resultados generados en el entorno de
desarrollo de XAMPP y phpMyAdmin.
ACTIVIDADES A REALIZAR
La base de datos a utilizar es la de BANCOS con las tablas de CLIENTE, DEPOSITO, PRESTAMO, SERVICIO y SUCURSAL.
17. El cliente Turner realizó un depósito por la cantidad de 250 pesos; es por ello que se debe actualizar su saldo en la tabla
DEPOSITO.
UPDATE DEPOSITO SET SALDO = SALDO + 250 WHERE NOMBRE_CLIENTE = "Turner";
Valor original de Saldo = 350
El nuevo valor de Saldo es de 600 (350 + 250)
18. Aplicar un descuento del 10% a todos los clientes que tengan un préstamo (Cantidad) mayor a 1000.
Análisis: Se detecta a los clientes que son merecedores al descuento
Ejemplos:
Cantidad = Cantidad – 10%
Para el cliente Smith:
Cantidad = 2000 – (2000 * 0.10) = 1800
Para el cliente Brooks:
Cantidad = 2200 – (2200 * 0.10) = 1980
M.C. Manuel López Chávez
7
EJERCICIO EN MySQL: BASES DE DATOS:, TABLAS Y CONSULTAS CBTis No.168
UPDATE PRESTAMO SET CANTIDAD = CANTIDAD - (CANTIDAD * 0.10) WHERE CANTIDAD > 1000;
Ésta es la tabla con las
nuevas cantidades de
préstamo a las que se
les aplicó el 10% de
descuento a los
clientes que tenían
más de 1000 de
préstamo
19. Debido al buen historial crediticio del cliente Curry, al cual se le aplicará un 90% de descuento del préstamo actual
(Cantidad). Actualizar el descuento correspondiente en la tabla PRESTAMO.
UPDATE PRESTAMO SET CANTIDAD = CANTIDAD - (CANTIDAD * 0.90) WHERE NOMBRE_CLIENTE = "Curry";
20. Eliminar de la tabla PRESTAMO el cliente que tenga la menor cantidad de los préstamos registrados.
NOTA: Si revisamos la tabla de PRESTAMO del ejercicio anterior, vemos que Curry es el que tiene menor cantidad de
los préstamos registrados; por lo cual, es el registro a borrar. Como sabemos que el registro a borrar es el
número 5 o del cliente “Curry” que tiene la cantidad de 50, podemos hacerlo de la siguiente manera:
DELETE FROM PRESTAMO WHERE CANTIDAD = 50;
En la siguiente sentencia SQL, que es la adecuada, eliminamos el cliente que tiene la menor cantidad en elpréstamo
registrado, mediante un SELECT anidado y el atributo MIN.
DELETE FROM PRESTAMO WHERE CANTIDAD = ( SELECT MIN(CANTIDAD)
FROM (SELECT * FROM PRESTAMO) AS PRESTAMOTMP );
M.C. Manuel López Chávez
8
EJERCICIO EN MySQL: BASES DE DATOS:, TABLAS Y CONSULTAS CBTis No.168
21. Realizar un respaldo de la base de datos de BANCOS, que considere la estructura de las tablas y todos los registros
actuales, dejando el archivo con el nombre de: RESPALDO BANCOS + la fecha en que se realizó es respaldo. Por
ejemplo, si el respaldo fue el 31 de agosto del 2016, el nombre del archivo será RESPALDO BANCOS 31-AGO-2014.
22. Eliminar la tabla SERVICIO de la base de datos BANCOS.
23. Eliminar la base de datos BANCOS
24. Del respaldo de la base de datos de BANCOS, restaurar la base de datos con su nombre original de BANCOS.
25. Crear una copia de la base de datos de BANCOS a otra base de datos llamada BANCOS2.
IMPORTANTE: En cada ejercicio que se describe, como evidencia, se debe poner la SENTENCIA
SQL y agregar la imagen que arroja después de ejecutar la sentencia SQL. Ver el ejemplo del
ejercicio 9 de la SEGUNDA PARTE.
Guarda tu documento de prácticas. Recuerda que debe ser en el mismo archivo con el que iniciaste
en la PRIMERA PARTE.
RECUERDA SUBIR TU ARCHIVO DE PRÁCTICAS EN TU PORTAFOLIO DIGITAL DE
EVIDENCIAS, JUNTO CON EL ARCHIVO DE LA BASE DE DATOS UTILIZADA.
M.C. Manuel López Chávez
9