Olá professores e professoras!
Vai o meu código abaixo, tentei deixar o mais legível e organizado. pegando uma ponte em outros cursos que fiz.
Uma dica para as pessoas, é que tenho observado no fórum que o pessoal não faz muito o uso do botão direito do mouse sobre os objetos do banco e até do próprio banco para criar as tabelas, excluir tabelas, e fazer tantas outras coisas usando o botão direito do mouse é mais objetivo e agiliza todo o processo de tudo que se quer fazer. O dispositivo mouse foi criado e está aí para ser usado e explorado tornando as nossas ações mais práticas.
Vejam a quantidade de opções de ações que aparecem para ser realizada em uma tabela.
CREATE TABLE proprietarios
(
proprietario_id VARCHAR(255) PRIMARY KEY,
nome VARCHAR(255),
cpf_cnpj VARCHAR(20),
contato VARCHAR(255)
);
CREATE TABLE clientes
(
cliente_id VARCHAR(255) PRIMARY KEY,
nome VARCHAR(255),
cpf VARCHAR(14),
contato VARCHAR(255)
);
CREATE TABLE enderecos
(
endereco_id VARCHAR(255) PRIMARY KEY,
rua VARCHAR(255),
numero INT,
bairro VARCHAR(255),
cidade VARCHAR(255),
estado VARCHAR(2),
cep VARCHAR(10)
);
CREATE TABLE hospedagens
(
hospedagem_id VARCHAR(255) PRIMARY KEY,
tipo VARCHAR(50),
endereco_id VARCHAR(255),
proprietario_id VARCHAR(255),
ativo bool,
FOREIGN KEY (endereco_id) REFERENCES enderecos(endereco_id),
FOREIGN KEY (proprietario_id) REFERENCES proprietarios(proprietario_id)
);
CREATE TABLE alugueis
(
aluguel_id VARCHAR(255) PRIMARY KEY,
cliente_id VARCHAR(255),
hospedagem_id VARCHAR(255),
data_inicio DATE,
data_fim DATE,
preço_total DECIMAL(10,2),
FOREIGN KEY (cliente_id) REFERENCES clientes(cliente_id),
FOREIGN KEY (hospedagem_id) REFERENCES hospedagens(hospedagem_id)
);
CREATE TABLE avaliacoes
(
avaliacao_id VARCHAR(255) PRIMARY KEY,
cliente_id VARCHAR(255),
hospedagem_id VARCHAR(255),
nota INT,
comentario TEXT,
FOREIGN KEY (cliente_id) REFERENCES clientes(cliente_id),
FOREIGN KEY (hospedagem_id) REFERENCES hospedagens(hospedagem_id)
);