0% encontró este documento útil (0 votos)
30 vistas7 páginas

SQLTAREA

Ejercicios base de datos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
30 vistas7 páginas

SQLTAREA

Ejercicios base de datos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

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

También podría gustarte