Pero ya esta casi casi, estoy haciendo la eliminacion de cosas de las tarjetas de credito, luego empiezo a utilizar la linea de sobregiro y esta done done <3
173 lines
6.8 KiB
SQL
173 lines
6.8 KiB
SQL
DROP DATABASE bank;
|
|
CREATE DATABASE bank;
|
|
USE bank;
|
|
|
|
CREATE TABLE linea_sobregiro (
|
|
id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
sobregiro int(10) NOT NULL,
|
|
limite int(10) NOT NULL,
|
|
inserted_at timestamp DEFAULT current_timestamp()
|
|
);
|
|
|
|
CREATE TABLE tarjeta_credito (
|
|
id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
limite_nacional int(10) NOT NULL,
|
|
limite_internacional int(10) NOT NULL,
|
|
deuda_nacional int(10) DEFAULT 0,
|
|
deuda_internacional int(10) DEFAULT 0,
|
|
linea_sobregiro int(10) UNIQUE,
|
|
inserted_at timestamp DEFAULT current_timestamp(),
|
|
foreign key (linea_sobregiro) references linea_sobregiro (id) ON DELETE CASCADE
|
|
);
|
|
|
|
CREATE TABLE cuenta_corriente (
|
|
id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
saldo int(10) DEFAULT 0,
|
|
linea_sobregiro int(10) UNIQUE,
|
|
inserted_at timestamp DEFAULT current_timestamp(),
|
|
foreign key (linea_sobregiro) references linea_sobregiro (id) ON DELETE CASCADE
|
|
);
|
|
|
|
CREATE TABLE tarjeta_debito (
|
|
id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
saldo int(10) DEFAULT 0,
|
|
inserted_at timestamp DEFAULT current_timestamp()
|
|
);
|
|
|
|
CREATE TABLE usuario (
|
|
id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
nombre varchar(255) NOT NULL,
|
|
password binary(32) NOT NULL,
|
|
salt binary(16) NOT NULL,
|
|
rol varchar(255) DEFAULT 'Cliente',
|
|
inserted_at timestamp DEFAULT current_timestamp()
|
|
);
|
|
|
|
CREATE TABLE cliente (
|
|
id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
rut varchar(255) NOT NULL,
|
|
nombre varchar(255) NOT NULL,
|
|
ciudad varchar(255) NOT NULL,
|
|
cuenta_corriente int(10) UNIQUE,
|
|
tarjeta_credito int(10) UNIQUE,
|
|
tarjeta_debito int(10) UNIQUE,
|
|
usuario int(10) NOT NULL UNIQUE,
|
|
inserted_at timestamp DEFAULT current_timestamp(),
|
|
foreign key (cuenta_corriente) references cuenta_corriente (id) ON DELETE CASCADE,
|
|
foreign key (tarjeta_credito) references tarjeta_credito (id) ON DELETE CASCADE,
|
|
foreign key (tarjeta_debito) references tarjeta_debito (id) ON DELETE CASCADE,
|
|
foreign key (usuario) references usuario (id) ON DELETE CASCADE
|
|
);
|
|
|
|
CREATE TABLE metodo (
|
|
id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
nombre varchar(255) NOT NULL,
|
|
inserted_at timestamp DEFAULT current_timestamp()
|
|
);
|
|
|
|
|
|
CREATE TABLE compra_tarjeta_credito (
|
|
id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
monto int(10) NOT NULL,
|
|
comentario varchar(255),
|
|
tipo varchar(255),
|
|
tarjeta_credito int(10),
|
|
inserted_at timestamp DEFAULT current_timestamp(),
|
|
foreign key (tarjeta_credito) references tarjeta_credito (id) ON DELETE SET NULL
|
|
);
|
|
|
|
CREATE TABLE pago_tarjeta_credito (
|
|
id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
monto int(10) NOT NULL,
|
|
comentario varchar(255),
|
|
tipo varchar(255),
|
|
tarjeta_credito int(10),
|
|
inserted_at timestamp DEFAULT current_timestamp(),
|
|
foreign key (tarjeta_credito) references tarjeta_credito (id) ON DELETE SET NULL
|
|
);
|
|
|
|
CREATE TABLE giro_cuenta_corriente (
|
|
id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
monto int(10) NOT NULL,
|
|
comentario varchar(255),
|
|
cuenta_corriente int(10),
|
|
metodo int(10) NOT NULL,
|
|
inserted_at timestamp DEFAULT current_timestamp(),
|
|
foreign key (metodo) references metodo (id),
|
|
foreign key (cuenta_corriente) references cuenta_corriente (id) ON DELETE SET NULL
|
|
);
|
|
|
|
CREATE TABLE deposito_cuenta_corriente (
|
|
id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
monto int(10) NOT NULL,
|
|
comentario varchar(255),
|
|
metodo int(10) NOT NULL,
|
|
cuenta_corriente int(10),
|
|
inserted_at timestamp DEFAULT current_timestamp(),
|
|
foreign key (metodo) references metodo (id),
|
|
foreign key (cuenta_corriente) references cuenta_corriente (id) ON DELETE SET NULL
|
|
);
|
|
|
|
CREATE TABLE transferencia_cuenta_corriente (
|
|
id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
monto int(10) NOT NULL,
|
|
comentario varchar(255),
|
|
cuenta_corriente_to int(10),
|
|
cuenta_corriente_from int(10),
|
|
inserted_at timestamp DEFAULT current_timestamp(),
|
|
foreign key (cuenta_corriente_to) references cuenta_corriente (id) ON DELETE SET NULL,
|
|
foreign key (cuenta_corriente_from) references cuenta_corriente (id) ON DELETE SET NULL
|
|
);
|
|
|
|
CREATE TABLE deposito_tarjeta_debito (
|
|
id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
monto int(10) NOT NULL,
|
|
comentario varchar(255),
|
|
metodo int(10) NOT NULL,
|
|
tarjeta_debito int(10),
|
|
inserted_at timestamp DEFAULT current_timestamp(),
|
|
foreign key (metodo) references metodo (id),
|
|
foreign key (tarjeta_debito) references tarjeta_debito (id) ON DELETE SET NULL
|
|
);
|
|
|
|
CREATE TABLE giro_tarjeta_debito (
|
|
id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
monto int(10) NOT NULL,
|
|
comentario varchar(255),
|
|
metodo int(10) NOT NULL,
|
|
tarjeta_debito int(10),
|
|
inserted_at timestamp DEFAULT current_timestamp(),
|
|
foreign key (metodo) references metodo (id),
|
|
foreign key (tarjeta_debito) references tarjeta_debito (id) ON DELETE SET NULL
|
|
);
|
|
|
|
CREATE TABLE transferencia_tarjeta_debito (
|
|
id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
monto int(10) NOT NULL,
|
|
comentario varchar(255),
|
|
tarjeta_debito_to int(10),
|
|
tarjeta_debito_from int(10),
|
|
inserted_at timestamp DEFAULT current_timestamp(),
|
|
foreign key (tarjeta_debito_to) references tarjeta_debito (id) ON DELETE SET NULL,
|
|
foreign key (tarjeta_debito_from) references tarjeta_debito (id) ON DELETE SET NULL
|
|
);
|
|
|
|
CREATE TABLE compra_tarjeta_debito (
|
|
id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
monto int(10) NOT NULL,
|
|
comentario varchar(255),
|
|
tarjeta_debito int(10),
|
|
inserted_at timestamp DEFAULT current_timestamp(),
|
|
foreign key (tarjeta_debito) references tarjeta_debito (id) ON DELETE SET NULL
|
|
);
|
|
|
|
INSERT INTO usuario(id, nombre, password, salt, rol, inserted_at) VALUES
|
|
(1, 'ryuuji', 0xEC65288218545FB29831D2025CEE99704C900B4B8E0B7DB35A610E2D1673BF35, 0x6260AD9369D01E48EC34F0315FAD3565, 'Admin', current_timestamp());
|
|
|
|
INSERT INTO metodo (id, nombre) VALUES
|
|
(1, 'Cheque'),
|
|
(2, 'Vale Vista'),
|
|
(3, 'Efectivo'),
|
|
(4, 'Caja');
|
|
|