drop database if exists `Banco`;
create database `Banco`;
use `Banco`;

create table `Banco` (
    `codigo` INT PRIMARY KEY NOT NULL,
    `dirección` VARCHAR(25) NOT NULL,
    `nombre` VARCHAR(10) NOT NULL,
    INDEX(`codigo`)
);

INSERT INTO `Banco` VALUES
    (1, 'Dirección 1', 'Banco 1'),
    (2, 'Dirección 2', 'Banco 2'),
    (3, 'Dirección 3', 'Banco 3');

create table `Sucursal` (
    `numSucursal` INT NOT NULL,
    `codigoBanco` INT NOT NULL,
    `nomSucursal` VARCHAR(10) NOT NULL,
    FOREIGN KEY (`codigoBanco`) REFERENCES Banco(`codigo`),
    PRIMARY KEY(`codigoBanco`, `numSucursal`),
    INDEX(`numSucursal`)
);

INSERT INTO `Sucursal` VALUES 
    (1, 1, 'Sucursal 1'),
    (2, 2, 'Sucursal 2'),
    (3, 3, 'Sucursal 3');

create table `Cliente` (
    `CI` INT(8) PRIMARY KEY NOT NULL,
    `nombre` VARCHAR(15) NOT NULL,
    `apellido` VARCHAR(15) NOT NULL,
    `direccion` VARCHAR(20) NOT NULL,
    `telefono` INT(9) NOT NULL,
    `celular` INT(9) NOT NULL,
    INDEX(`CI`)
);

INSERT INTO `Cliente` VALUES
    (51199852, 'Ignacio', 'Rodríguez', 'Casita 123', 012345678, 012345678),
    (12345678, 'Agustina', 'Martínez', 'El campo 123', 348575368, 348575368),
    (87654321, 'John', 'Smith', 'Choza vieja 123', 034234443, 034234443),
    (12345687, 'A', 'B', 'C', 123456789, 123456789);

create table `Cuenta` (
    `nroCuenta` INT PRIMARY KEY NOT NULL,
    `moneda` VARCHAR(3) NOT NULL,
    `fechaApertura` DATE NOT NULL,
    `saldo` INT NOT NULL,
    `tipo` VARCHAR(15) NOT NULL,
    `codigoBanco` INT NOT NULL,
    `numSucursal` INT NOT NULL,
    `CI` INT(8) NOT NULL,
    FOREIGN KEY (`numSucursal`) REFERENCES Sucursal(`numSucursal`),
    FOREIGN KEY (`CI`) REFERENCES Cliente(`CI`),
    FOREIGN KEY (`codigoBanco`) REFERENCES Banco(`codigo`)
);

INSERT INTO `Cuenta` VALUES
    (1, 'UYU', '2015-05-01', 19384, 'Corriente', 3, 1, 51199852),
    (2, 'USD', '2013-09-10', 580, 'Ahorro', 2, 2, 12345678),
    (3, 'USD', '1999-04-08', 30000, 'Corriente', 1, 3, 87654321),
    (4, 'UYU', '1999-05-08', 25000, 'Ahorro', 1, 3, 87654321);

create table `Prestamo` (
    `nroPrestamo` VARCHAR(10) PRIMARY KEY NOT NULL,
    `fechaPrestamo` DATE NOT NULL,
    `moneda` VARCHAR(3) NOT NULL,
    `monto` INT NOT NULL,
    `cantCuotas` INT NOT NULL,
    `valorCuota` INT NOT NULL,
    `codigoBanco` INT NOT NULL,
    `numSucursal` INT NOT NULL,
    `CI` INT(8) NOT NULL,
    FOREIGN KEY (`numSucursal`) REFERENCES Sucursal(`numSucursal`),
    FOREIGN KEY (`CI`) REFERENCES Cliente(`CI`),
    FOREIGN KEY (`codigoBanco`) REFERENCES Banco(`codigo`)
);

INSERT INTO `Prestamo` VALUES
    (1, '2015-05-02', 'UYU', 10000, 10, 100, 1, 1, 51199852),
    (2, '2013-09-11', 'USD', 20000, 5, 200, 2, 2, 12345678),
    (3, '1999-04-09', 'USD', 40000, 5, 300, 3, 3, 87654321),
    (4, '1923-04-10', 'UYU', 20394, 10, 400, 3, 3, 12345687);
    