CREATE DATABASE DB_LOCADORA;

USE DB_LOCADORA;

CREATE TABLE TB_LOJA (
CD_LOJA INT PRIMARY KEY auto_increment,
ENDERECO VARCHAR(100) NOT NULL
);

CREATE TABLE TB_CLIENTE (
CD_CLIENTE INT PRIMARY KEY AUTO_INCREMENT,
NOME VARCHAR(80) NOT NULL,
EMAIL VARCHAR(60) NOT NULL UNIQUE,
ID_LOJA INT NOT NULL,
FOREIGN KEY (ID_LOJA) REFERENCES TB_LOJA (CD_LOJA)
);

CREATE TABLE TB_FILME (
CD_FILME INT PRIMARY KEY AUTO_INCREMENT,
TITULO VARCHAR(100) NOT NULL,
ANO_LANCAMENTO CHAR(4) NOT NULL
);

CREATE TABLE TB_INVENTARIO (
CD_INVENTARIO INT PRIMARY KEY AUTO_INCREMENT,
ID_FILME INT NOT NULL,
ID_LOJA INT NOT NULL,
FOREIGN KEY (ID_FILME) REFERENCES TB_FILME (CD_FILME),
FOREIGN KEY (ID_LOJA) REFERENCES TB_LOJA (CD_LOJA)
);

CREATE TABLE TB_LOCACAO (
CD_LOCACAO INT PRIMARY KEY AUTO_INCREMENT,
DT_LOCACAO DATE NOT NULL,
DT_DEVOLUCAO DATE,
ID_LOJA INT NOT NULL,
FOREIGN KEY (ID_LOJA) references TB_LOJA (CD_LOJA),
ID_CLIENTE INT NOT NULL,
FOREIGN KEY (ID_CLIENTE) references TB_CLIENTE (CD_CLIENTE),
ID_INVENTARIO INT NOT NULL,
FOREIGN KEY (ID_INVENTARIO) references TB_INVENTARIO (CD_INVENTARIO),
DT_REGISTRO_LOCACAO DATETIME NOT NULL DEFAULT current_timestamp
);

CREATE TABLE TB_FUNCIONARIO (
CD_FUNCIONARIO INT PRIMARY KEY AUTO_INCREMENT,
NOME VARCHAR(80) NOT NULL,
EMAIL VARCHAR(60) NOT NULL UNIQUE
);

CREATE TABLE TB_PAGAMENTO (
CD_PAGAMENTO INT PRIMARY KEY AUTO_INCREMENT,
ID_LOCACAO INT NOT NULL,
FOREIGN KEY (ID_LOCACAO) references TB_LOCACAO (CD_LOCACAO),
VALOR DECIMAL(8,2) NOT NULL,
ID_FUNCIONARIO INT NOT NULL,
FOREIGN KEY (ID_FUNCIONARIO) references TB_FUNCIONARIO (CD_FUNCIONARIO)
);

ALTER TABLE TB_FUNCIONARIO 
ADD COLUMN ID_LOJA INT NOT NULL;

ALTER TABLE TB_FUNCIONARIO ADD
FOREIGN KEY (ID_LOJA) REFERENCES TB_LOJA (CD_LOJA);

ALTER TABLE TB_CLIENTE ADD COLUMN
DATA_NASCIMENTO DATE;

ALTER TABLE TB_CLIENTE CHANGE
DATA_NASCIMENTO DATA_NASCIMENTO DATE NOT NULL;

DROP TABLE NOME_DA_TABELA;

DROP DATABASE NOME_DO_BANCO_DE_DADOS;

/* DML (INSERT/UPDATE/DELETE/TRUNCATE */


INSERT INTO TB_LOJA SET
ENDERECO = 'RUA DAS FLORES, 100 - CENTRO - SÃO JOSÉ DOS CAMPOS';

INSERT INTO TB_LOJA SET
ENDERECO = ' AVENIDA DO BOSQUE, 710 - BOSQUE DOS EUCALIPTOS - SÃO JOSÉ DOS CAMPOS';

SELECT * FROM TB_LOJA;

DELETE FROM TB_LOJA WHERE CD_LOJA = 2;

TRUNCATE TABLE TB_LOJA;

UPDATE TB_LOJA SET
ENDERECO = 'RUA TOCANTINS, 1000 - VILA EMA - SÃO JOSÉ DOS CAMPOS'
WHERE
CD_LOJA = 3;

INSERT INTO TB_CLIENTE SET
NOME = 'LANAY CAROLINA',
EMAIL = 'LANAYCAROLINA321@GMAIL.COM',
DATA_NASCIMENTO = '2007-08-10',
ID_LOJA = 1;

SELECT * FROM TB_CLIENTE;

DELETE FROM TB_CLIENTE WHERE NOME = 'LANAY CAROLINA';
DELETE FROM TB_CLIENTE WHERE NOME = '3';