-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathExercicio cap 4.sql
More file actions
188 lines (153 loc) · 6.14 KB
/
Copy pathExercicio cap 4.sql
File metadata and controls
188 lines (153 loc) · 6.14 KB
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
--Criando um banco de dados chamado: ImovelNet
CREATE DATABASE ImovelNet
--Criando a entidade BAIRRO e seus atributos
CREATE TABLE BAIRRO (
CDBAIRRO INTEGER NOT NULL,
NMBAIRRO VARCHAR(20) NULL,
CDCIDADE INTEGER NOT NULL,
SGESTADO CHAR(2) NOT NULL );
--Criando um índice na entidade BAIRRO referentes aos atributos CDCIDADE e SGESTADO
CREATE INDEX XIF8BAIRRO ON BAIRRO (
CDCIDADE ASC,
SGESTADO ASC);
--Adicionando chave-primária referente aos atributos CDBAIRRO e CDCIDADE na entidade BAIRRO
ALTER TABLE BAIRRO
ADD CONSTRAINT XPKBAIRRO PRIMARY KEY (CDBAIRRO, CDCIDADE,
SGESTADO);
--Criando entidade CIDADE com seus atributos
CREATE TABLE CIDADE (
CDCIDADE INTEGER NOT NULL,
NMCIDADE VARCHAR(20) NULL,
SGESTADO CHAR(2) NOT NULL);
--Criando índice na entidade CIDADE referente ao atributo SGESTADO
CREATE INDEX XIF7CIDADE ON CIDADE (SGESTADO ASC);
--Adicionando chave-primária referente aos atributos CDCIDADE e SGESTADO na etidade CIDADE
ALTER TABLE CIDADE
ADD CONSTRAINT XPKCIDADE PRIMARY KEY (CDCIDADE, SGESTADO);
--Criando entidade COMPRADOR e seus atributos
CREATE TABLE COMPRADOR (
CDCOMPRADOR INTEGER NOT NULL,
NMCOMPRADOR VARCHAR(40) NULL,
NMENDERECO VARCHAR(40) NULL,
NRCPF DECIMAL(11) NULL,
NMCIDADE VARCHAR(20) NULL,
NMBAIRRO VARCHAR(20) NULL,
SGESTADO CHAR(2) NULL,
TELEFONE VARCHAR(20) NULL,
EMAIL VARCHAR(80) NULL);
--Adicionando chave-primária referente ao atributo CDCOMPRADOR na entidade COMPRADOR
ALTER TABLE COMPRADOR
ADD CONSTRAINT XPKCOMPRADOR PRIMARY KEY (CDCOMPRADOR);
--Criando entidade ESTADO e seus atributos
CREATE TABLE ESTADO (
SGESTADO CHAR(2) NOT NULL,
NMESTADO VARCHAR(20) NULL);
--Adicionando chave-primária referente ao atributo SGESTADO na entidade ESTADO
ALTER TABLE ESTADO
ADD CONSTRAINT XPKESTADO PRIMARY KEY (SGESTADO);
--Criando entidade FAIXA-IMOVEL e seus atributos
CREATE TABLE FAIXA_IMOVEL (
CDFAIXA INTEGER NOT NULL,
NMFAIXA VARCHAR(30) NULL,
VLMINIMO DECIMAL(14, 2) NULL,
VLMAXIMO DECIMAL(14, 2) NULL);
--Adicionando chave-primária referente ao atributo CDFAIXA na entidade FAIXA_IMOVEL
ALTER TABLE FAIXA_IMOVEL
ADD CONSTRAINT XPKFAIXA_IMOVEL PRIMARY KEY (CDFAIXA);
--Criando entidade IMOVEL e seus atributos
CREATE TABLE IMOVEL (
CDIMOVEL INTEGER NOT NULL,
CDVENDEDOR INTEGER NULL,
CDBAIRRO INTEGER NULL,
CDCIDADE INTEGER NULL,
SGESTADO CHAR(2) NULL,
NMEDERECO VARCHAR(40) NULL,
NRAREAUTIL DECIMAL (10, 2) NULL,
NRAREATOTAL DECIMAL (10, 2) NULL,
DSIMOVEL VARCHAR(300) NULL,
VLPRECO DECIMAL(16,2) NULL,
NROFERTAS INTEGER NULL,
STVENDIDO CHAR(1) NULL,
DTLANCTO DATE NULL,
IMOVEL_INDICADO INTEGER NULL);
--Criando índice na entidade IMOVEL referente ao atributo CDVENDEDOR
CREATE INDEX XIF12IMOVEL ON IMOVEL (CDVENDEDOR ASC);
--Criando índice na entidade IMOVEL referente ao atributo IMOVEL_INDICADO
CREATE INDEX XIF13IMOVEL ON IMOVEL (IMOVEL_INDICADO ASC);
--Criando índices na entidade IMOVEL referentes aos atributos CDBAIRRO, CDCIDADE, SGESTADO
CREATE INDEX XIF9IMOVEL ON IMOVEL (
CDBAIRRO ASC,
CDCIDADE ASC,
SGESTADO ASC );
--Adicionando chave-primária eferente ao atributo CDIMOVEL na entidade IMOVEL
ALTER TABLE IMOVEL
ADD CONSTRAINT XPKIMOVEL PRIMARY KEY (CDIMOVEL);
--Criando entidade OFERTA
CREATE TABLE OFERTA (
CDCOMPRADOR INTEGER NOT NULL,
CDIMOVEL INTEGER NOT NULL,
VLOFERTA DECIMAL (16, 2) NULL,
DTOFERTA DATE NULL );
--Criando índice na entidade OFERTA referente ao atributo CDCOMPRADOR
CREATE INDEX XIF10OFERTA ON OFERTA (CDCOMPRADOR ASC);
--Criando índice na entidade OFERTA referente ao atributo CDIMOVEL
CREATE INDEX XIF11OFERTA ON OFERTA (CDIMOVEL ASC);
--Adicionando chave-primária referente aos atributos CDCOMPRADOR CDIMOVEL na entidade IMOVEL
ALTER TABLE OFERTA
ADD CONSTRAINT XPKOFERTA PRIMARY KEY (CDCOMPRADOR, CDIMOVEL);
--Criando entidade VENDEDOR e seus atributos
CREATE TABLE VENDEDOR (
CDVENDEDOR INTEGER NOT NULL,
NMVENDEDOR VARCHAR(40) NULL,
NMENDERECO VARCHAR(40) NULL,
NRCPF DECIMAL(11) NULL,
NMCIDADE VARCHAR(20) NULL,
NMBAIRRO VARCHAR(20) NULL,
SGESTADO CHAR(2) NULL,
TELEFONE VARCHAR(20) NULL,
EMAIL VARCHAR(80) NULL);
--Adicionando chave-primária referente ao atributo CDVENDEDOR na entidade VENDEDOR
ALTER TABLE VENDEDOR
ADD CONSTRAINT XPKVENDEDOR PRIMARY KEY (CDVENDEDOR);
--Adicionando chave-estrangeira referente aos atributos CDCIDADE SGESTADO da entidade CIDADE na entidade BAIRRO
ALTER TABLE BAIRRO
ADD CONSTRAINT CIDADE_BAIRRO
FOREIGN KEY (CDCIDADE, SGESTADO)
REFERENCES CIDADE;
--Adicionando chave-estrangeira referente ao atributo SGESTADO da entidade ESTADO na entidade CIDADE
ALTER TABLE CIDADE
ADD CONSTRAINT ESTADO_CIDADE
FOREIGN KEY (SGESTADO)
REFERENCES ESTADO;
--Adicionando chave-estrangeira referente ao atributo IMOVEL_INDICADO da entidade IMOVEL na entidade IMOVEL
ALTER TABLE IMOVEL
ADD CONSTRAINT IMOVEL_INDICADO
FOREIGN KEY (IMOVEL_INDICADO)
REFERENCES IMOVEL;
--Adicionando chave-estrangeira referente ao atributo CDVENDEDOR da entidade VENDEDOR na entidade IMOVEL
ALTER TABLE IMOVEL
ADD CONSTRAINT VENDEDOR_IMOVEL
FOREIGN KEY (CDVENDEDOR)
REFERENCES VENDEDOR;
--Adicionando chave-estrangeira referente ao atributo CDVENDEDOR da entidade VENDEDOR na entidade IMOVEL
ALTER TABLE IMOVEL
ADD CONSTRAINT BAIRRO_IMOVEL
FOREIGN KEY (CDBAIRRO, CDCIDADE, SGESTADO)
REFERENCES BAIRRO;
--Adicionando chave-estrangeira referente ao atributo CDIMOVEL da entidade IMOVEL na entidade OFERTA
ALTER TABLE OFERTA
ADD CONSTRAINT IMOVEL_OFERTA
FOREIGN KEY (CDIMOVEL)
REFERENCES IMOVEL;
--Adicionando chave-estrangeira referente ao atributo CDCOMNPRADOR da entidade COMPRADOR na entidade OFERTA
ALTER TABLE OFERTA
ADD CONSTRAINT COMPRADOR_OFERTA
FOREIGN KEY (CDCOMPRADOR)
REFERENCES COMPRADOR;
--Criando índice na entidade VENDEDOR referente ao atributo NMVENDEDOR
CREATE INDEX XIFNMVENDEDOR ON VENDEDOR (NMVENDEDOR ASC);
--Criando índice na entidade COMPRADOR referente ao atributo NMCOMPRADOR
CREATE INDEX XIFNMCOMPRADOR ON COMPRADOR (NMCOMPRADOR ASC);
--Criando índices na entidade ODFERTA referente aos atributos CDIMOVEL VLOFERTA
CREATE INDEX XIFCDIMOVEL ON OFERTA (CDIMOVEL ASC);
CREATE INDEX XIFVLIMOVEL ON OFERTA ( VLOFERTA DESC);