Logo Studenta
Gratis
tables imobiliaria

Vista previa | Página 1 de 1

create table proprietario(
 codigo INT NOT NULL AUTO_INCREMENT,
 nome VARCHAR(100) NOT NULL,
 cpf VARCHAR(100) UNIQUE NOT NULL,
 sexo CHAR(1) CHECK(SEXO IN('M', 'F')),
 idade INT(2) CHECK(idade>=21 AND idade>80),
 telefone VARCHAR (11),
 CONSTRAINT PRIMARY KEY (codigo)
);
create table imovel(
 codigo INT NOT NULL AUTO_INCREMENT,
 endereco VARCHAR(100) NOT NULL,
 descricao VARCHAR(200) NOT NULL,
 valor_aluguel DOUBLE CHECK(valor_aluguel>500),
 tipo VARCHAR(11) CHECK(tipo IN('residencial', 'comercial')),
 status VARCHAR(20) CHECK(status IN('alugado', 'livre', 'em reforma')),
 telefone VARCHAR (11),
 proprietario VARCHAR(100),
 CONSTRAINT PRIMARY KEY (codigo),
 CONSTRAINT proprietario FOREIGN KEY(codigo) references proprietario(codigo) on delete cascade on update cascade
);
create table inquilino(
 codigo INT NOT NULL AUTO_INCREMENT,
 nome VARCHAR(100) NOT NULL,
 cpf VARCHAR(100) UNIQUE NOT NULL,
 sexo CHAR(1) CHECK(SEXO IN('M', 'F')),
 idade INT(2) CHECK(idade>=21 AND idade<=80),
 telefone VARCHAR (11) NOT NULL,
 CONSTRAINT PRIMARY KEY (codigo)
);
create table corretor(
 codigo INT NOT NULL AUTO_INCREMENT,
 nome VARCHAR(100) NOT NULL,
 cpf VARCHAR(100) UNIQUE NOT NULL,
 sexo CHAR(1) CHECK(SEXO IN('M', 'F')),
 dt_nascimento DATE,
 telefone VARCHAR (11) NOT NULL,
 creci VARCHAR (20) UNIQUE NOT NULL,
 CONSTRAINT PRIMARY KEY (codigo)
);
create table aluguel(
 codigo INT NOT NULL AUTO_INCREMENT,
 dt_aluguel DATE NOT NULL,
 dt_vencimento DATE NOT NULL,
 valor_final_aluguel INT CHECK(valor_final_aluguel>600),
 CONSTRAINT imovel FOREIGN KEY(codigo) references imovel(codigo) on delete cascade on update cascade,
 CONSTRAINT inquilino FOREIGN KEY(codigo) references inquilino(codigo),
 CONSTRAINT corretor FOREIGN KEY(codigo) references corretor(codigo)
);