CREATE DATABASE tarea_06;
USE tarea_06;
-- Crear tabla Cliente
CREATE TABLE Cliente (
Id INT PRIMARY KEY,
Nombre VARCHAR(50),
Apellido VARCHAR(50),
Telefono INT,
Correo VARCHAR(100)
);
-- Crear tabla Cuentas Bancarias
CREATE TABLE Cuentas_Bancarias (
id_Cuenta_bancaria INT PRIMARY KEY,
Moneda VARCHAR(10),
Codigo_Cliente INT,
FOREIGN KEY (Codigo_Cliente) REFERENCES Cliente(Id)
);
-- Crear tabla Tipo Transaccion
CREATE TABLE Tipo_Transaccion (
Tipo INT PRIMARY KEY,
Descripcion VARCHAR(100)
);
-- Crear tabla Transacciones
CREATE TABLE Transacciones (
Id INT PRIMARY KEY,
Cuenta_Bancaria INT,
Tipo_de_Transaccion INT,
Monto_de_transaccion DECIMAL(10, 2),
FOREIGN KEY (Cuenta_Bancaria) REFERENCES Cuentas_Bancarias(id_Cuenta_bancaria),
FOREIGN KEY (Tipo_de_Transaccion) REFERENCES Tipo_Transaccion(Tipo)
);
INSERT INTO Cliente (Id, Nombre, Apellido, Telefono, Correo)
VALUES
(101, 'Juan', 'Martínez', 85894523, '[Link]@[Link]'),
(102, 'María', 'López', 45214856, '[Link]@[Link]'),
(103, 'Carlos', 'García', 45877898, '[Link]@[Link]'),
(104, 'Ana', 'Fernández', 12451585, '[Link]@[Link]'),
(105, 'David', 'Pérez', 78854565, '[Link]@[Link]'),
(106, 'Lucía', 'Gómez', 12478598, '[Link]@[Link]'),
(107, 'Miguel', 'Ruiz', 12455896, '[Link]@[Link]'),
(108, 'Sofía', 'Moreno', 48754525, '[Link]@[Link]'),
(109, 'Daniel', 'Díaz', 47854589, '[Link]@[Link]'),
(110, 'Marta', 'Romero', 47951245, '[Link]@[Link]');
SELECT * FROM Cliente;
INSERT INTO Cuentas_Bancarias (id_Cuenta_bancaria, Moneda, Codigo_Cliente)
VALUES
(201, 'USD', 101),
(202, 'EUR', 102),
(203, 'USD', 103),
(204, 'USD', 104),
(205, 'USD', 105),
(206, 'GTQ ', 106),
(207, 'GTQ ', 107),
(208, 'EUR', 105),
(209, 'EUR ', 106),
(210, 'USD ', 107),
(211, 'GTQ', 108),
(212, 'EUR', 109),
(213, 'EUR', 110);
SELECT * FROM Cuentas_Bancarias;
INSERT INTO Tipo_Transaccion (Tipo, Descripcion)
VALUES
(301, 'Depósito'),
(302, 'Retiro'),
(303, 'Transferencia Interna'),
(304, 'Pago Servicios'),
(305, 'Compra Moneda Extranjera'),
(306, 'Venta Moneda Extranjera'),
(307, 'Pago de Préstamo'),
(308, 'Recarga de Móvil'),
(309, 'Compra Online'),
(310, 'Inversión en Fondos');
SELECT * FROM Tipo_Transaccion;
INSERT INTO Transacciones (Id, Cuenta_Bancaria, Tipo_de_transaccion,
Monto_de_transaccion)
VALUES
(401, 201, 301, 1000.00),
(402, 202, 302, 1500.00),
(403, 203, 303, 200.00),
(404, 204, 304, 250.00),
(405, 205, 305, 300.00),
(406, 206, 306, 350.00),
(407, 207, 307, 400.00),
(408, 208, 308, 450.00),
(409, 209, 309, 500.00),
(410, 204, 304, 250.00),
(411, 205, 305, 300.00),
(412, 206, 306, 350.00),
(413, 207, 307, 400.00),
(414, 208, 308, 450.00),
(415, 209, 309, 500.00),
(416, 210, 310, 550.00);
SELECT * FROM Transacciones;
INCISO 5
SELECT COUNT(Id) AS 'Numero total clientes' FROM Cliente;
INCISO 6
SELECT DISTINCT Moneda FROM Cuentas_Bancarias;
INCISO SOLO POEQUE SI
SELECT DISTINCT Tipo_de_Transaccion FROM Transacciones;
INCISO 7
SELECT Tipo_de_transaccion, COUNT(*) AS total_transacciones
FROM transacciones
WHERE Tipo_de_transaccion IN (301, 302)
GROUP BY Tipo_de_transaccion;
INSCISO 8
SELECT *
FROM Cliente
WHERE Telefono = '85894523';
SELECT *
FROM Cliente
WHERE correo ='[Link]@[Link]';
ISNCISO 9
SELECT c.*
FROM Cliente c
JOIN Cuentas_Bancarias cb_eur ON [Link] = cb_eur.Codigo_Cliente AND cb_eur.Moneda =
'EUR'
JOIN Cuentas_Bancarias cb_usd ON [Link] = cb_usd.Codigo_Cliente AND cb_usd.Moneda =
'USD';
INCISO 10
SELECT cb.id_Cuenta_bancaria, COUNT([Link]) AS total_transacciones
FROM cuentas_bancarias cb
JOIN transacciones t ON cb.id_Cuenta_bancaria = t.cuenta_bancaria
GROUP BY cb.id_Cuenta_bancaria
HAVING COUNT([Link]) > 1;
Capturas de Pantalla