-- Cadastro
-- Cadastrar os dados de um novo usuário.
INSERT INTO USUARIO
(NomeCompleto, CPF, DataNascimento, Telefone, EnderecoResidencial,
Ocupacao, NomeUsuario, Senha)
VALUES
('NOME COMPLETO', 'CPF', DATE '2000-01-01', 'TELEFONE', 'ENDERECO',
'OCUPACAO', 'USUARIO', 'SENHA');
-- Cadastrar os dados da conta bancária de um usuário.
INSERT INTO CONTA_BANCARIA
(ID_Usuario, NomeBanco, Agencia, ContaCorrente)
VALUES
(1, 'NOME DO BANCO', '0001', '12345-6');
-- Cadastrar os dados de uma nova receita (entrada de dinheiro) para um
usuário.
INSERT INTO RECEITA
(ID_Usuario, ID_Conta, ID_CategoriaReceita, Valor, Data, Descricao)
VALUES
(1, 1, 1, 3000.00, SYSDATE, 'Salário');
-- Cadastrar os dados de uma nova despesa (gasto) de um usuário.
INSERT INTO DESPESA
(ID_Usuario, ID_Conta, ID_CategoriaDespesa, Valor, Data, Descricao)
VALUES
(1, 1, 2, 150.00, SYSDATE, 'Mercado');
-- Cadastrar os dados de um novo investimento feito por um usuário.
INSERT INTO INVESTIMENTO
(ID_Usuario, ID_Conta, ID_TipoInvestimento, Valor, DataAplicacao,
CategoriaInvestimento)
VALUES
(1, 1, 1, 1000.00, SYSDATE, 'Renda Fixa');
-- Alteração
-- Alterar os dados de um usuário (como nome, e-mail e etc.). Ou seja, atualizar
os dados de um usuário, a partir do seu código de referência.
UPDATE USUARIO
SET NomeCompleto = 'NOVO NOME',
CPF = 'NOVO CPF',
DataNascimento = DATE '2000-01-01',
Telefone = 'NOVO TELEFONE',
EnderecoResidencial = 'NOVO ENDERECO',
Ocupacao = 'NOVA OCUPACAO',
NomeUsuario = 'NOVO USUARIO',
Senha = 'NOVA SENHA'
WHERE ID_Usuario = 1;
-- Alterar os dados de uma receita já cadastrada, a partir do código da tabela,
ou seja, utilize o código do usuário e o código da receita.
UPDATE RECEITA
SET ID_CategoriaReceita = 2,
Valor = 3500.00,
Data = SYSDATE,
Descricao = 'Salário atualizado'
WHERE ID_Usuario = 1
AND ID_Receita = 1;
-- Alterar os dados de uma despesa já cadastrada, a partir do código da tabela,
ou seja, utilize o código do usuário e o código da despesa.
UPDATE DESPESA
SET ID_CategoriaDespesa = 3,
Valor = 200.00,
Data = SYSDATE,
Descricao = 'Supermercado'
WHERE ID_Usuario = 1
AND ID_Despesa = 1;
-- Alterar os dados de um investimento já cadastrado, a partir do código da
tabela, ou seja, utilize o código do usuário e o código do investimento.
UPDATE INVESTIMENTO
SET ID_TipoInvestimento = 2,
Valor = 1500.00,
DataAplicacao = SYSDATE,
CategoriaInvestimento = 'Renda Variável'
WHERE ID_Usuario = 1
AND ID_Investimento = 1;
-- Consultas Simples
-- Consultar os dados de um usuário específico (usando o código dele).
SELECT * FROM USUARIO
WHERE ID_Usuario = 1;
-- Consultar os dados de uma despesa específica (usando o código do usuário
e o da despesa).
SELECT * FROM DESPESA
WHERE ID_Usuario = 1
AND ID_Despesa = 1;
-- Consultar os dados de um investimento específico (com código do usuário e
do investimento).
SELECT * FROM INVESTIMENTO
WHERE ID_Usuario = 1
AND ID_Investimento = 1;
-- Consultas Ordenadas
-- Consultar todas as despesas de um usuário, ordenando da mais nova para a
mais antiga. Ou seja, da mais recente para a mais antiga.
SELECT * FROM DESPESA
WHERE ID_Usuario = 1
ORDER BY Data DESC;
-- Consultar todos os investimentos de um usuário, do mais novo para o mais
antigo. Ou seja, do investimento mais recente para o mais antigo.
SELECT * FROM INVESTIMENTO
WHERE ID_Usuario = 1
ORDER BY DataAplicacao DESC;
-- Consulta para o Dashboard
-- Consultar as informações principais de um usuário, junto com a última
despesa e o último investimento feitos deste usuário. Ou seja, essa consulta
deve retornar apenas uma linha, com as principais informações de um usuário,
assim como informações da última despesa e do último investimento.
SELECT
NomeCompleto,
(SELECT Valor
FROM DESPESA
WHERE ID_Usuario = 1
ORDER BY Data DESC
FETCH FIRST 1 ROWS ONLY) AS Ultima_Despesa,
(SELECT Valor
FROM INVESTIMENTO
WHERE ID_Usuario = 1
ORDER BY DataAplicacao DESC
FETCH FIRST 1 ROWS ONLY) AS Ultimo_Investimento
FROM USUARIO
WHERE ID_Usuario = 1;