-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathImobiliaria_v1_SQL.sql
138 lines (120 loc) · 3.15 KB
/
Imobiliaria_v1_SQL.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
-- Imobiliaria
-- Aluna: Catarine Soares Cruz
-- LINK: https://github.com/eniira/Database-BD1
DROP TABLE IF EXISTS MERC_FAZ_ANUN, CORR_TEM_CLI, CLIENTE, FIADOR, NEGOCIADOR_COMPRADOR,
NEGOCIADOR_INQUILINO ,NEGOCIADOR,FUNCIONARIO_MERCADOLOGO,FUNCIONARIO_CORRETOR ,FUNCIONARIO,
IMOVEL_ALUGUEL, IMOVEL_VENDA, IMOVEL, ANUNCIO;
CREATE TABLE CLIENTE (
email VARCHAR(50),
telefone CHAR(11),
nome VARCHAR(50),
PRIMARY KEY (email)
);
CREATE TABLE IMOVEL(
codigo INTEGER,
comissao REAL,
status VARCHAR(10),
endereco VARCHAR(100),
metragem REAL,
descricao VARCHAR(100),
email_cli VARCHAR(100),
PRIMARY KEY (codigo),
FOREIGN KEY(email_cli) REFERENCES CLIENTE(email)
);
CREATE TABLE ANUNCIO (
codigo INTEGER,
orcamento REAL,
local_anuncio VARCHAR(50),
vzs_anuncio INTEGER,
codigo_imo INTEGER,
PRIMARY KEY (codigo),
FOREIGN KEY (codigo_imo) REFERENCES IMOVEL(codigo)
);
CREATE TABLE FIADOR(
nome VARCHAR(50),
cpf CHAR(11),
contrato VARCHAR(100),
PRIMARY KEY (cpf)
);
CREATE TABLE NEGOCIADOR(
email VARCHAR(50),
telefone CHAR(11),
nome VARCHAR(50),
PRIMARY KEY (email)
);
CREATE TABLE NEGOCIADOR_INQUILINO(
email VARCHAR(50),
cpf_fia CHAR(11),
PRIMARY KEY (email),
FOREIGN KEY(email) REFERENCES NEGOCIADOR(email) ON DELETE CASCADE,
FOREIGN KEY (cpf_fia) REFERENCES FIADOR (cpf)
);
CREATE TABLE NEGOCIADOR_COMPRADOR(
email VARCHAR(50),
PRIMARY KEY (email),
FOREIGN KEY(email) REFERENCES NEGOCIADOR(email) ON DELETE CASCADE
);
CREATE TABLE FUNCIONARIO(
cpf CHAR(11),
nome VARCHAR(50),
telefone CHAR(11),
PRIMARY KEY(cpf)
);
CREATE TABLE FUNCIONARIO_MERCADOLOGO(
area_atuacao VARCHAR(50),
tempo_empr INTEGER,
estrategia_util VARCHAR(50),
cpf_merc CHAR(11),
PRIMARY KEY(cpf_merc),
FOREIGN KEY(cpf_merc) REFERENCES FUNCIONARIO(cpf) ON DELETE CASCADE
);
CREATE TABLE FUNCIONARIO_CORRETOR(
email VARCHAR(50),
CRECI CHAR(6),
treinamento VARCHAR(50),
cpf_corr CHAR(11),
PRIMARY KEY(cpf_corr),
FOREIGN KEY(cpf_corr) REFERENCES FUNCIONARIO(cpf) ON DELETE CASCADE
);
CREATE TABLE IMOVEL_ALUGUEL(
condicoes VARCHAR(100),
valorMensal REAL,
periodo INTEGER,
codigo_alug INTEGER,
cpf_corr CHAR(11),
email_inq VARCHAR(50),
dataInicio DATE,
dataFim DATE,
vencimento DATE,
PRIMARY KEY(codigo_alug),
FOREIGN KEY(codigo_alug) REFERENCES IMOVEL(codigo) ON DELETE CASCADE,
FOREIGN KEY (cpf_corr) REFERENCES FUNCIONARIO_CORRETOR (cpf_corr),
FOREIGN KEY (email_inq) REFERENCES NEGOCIADOR_INQUILINO (email)
);
CREATE TABLE IMOVEL_VENDA(
tipo VARCHAR(20),
registro VARCHAR(20),
valorTotal REAL,
codigo_vend INTEGER,
cpf_corr CHAR(11),
email_comp VARCHAR(50),
dataVenda DATE,
PRIMARY KEY(codigo_vend),
FOREIGN KEY(codigo_vend) REFERENCES IMOVEL(codigo) ON DELETE CASCADE,
FOREIGN KEY (cpf_corr) REFERENCES FUNCIONARIO_CORRETOR (cpf_corr),
FOREIGN KEY (email_comp) REFERENCES NEGOCIADOR_COMPRADOR (email)
);
CREATE TABLE MERC_FAZ_ANUN(
codigo INTEGER,
cpf_merc CHAR(11),
PRIMARY KEY (codigo, cpf_merc),
FOREIGN KEY (codigo) REFERENCES ANUNCIO(codigo),
FOREIGN KEY (cpf_merc) REFERENCES FUNCIONARIO_MERCADOLOGO(cpf_merc)
);
CREATE TABLE CORR_TEM_CLI(
email_cli VARCHAR(100),
cpf_corr CHAR(11),
PRIMARY KEY (email_cli, cpf_corr),
FOREIGN KEY (email_cli) REFERENCES CLIENTE (email),
FOREIGN KEY (cpf_corr) REFERENCES FUNCIONARIO_CORRETOR(cpf_corr)
);