· 7 years ago · Nov 26, 2018, 07:00 PM
1DROP TABLE IF EXISTS DBO.RESPOSTA;
2DROP TABLE IF EXISTS DBO.PERGUNTA;
3DROP TABLE IF EXISTS DBO.SECAO;
4DROP TABLE IF EXISTS DBO.PESQUISA;
5DROP TABLE IF EXISTS DBO.LOCALIDADE;
6DROP TABLE IF EXISTS DBO.PERMISSAO;
7DROP TABLE IF EXISTS DBO.GRUPO;
8DROP TABLE IF EXISTS DBO.USUARIO;
9DROP TABLE IF EXISTS DBO.CLIENTE;
10DROP TABLE IF EXISTS DBO.CONTATO;
11DROP TABLE IF EXISTS DBO.ENDERECO;
12DROP TABLE IF EXISTS DBO.CIDADE;
13DROP TABLE IF EXISTS DBO.ESTADO;
14DROP TABLE IF EXISTS DBO.PAIS;
15
16CREATE TABLE PAIS
17(
18 ID VARCHAR(3) NOT NULL
19 CONSTRAINT PK_PAIS_ID PRIMARY KEY,
20
21 NOME VARCHAR(20) NOT NULL
22 CONSTRAINT UN_PAIS_NOME UNIQUE,
23);
24
25
26CREATE TABLE ESTADO
27(
28 ID VARCHAR(2) NOT NULL
29 CONSTRAINT PK_ESTADO_ID PRIMARY KEY,
30
31 NOME VARCHAR(20) NOT NULL
32 CONSTRAINT UN_ESTADO_NOME UNIQUE,
33
34 PAIS_ID VARCHAR(3) NOT NULL
35 CONSTRAINT FK_ESTADO_PAIS FOREIGN KEY REFERENCES PAIS (ID),
36);
37
38
39CREATE TABLE CIDADE
40(
41 ID INT NOT NULL
42 CONSTRAINT PK_CIDADE_ID PRIMARY KEY,
43
44 NOME VARCHAR(20) NOT NULL
45 CONSTRAINT UN_CIDADE_NOME UNIQUE,
46
47 ESTADO_ID VARCHAR(2) NOT NULL
48 CONSTRAINT FK_CIDADE_ESTADO FOREIGN KEY REFERENCES ESTADO (ID),
49);
50
51
52CREATE TABLE ENDERECO
53(
54 ID INT IDENTITY
55 CONSTRAINT PK_ENDERECO_ID PRIMARY KEY,
56 CEP INT NOT NULL,
57 RUA VARCHAR(100) NOT NULL,
58 BAIRRO VARCHAR(100) NOT NULL,
59 COMPLEMENTO VARCHAR(100),
60 CIDADE_ID INT
61 CONSTRAINT FK_ENDERECO_CIDADE FOREIGN KEY REFERENCES CIDADE (ID),
62 ESTADO_ID VARCHAR(2)
63 CONSTRAINT FK_ENDERECO_ESTADO FOREIGN KEY REFERENCES ESTADO (ID),
64);
65
66
67CREATE TABLE CONTATO
68(
69 ID INT IDENTITY
70 CONSTRAINT PK_CONTATO_ID PRIMARY KEY,
71 TIPO VARCHAR(10) NOT NULL
72 CONSTRAINT CK_TIPO CHECK (TIPO IN ('RESIDENCIAL', 'CELULAR')),
73 CONTATO VARCHAR(50) NOT NULL,
74)
75
76CREATE TABLE CLIENTE
77(
78 ID INT IDENTITY
79 CONSTRAINT PK_CLIENTE_ID PRIMARY KEY,
80 NOME VARCHAR(100) NOT NULL,
81 CPF_CNPJ VARCHAR(14) NOT NULL,
82 TIPO_PESSOA VARCHAR(1) NOT NULL
83 CONSTRAINT CK_TIPO_PESSOA CHECK (TIPO_PESSOA IN ('F', 'J')),
84 CONTATO_ID INT NOT NULL
85 CONSTRAINT FK_CLIENTE_CONTATO FOREIGN KEY REFERENCES CONTATO (ID),
86 ENDERECO_ID INT NOT NULL
87 CONSTRAINT FK_CLIENTE_ENDERECO FOREIGN KEY REFERENCES ENDERECO (ID),
88)
89
90CREATE TABLE USUARIO
91(
92 ID INT IDENTITY
93 CONSTRAINT PK_USUARIO_ID PRIMARY KEY,
94 LOGIN VARCHAR(20) NOT NULL
95 CONSTRAINT UN_USUARIO_LOGIN UNIQUE,
96 SENHA VARCHAR(20) NOT NULL
97 CONSTRAINT CK_USUARIO_SENHA CHECK (DATALENGTH(SENHA) >= 8),
98 CONTATO_ID INT NOT NULL
99 CONSTRAINT FK_USUARIO_CONTATO FOREIGN KEY REFERENCES CONTATO (ID),
100 ENDERECO_ID INT NOT NULL
101 CONSTRAINT FK_USUARIO_ENDERECO FOREIGN KEY REFERENCES ENDERECO (ID),
102)
103
104CREATE TABLE GRUPO
105(
106 ID INT IDENTITY
107 CONSTRAINT PK_GRUPO_ID PRIMARY KEY,
108 NOME VARCHAR(20) NOT NULL,
109 DESCRICAO VARCHAR(20) NOT NULL,
110)
111
112CREATE TABLE PERMISSAO
113(
114 ID INT IDENTITY
115 CONSTRAINT PK_PERMISSAO_ID PRIMARY KEY,
116 PERMISSAO VARCHAR(20) NOT NULL,
117 DESCRICAO VARCHAR(20) NOT NULL,
118 GRUPO_ID INT NOT NULL
119 CONSTRAINT FK_PERMISSAO_GRUPO FOREIGN KEY REFERENCES GRUPO (ID),
120)
121
122CREATE TABLE LOCALIDADE
123(
124 ID INT IDENTITY
125 CONSTRAINT PK_LOCALIDADE_ID PRIMARY KEY,
126 LATITUDE VARCHAR(20) NOT NULL,
127 LONGITUDE VARCHAR(20) NOT NULL,
128)
129
130CREATE TABLE PESQUISA
131(
132 ID INT IDENTITY
133 CONSTRAINT PK_PESQUISA_ID PRIMARY KEY,
134 QUANTIDADE_ENTREVISTAS INT NOT NULL,
135 NOME VARCHAR(100) NOT NULL,
136 LOCALIDADE INT NOT NULL,
137 CLIENTE_ID INT NOT NULL
138 CONSTRAINT FK_PESQUISA_CLIENTE FOREIGN KEY REFERENCES CLIENTE (ID),
139 LOCALIDADE_ID INT NOT NULL
140 CONSTRAINT FK_PESQUISA_LOCALIDADE FOREIGN KEY REFERENCES LOCALIDADE (ID),
141)
142
143CREATE TABLE SECAO
144(
145 ID INT IDENTITY
146 CONSTRAINT PK_SECAO_ID PRIMARY KEY,
147 NOME VARCHAR(50) NOT NULL,
148 PESQUISA_ID INT NOT NULL
149 CONSTRAINT FK_SECAO_PESQUISA FOREIGN KEY REFERENCES PESQUISA (ID),
150)
151
152CREATE TABLE PERGUNTA
153(
154 ID INT IDENTITY
155 CONSTRAINT PK_PERGUNTA_ID PRIMARY KEY,
156 PERGUNTA VARCHAR(100) NOT NULL,
157 SECAO_ID INT NOT NULL
158 CONSTRAINT FK_PERGUNTA_PSECAO FOREIGN KEY REFERENCES SECAO (ID),
159)
160
161CREATE TABLE RESPOSTA
162(
163 ID INT
164 CONSTRAINT PK_REPOSTA_ID PRIMARY KEY,
165 RESPOSTA VARCHAR(100),
166 PERGUNTA_ID INT
167 CONSTRAINT FK_RESPOSTA_PERGUNTA FOREIGN KEY REFERENCES PERGUNTA (ID),
168)