Skip to content

Instantly share code, notes, and snippets.

@rafael-fernandes
Created June 21, 2017 21:35
Show Gist options
  • Save rafael-fernandes/2677fbb32a3e22a618c0e18011e6df52 to your computer and use it in GitHub Desktop.
Save rafael-fernandes/2677fbb32a3e22a618c0e18011e6df52 to your computer and use it in GitHub Desktop.
Banco
DROP TABLE IF EXISTS clientes CASCADE;
DROP TABLE IF EXISTS tipos_contas CASCADE;
DROP TABLE IF EXISTS niveis_privilegios CASCADE;
DROP TABLE IF EXISTS contas CASCADE;
DROP TABLE IF EXISTS bancos CASCADE;
DROP TABLE IF EXISTS agencias CASCADE;
DROP TABLE IF EXISTS cartoes CASCADE;
CREATE TABLE clientes (
id_cliente SERIAL PRIMARY KEY,
nome VARCHAR(100),
telefone VARCHAR(15),
cpf VARCHAR(25)
);
SELECT * FROM clientes;
INSERT INTO clientes (id_cliente, nome, telefone, cpf) VALUES (DEFAULT, 'Leonardo de Almeida', '61 99239 3423', '018.328.456-10');
INSERT INTO clientes (id_cliente, nome, telefone, cpf) VALUES (DEFAULT, 'Marcus Vinicius', '61 99324 7845', '019.837.849-10');
INSERT INTO clientes (id_cliente, nome, telefone, cpf) VALUES (DEFAULT, 'Vitor Pontes', '61 98763 2315', '098.457.327-10');
CREATE TABLE tipos_contas (
id_tipo_conta SERIAL PRIMARY KEY,
descricao VARCHAR(20)
);
SELECT * FROM tipos_contas;
INSERT INTO tipos_contas (id_tipo_conta, descricao) VALUES (DEFAULT, 'Corrente');
INSERT INTO tipos_contas (id_tipo_conta, descricao) VALUES (DEFAULT, 'Poupança');
INSERT INTO tipos_contas (id_tipo_conta, descricao) VALUES (DEFAULT, 'Salário');
INSERT INTO tipos_contas (id_tipo_conta, descricao) VALUES (DEFAULT, 'Universitário');
CREATE TABLE niveis_privilegios (
id_nivel_privilegio SERIAL PRIMARY KEY,
descricao VARCHAR(20)
);
SELECT * FROM niveis_privilegios;
INSERT INTO niveis_privilegios (id_nivel_privilegio, descricao) VALUES (DEFAULT, 'Premium');
INSERT INTO niveis_privilegios (id_nivel_privilegio, descricao) VALUES (DEFAULT, 'Basic');
INSERT INTO niveis_privilegios (id_nivel_privilegio, descricao) VALUES (DEFAULT, 'Platinum');
CREATE TABLE bancos (
id_banco SERIAL PRIMARY KEY,
nome VARCHAR(50)
);
SELECT * FROM bancos;
INSERT INTO bancos (id_banco, nome) VALUES (DEFAULT, 'Banco do Brasil');
INSERT INTO bancos (id_banco, nome) VALUES (DEFAULT, 'Caixa Economica');
INSERT INTO bancos (id_banco, nome) VALUES (DEFAULT, 'Itau');
INSERT INTO bancos (id_banco, nome) VALUES (DEFAULT, 'Bradesco');
CREATE TABLE agencias (
id_agencia SERIAL PRIMARY KEY,
numero VARCHAR(10),
id_banco INTEGER REFERENCES bancos
);
SELECT * FROM agencias;
INSERT INTO agencias (id_agencia, numero, id_banco) VALUES (DEFAULT, '4418-0', 1);
INSERT INTO agencias (id_agencia, numero, id_banco) VALUES (DEFAULT, '335', 2);
INSERT INTO agencias (id_agencia, numero, id_banco) VALUES (DEFAULT, '2837', 3);
CREATE TABLE contas (
id_conta SERIAL PRIMARY KEY,
numero VARCHAR(10),
id_cliente INTEGER REFERENCES clientes,
id_nivel_privilegio INTEGER REFERENCES niveis_privilegios,
id_tipo_conta INTEGER REFERENCES tipos_contas
);
SELECT * FROM contas;
CREATE TABLE cartoes (
id_cartao SERIAL PRIMARY KEY,
tipo VARCHAR(20),
id_conta INTEGER REFERENCES contas
);
SELECT * FROM cartoes;
INSERT INTO contas (id_conta, numero, id_cliente, id_nivel_privilegio, id_tipo_conta) VALUES (DEFAULT, '16783-2', 1, 2, 1);
INSERT INTO cartoes (id_cartao, tipo, id_conta) VALUES (DEFAULT, 'Débito', 1);
INSERT INTO contas (id_conta, numero, id_cliente, id_nivel_privilegio, id_tipo_conta) VALUES (DEFAULT, '15872-1', 2, 1, 3);
INSERT INTO cartoes (id_cartao, tipo, id_conta) VALUES (DEFAULT, 'Crédito', 2);
INSERT INTO contas (id_conta, numero, id_cliente, id_nivel_privilegio, id_tipo_conta) VALUES (DEFAULT, '16582-6', 3, 3, 2);
INSERT INTO cartoes (id_cartao, tipo, id_conta) VALUES (DEFAULT, 'Débito', 3);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment