This commit is contained in:
Daniel Cortés
2019-07-17 16:14:55 -04:00
commit c21919db55
134 changed files with 25294 additions and 0 deletions

148
bank.sql Normal file
View File

@@ -0,0 +1,148 @@
DROP DATABASE bank;
CREATE DATABASE bank;
USE bank;
CREATE TABLE usuario (
id int(10) NOT NULL AUTO_INCREMENT,
nombre varchar(255) NOT NULL,
password binary(32) NOT NULL,
salt binary(16) NOT NULL,
role varchar(255) DEFAULT 'Cliente' NOT NULL,
inserted_at timestamp DEFAULT current_timestamp() NOT NULL,
PRIMARY KEY (id)) CHARACTER SET UTF8;
CREATE TABLE cliente (
id int(10) NOT NULL AUTO_INCREMENT,
rut varchar(255) NOT NULL,
nombre varchar(255) NOT NULL,
ciudad varchar(255) NOT NULL,
inserted_at timestamp DEFAULT current_timestamp() NOT NULL,
linea_sobregiro int(10) UNIQUE,
usuario int(10) NOT NULL UNIQUE,
PRIMARY KEY (id)) CHARACTER SET UTF8;
CREATE TABLE linea_sobregiro (
id int(10) NOT NULL AUTO_INCREMENT,
sobregiro int(10) NOT NULL,
limite int(10) NOT NULL,
inserted_at timestamp DEFAULT current_timestamp() NOT NULL,
PRIMARY KEY (id)) CHARACTER SET UTF8;
CREATE TABLE tarjeta_credito (
id int(10) NOT NULL AUTO_INCREMENT,
limite_nacional int(10) NOT NULL,
limite_internacional int(10) NOT NULL,
deuda_nacional int(10) DEFAULT 0 NOT NULL,
deuda_internacional int(10) DEFAULT 0 NOT NULL,
inserted_at timestamp DEFAULT current_timestamp() NOT NULL,
cliente int(10) NOT NULL,
PRIMARY KEY (id)) CHARACTER SET UTF8;
CREATE TABLE tarjeta_debito (
id int(10) NOT NULL AUTO_INCREMENT,
saldo int(10) DEFAULT 0 NOT NULL,
inserted_at timestamp DEFAULT current_timestamp() NOT NULL,
cliente int(10) NOT NULL,
PRIMARY KEY (id)) CHARACTER SET UTF8;
CREATE TABLE cuenta_corriente (
id int(10) NOT NULL AUTO_INCREMENT,
saldo int(10) DEFAULT 0 NOT NULL,
inserted_at timestamp DEFAULT current_timestamp() NOT NULL,
cliente int(10) NOT NULL,
PRIMARY KEY (id)) CHARACTER SET UTF8;
CREATE TABLE compra_tarjeta_credito (
id int(10) NOT NULL AUTO_INCREMENT,
monto int(10) NOT NULL,
comentario varchar(255),
inserted_at timestamp DEFAULT current_timestamp() NOT NULL,
tarjeta_credito int(10),
PRIMARY KEY (id)) CHARACTER SET UTF8;
CREATE TABLE giro_cuenta_corriente (
id int(10) NOT NULL AUTO_INCREMENT,
monto int(10) NOT NULL,
comentario varchar(255),
metodo int(10),
cuenta_corriente int(10),
inserted_at timestamp DEFAULT current_timestamp() NOT NULL,
PRIMARY KEY (id)) CHARACTER SET UTF8;
CREATE TABLE deposito_cuenta_corriente (
id int(10) NOT NULL AUTO_INCREMENT,
monto int(10) NOT NULL,
comentario varchar(255),
metodo int(10),
cuenta_corriente int(10),
inserted_at timestamp DEFAULT current_timestamp() NOT NULL,
PRIMARY KEY (id)) CHARACTER SET UTF8;
CREATE TABLE transferencia_cuenta_corriente (
id int(10) NOT NULL AUTO_INCREMENT,
monto int(10) NOT NULL,
comentario varchar(255),
cuenta_corriente_to int(10),
cuenta_corriente_from int(10),
inserted_at timestamp DEFAULT current_timestamp() NOT NULL,
PRIMARY KEY (id)) CHARACTER SET UTF8;
CREATE TABLE metodo (
id int(10) NOT NULL AUTO_INCREMENT,
nombre varchar(255) NOT NULL,
inserted_at timestamp DEFAULT current_timestamp() NOT NULL,
PRIMARY KEY (id)) CHARACTER SET UTF8;
CREATE TABLE transferencia_tarjeta_debito (
id int(10) NOT NULL AUTO_INCREMENT,
monto int(10) NOT NULL,
comentario varchar(255),
tarjeta_debito_to int(10),
tarjeta_debito_from int(10),
inserted_at timestamp DEFAULT current_timestamp() NOT NULL,
PRIMARY KEY (id)) CHARACTER SET UTF8;
CREATE TABLE deposito_tarjeta_debito (
id int(10) NOT NULL AUTO_INCREMENT,
monto int(10) NOT NULL,
comentario varchar(255),
metodo int(10),
tarjeta_debito int(10),
inserted_at timestamp DEFAULT current_timestamp() NOT NULL,
PRIMARY KEY (id)) CHARACTER SET UTF8;
CREATE TABLE giro_tarjeta_debito (
id int(10) NOT NULL AUTO_INCREMENT,
monto int(10) NOT NULL,
comentario varchar(255),
metodo int(10),
tarjeta_debito int(10),
inserted_at timestamp DEFAULT current_timestamp() NOT NULL,
PRIMARY KEY (id)) CHARACTER SET UTF8;
CREATE TABLE pago_tarjeta_credito (
id int(10) NOT NULL AUTO_INCREMENT,
monto int(10) NOT NULL,
comentario varchar(255),
inserted_at timestamp DEFAULT current_timestamp() NOT NULL,
tarjeta_credito int(10),
PRIMARY KEY (id)) CHARACTER SET UTF8;
CREATE TABLE compra_tarjeta_debito (
id int(10) NOT NULL AUTO_INCREMENT,
monto int(10) NOT NULL,
comentario varchar(255),
tarjeta_debito int(10) NOT NULL,
inserted_at timestamp DEFAULT current_timestamp() NOT NULL,
PRIMARY KEY (id)) CHARACTER SET UTF8;
ALTER TABLE cliente ADD CONSTRAINT FKcliente571606 FOREIGN KEY (linea_sobregiro) REFERENCES linea_sobregiro (id) ON DELETE Cascade;
ALTER TABLE tarjeta_credito ADD CONSTRAINT FKtarjeta_cr81196 FOREIGN KEY (cliente) REFERENCES cliente (id) ON DELETE Cascade;
ALTER TABLE cuenta_corriente ADD CONSTRAINT FKcuenta_cor278524 FOREIGN KEY (cliente) REFERENCES cliente (id) ON DELETE Cascade;
ALTER TABLE tarjeta_debito ADD CONSTRAINT FKtarjeta_de160614 FOREIGN KEY (cliente) REFERENCES cliente (id) ON DELETE Cascade;
ALTER TABLE cliente ADD CONSTRAINT FKcliente901955 FOREIGN KEY (usuario) REFERENCES usuario (id) ON DELETE Cascade;
ALTER TABLE deposito_cuenta_corriente ADD CONSTRAINT FKdeposito_c403217 FOREIGN KEY (metodo) REFERENCES metodo (id);
ALTER TABLE giro_cuenta_corriente ADD CONSTRAINT FKgiro_cuent832803 FOREIGN KEY (metodo) REFERENCES metodo (id);
ALTER TABLE deposito_tarjeta_debito ADD CONSTRAINT FKdeposito_t164090 FOREIGN KEY (metodo) REFERENCES metodo (id);
ALTER TABLE giro_tarjeta_debito ADD CONSTRAINT FKgiro_tarje519906 FOREIGN KEY (metodo) REFERENCES metodo (id);
ALTER TABLE compra_tarjeta_credito ADD CONSTRAINT FKcompra_tar218956 FOREIGN KEY (tarjeta_credito) REFERENCES tarjeta_credito (id) ON DELETE Set null;
ALTER TABLE pago_tarjeta_credito ADD CONSTRAINT FKpago_tarje245778 FOREIGN KEY (tarjeta_credito) REFERENCES tarjeta_credito (id) ON DELETE Set null;
ALTER TABLE transferencia_cuenta_corriente ADD CONSTRAINT FKtransferen788163 FOREIGN KEY (cuenta_corriente_to) REFERENCES cuenta_corriente (id) ON DELETE Set null;
ALTER TABLE deposito_cuenta_corriente ADD CONSTRAINT FKdeposito_c722018 FOREIGN KEY (cuenta_corriente) REFERENCES cuenta_corriente (id) ON DELETE Set null;
ALTER TABLE giro_cuenta_corriente ADD CONSTRAINT FKgiro_cuent986448 FOREIGN KEY (cuenta_corriente) REFERENCES cuenta_corriente (id) ON DELETE Set null;
ALTER TABLE transferencia_tarjeta_debito ADD CONSTRAINT FKtransferen939970 FOREIGN KEY (tarjeta_debito_to) REFERENCES tarjeta_debito (id) ON DELETE Set null;
ALTER TABLE deposito_tarjeta_debito ADD CONSTRAINT FKdeposito_t747169 FOREIGN KEY (tarjeta_debito) REFERENCES tarjeta_debito (id) ON DELETE Set null;
ALTER TABLE giro_tarjeta_debito ADD CONSTRAINT FKgiro_tarje431166 FOREIGN KEY (tarjeta_debito) REFERENCES tarjeta_debito (id) ON DELETE Set null;
ALTER TABLE transferencia_cuenta_corriente ADD CONSTRAINT FKtransferen295143 FOREIGN KEY (cuenta_corriente_from) REFERENCES cuenta_corriente (id) ON DELETE Set null;
ALTER TABLE transferencia_tarjeta_debito ADD CONSTRAINT FKtransferen713576 FOREIGN KEY (tarjeta_debito_from) REFERENCES tarjeta_debito (id) ON DELETE Set null;
ALTER TABLE compra_tarjeta_debito ADD CONSTRAINT FKcompra_tar267191 FOREIGN KEY (tarjeta_debito) REFERENCES tarjeta_debito (id);
INSERT INTO usuario(id, nombre, password, salt, role, inserted_at) VALUES (1, 'ryuuji', 0xEC65288218545FB29831D2025CEE99704C900B4B8E0B7DB35A610E2D1673BF35, 0x6260AD9369D01E48EC34F0315FAD3565, 'Admin', current_timestamp());
INSERT INTO metodo(id, nombre) VALUES (1, 'Cheque');
INSERT INTO metodo(id, nombre) VALUES (2, 'Vale Vista');
INSERT INTO metodo(id, nombre) VALUES (3, 'Efectivo');
INSERT INTO metodo(id, nombre) VALUES (4, 'Caja');