-- Tabela Titulares -- 

CREATE TABLE Titulares
(
	id INT(0) NOT NULL AUTO_INCREMENT,
	Matricula INT(15) UNSIGNED ZEROFILL NOT NULL,
	Nome VARCHAR(50) DEFAULT NULL,
	Endereco VARCHAR(100) DEFAULT NULL,
	Bairro VARCHAR(50) DEFAULT NULL,
	Cidade VARCHAR(30) DEFAULT 'Rio de Janeiro',
	UF CHAR(2) DEFAULT 'RJ',
	CEP VARCHAR(10) DEFAULT NULL,
	Email VARCHAR(50) DEFAULT NULL,
	Telefone VARCHAR(14) DEFAULT NULL,
	Nacimento DATE DEFAULT NULL,
	Data_Cadastro DATETIME DEFAULT CURRENT_TIMESTAMP(),
	Data_Atualizacao DATETIME DEFAULT CURRENT_TIMESTAMP()
		ON UPDATE CURRENT_TIMESTAMP(),
	PRIMARY KEY (id,Matricula) USING BTREE,
	INDEX (Matricula) USING BTREE		
);

-- Tabela Dependentes -- 

CREATE TABLE Dependentes
(
	id INT(0) NOT NULL AUTO_INCREMENT,
	Matricula INT(15) UNSIGNED ZEROFILL NOT NULL,
	Nome VARCHAR(50) DEFAULT NULL,
	Endereco VARCHAR(100) DEFAULT	NULL,
	Bairro VARCHAR(50) DEFAULT NULL,
	Cidade VARCHAR(30) DEFAULT 'Petrópolis',
	UF CHAR(2) DEFAULT 'RJ',
	CEP VARCHAR(10) DEFAULT NULL,
	Email VARCHAR(50) DEFAULT NULL,
	Nascimento DATE DEFAULT NULL,
	Data_Cadastro DATETIME DEFAULT CURRENT_TIMESTAMP(),
	Data_Atualizacao DATETIME DEFAULT CURRENT_TIMESTAMP() 
		ON UPDATE CURRENT_TIMESTAMP(),
	PRIMARY KEY (id) USING BTREE,
	INDEX Matricula(Matricula) USING BTREE,
	CONSTRAINT FK_DEPENDENTES_TITULARES 
		FOREIGN KEY (Matricula) REFERENCES Titulares(Matricula)
		ON DELETE CASCADE ON UPDATE CASCADE	 
);

-- Tabela Documentacao --

-- Tabela Filmes --

CREATE TABLE Filmes
(
	id INT(0) NOT NULL AUTO_INCREMENT,
	Matricula_Locatario INT(15) UNSIGNED ZEROFILL DEFAULT NULL,
	`Status` VARCHAR(15) DEFAULT 'Disponível',
	Nome VARCHAR(200) DEFAULT NULL,
	Titulo_Original VARCHAR(200) DEFAULT NULL,
	Diretor VARCHAR(100) DEFAULT NULL,
	Ano INT(4) DEFAULT NULL,
	Genero VARCHAR(30) DEFAULT NULL,
	Fraquia VARCHAR(30) DEFAULT NULL,
	Classificacao INT(2) DEFAULT NULL,
	Sinopse LONGTEXT DEFAULT NULL,
	Pais VARCHAR(30) DEFAULT NULL,
	Oscars INT(2) DEFAULT NULL,
	Globos_de_Ouro INT(2) DEFAULT NULL,
	Data_Cadastro DATETIME DEFAULT CURRENT_TIMESTAMP(),
	Data_Atualizacao DATETIME DEFAULT CURRENT_TIMESTAMP()
		ON UPDATE CURRENT_TIMESTAMP(),
	PRIMARY KEY (id) USING BTREE,
	INDEX FK_FILMES_TITULARES (Matricula_Locatario) USING BTREE,
	CONSTRAINT FK_FILMES_TITULARES 
		FOREIGN KEY (Matricula_Locatario)
			REFERENCES titulares(Matricula)
			ON DELETE SET NULL ON UPDATE RESTRICT
);

-- Tabela Documentação --

	CREATE TABLE documentacao
	(
		id INT(0) NOT NULL AUTO_INCREMENT,
		Matricula INT(15) UNSIGNED ZEROFILL NOT NULL,
		CPF CHAR(15) NOT NULL,
		CNH CHAR(20) NOT NULL,
		RG CHAR(20) NOT NULL,
		Cartao CHAR(30) NOT NULL,
		CVV2 CHAR(6) NOT NULL,
		Expitacao CHAR(10) NOT NULL,
		Data_Cadastro DATETIME DEFAULT CURRENT_TIMESTAMP(),
		Data_Atualizacao DATETIME DEFAULT CURRENT_TIMESTAMP()
			ON UPDATE CURRENT_TIMESTAMP(),
		PRIMARY KEY (id,Matricula,CPF,CNH,RG) USING BTREE,
		INDEX FK_TITULARES_DOCUMENTACAO(Matricula) USING BTREE,
		CONSTRAINT FK_TITULARES_DOCUMENTACAO 
			FOREIGN KEY(Matricula)
				REFERENCES Titulares(Matricula)
					ON DELETE CASCADE
					ON UPDATE CASCADE
		
	); 
