Prévia do material em texto
--script de criacao do banco de dados locadora --adaptado do material da prof Maria Camila Barioni - FACOM - UFU CREATE SCHEMA locadora; SET search_path TO locadora; --SET datestyle TO 'DMY'; CREATE TABLE CLIENTE ( numCliente INTEGER NOT NULL, nome VARCHAR(50) NOT NULL, endereco VARCHAR(50) NOT NULL, foneres VARCHAR(50) NOT NULL, fonecel VARCHAR(50) NOT NULL, CONSTRAINT PK_CLIENTE PRIMARY KEY (numCliente) ); CREATE TABLE ATOR ( cod INTEGER NOT NULL, datanasc DATE NOT NULL, nacionalidade VARCHAR(50) NOT NULL, nomereal VARCHAR(50) NOT NULL, nomeartistico VARCHAR(50) NOT NULL, CONSTRAINT PK_ATOR PRIMARY KEY (cod) ); CREATE TABLE CLASSIFICACAO ( cod INTEGER NOT NULL, nome VARCHAR(50) NOT NULL, preco FLOAT NOT NULL, CONSTRAINT PK_CLASSIFICACAO PRIMARY KEY (cod) ); CREATE TABLE FILME ( numFilme INTEGER NOT NULL, titulo_original VARCHAR(50) NOT NULL, titulo_pt VARCHAR(50) NOT NULL, duracao INTEGER NOT NULL, data_lancamento DATE NOT NULL, direcao VARCHAR(250) NOT NULL, categoria VARCHAR(50) NOT NULL, classificacao INTEGER NOT NULL, CONSTRAINT PK_FILME PRIMARY KEY (numFilme), CONSTRAINT FK_MIDIA FOREIGN KEY (classificacao) REFERENCES CLASSIFICACAO ON UPDATE CASCADE ON DELETE CASCADE ); CREATE TABLE MIDIA ( numFilme INTEGER NOT NULL, numero INTEGER NOT NULL, tipo VARCHAR(50) NOT NULL, CONSTRAINT PK_MIDIA PRIMARY KEY (numFilme, numero, tipo), CONSTRAINT FK_MIDIA FOREIGN KEY (numFilme) REFERENCES FILME ON UPDATE CASCADE ON DELETE CASCADE ); CREATE TABLE ESTRELA ( numFilme INTEGER NOT NULL, codator INTEGER NOT NULL, CONSTRAINT PK_ESTRELA PRIMARY KEY (numfilme, codator), CONSTRAINT FK_ESTRELA FOREIGN KEY (numFilme) REFERENCES FILME ON UPDATE CASCADE ON DELETE CASCADE, FOREIGN KEY (codator) REFERENCES ATOR ON UPDATE CASCADE ON DELETE CASCADE ); CREATE TABLE EMPRESTIMO ( numFilme INTEGER NOT NULL, numero INTEGER NOT NULL, tipo VARCHAR(50) NOT NULL, cliente INTEGER NOT NULL, dataret DATE NOT NULL, datedev DATE NOT NULL, valor_pg FLOAT NOT NULL, CONSTRAINT PK_EMPRESTIMO PRIMARY KEY (numfilme, numero, tipo, cliente), CONSTRAINT FK_EMPRESTIMO FOREIGN KEY (numFilme, numero, tipo) REFERENCES MIDIA (numFilme, numero, tipo) ON UPDATE CASCADE ON DELETE CASCADE, FOREIGN KEY (cliente) REFERENCES CLIENTE ON UPDATE CASCADE ON DELETE CASCADE );