--DROP TABLE bairro; --DROP TABLE intinerario; --DROP TABLE cidade; --DROP TABLE linha; --DROP TABLE localidade; --DROP TABLE logradouro; --DROP TABLE midia; --DROP TABLE pessoa; --DROP TABLE uf; --DROP TABLE propaganda; CREATE TABLE bairro ( Bairro_Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Bairro CHAR(40) NOT NULL, Status_Sit INT(1) NOT NULL DEFAULT 1, Status_Com INT(1) NOT NULL DEFAULT 0 ); CREATE UNIQUE INDEX XPKBairro ON Bairro ( Bairro_Id ); CREATE TABLE cidade ( Cidade_Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Cidade CHAR(40) NOT NULL, Status_Sit INT(1) NOT NULL DEFAULT 1, Status_Com INT(1) NOT NULL DEFAULT 0 ); CREATE UNIQUE INDEX XPKCidade ON Cidade ( Cidade_Id ); CREATE TABLE intinerario ( Intirerario_Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, UF_Id INT NOT NULL, Cidade_Id INT NOT NULL, Bairro_Id INT NOT NULL, Localidade_Id INT NULL, Logradouro_Id INT NOT NULL, Linha_Id INT NOT NULL, Status_Sit INT(1) NOT NULL DEFAULT 1, Status_Com INT(1) NOT NULL DEFAULT 0 ); CREATE UNIQUE INDEX XPKIntinerario ON Intinerario ( Intirerario_Id, UF_Id, Cidade_Id, Bairro_Id, Localidade_Id, Logradouro_Id, Linha_Id ); CREATE INDEX XIF180Intinerario ON Intinerario ( Logradouro_Id ); CREATE INDEX XIF182Intinerario ON Intinerario ( Cidade_Id ); CREATE INDEX XIF185Intinerario ON Intinerario ( Bairro_Id ); CREATE INDEX XIF183Intinerario ON Intinerario ( UF_Id ); CREATE INDEX XIF184Intinerario ON Intinerario ( Linha_Id ); CREATE INDEX XIF202Intinerario ON Intinerario ( Localidade_Id ); ALTER TABLE Intinerario ADD ( FOREIGN KEY (UF_Id, Cidade_Id, Bairro_Id, Logradouro_Id, Localidade_Id, Linha_Id) ) ; CREATE TABLE linha ( Linha_Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Pessoa_Id INT NULL, Origem_Id INT NULL, Destino_Id INT NULL, Linha CHAR(5) NOT NULL, Status_Sit INT(1) NOT NULL DEFAULT 1, Status_Com INT(1) NOT NULL DEFAULT 0 ); CREATE UNIQUE INDEX XPKLinha ON Linha ( Linha_Id ); CREATE INDEX XIF172Linha ON Linha ( Pessoa_Id ); CREATE INDEX XIF200Linha ON Linha ( Origem_Id ); CREATE INDEX XIF201Linha ON Linha ( Destino_Id ); ALTER TABLE linha ADD ( FOREIGN KEY (Origem_Id) REFERENCES localidade ) ; ALTER TABLE linha ADD ( FOREIGN KEY (Destino_Id) REFERENCES localidade ) ; CREATE TABLE localidade ( Localidade_Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Bairro_Id INT NULL, Localidade CHAR(40) NOT NULL, Status_Sit INT(1) NOT NULL DEFAULT 1, Status_Com INT(1) NOT NULL DEFAULT 0 ); CREATE UNIQUE INDEX XPKLocalidade ON Localidade ( Localidade_Id ); CREATE INDEX XIF186Localidade ON Localidade ( Bairro_Id ); CREATE TABLE logradouro ( Logradouro_Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Logradouro CHAR(70) NOT NULL, Status_Sit INT(1) NOT NULL DEFAULT 1, Status_Com INT(1) NOT NULL DEFAULT 0 ); CREATE UNIQUE INDEX XPKLogradouro ON Logradouro ( Logradouro_Id ); CREATE TABLE midia ( Midia_Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Midia CHAR(20) NOT NULL, Descricao CHAR(80) NULL, Status_Sit INT(1) NOT NULL DEFAULT 1, Status_Com INT(1) NOT NULL DEFAULT 0 ); CREATE UNIQUE INDEX XPKMidia ON Midia ( Midia_Id ); CREATE TABLE pessoa ( Pessoa_Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Nome VARCHAR(70) NOT NULL, Tipo INT NOT NULL, Status_Sit INT(1) NOT NULL DEFAULT 1, Status_Com INT(1) NOT NULL DEFAULT 0 ); CREATE UNIQUE INDEX XPKPessoa ON Pessoa ( Pessoa_Id ); CREATE TABLE uf ( UF_Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, UF CHAR(2) NOT NULL, Estado CHAR(40) NOT NULL, Status_Sit INT(1) NOT NULL DEFAULT 1, Status_Com INT(1) NOT NULL DEFAULT 0 ); CREATE UNIQUE INDEX XPKUF ON UF ( UF_Id ); ALTER TABLE intinerario ADD ( FOREIGN KEY (Localidade_Id) REFERENCES Localidade ) ; ALTER TABLE intinerario ADD ( FOREIGN KEY (Linha_Id) REFERENCES Linha ) ; ALTER TABLE intinerario ADD ( FOREIGN KEY (UF_Id) REFERENCES UF ) ; ALTER TABLE intinerario ADD ( FOREIGN KEY (Cidade_Id) REFERENCES Cidade ) ; ALTER TABLE intinerario ADD ( FOREIGN KEY (Logradouro_Id) REFERENCES Logradouro ) ; ALTER TABLE linha ADD ( FOREIGN KEY (Localidade_Id) REFERENCES Localidade ) ; ALTER TABLE linha ADD ( FOREIGN KEY (Pessoa_Id) REFERENCES Pessoa ) ; ALTER TABLE localidade ADD ( FOREIGN KEY (Bairro_Id) REFERENCES Bairro ) ; CREATE TABLE propaganda ( Propaganda_Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Midia_Id INT NOT NULL, Pessoa_Id INT NOT NULL, Linha_Id INT NULL, Logradouro_Id INT NULL, Localidade_Id INT NULL, Bairro_Id INT NULL, Cidade_Id INT NULL, Uf_Id INT NOT NULL, Status_Sit INT(1) NOT NULL DEFAULT 1, Status_Com INT(1) NOT NULL DEFAULT 0 ); CREATE INDEX XIF203Propaganda ON propaganda ( Midia_Id ); CREATE INDEX XIF204Propaganda ON propaganda ( Pessoa_Id ); ALTER TABLE propaganda ADD ( FOREIGN KEY (Midia_Id) REFERENCES midia); ALTER TABLE propaganda ADD ( FOREIGN KEY (Pessoa_Id) REFERENCES pessoa ); insert into midia (Midia, Descricao) values ( 'Outdoor', 'Mídia exterior de grande formato impressa em papel' ); insert into midia (Midia, Descricao) values ( 'Busdoor', 'Mídia exterior impressa em adesivo e fixada em laterais e traseiras de ônibus' ); insert into midia (Midia, Descricao) values ( 'Frontlight', 'Mídia impressa em lona com iluminação frontal' ); insert into midia (Midia, Descricao) values ( 'Empena', 'Mídia impressa em lona com iluminação frontal fixadas em laterais de edifícios' ); insert into cidade (cidade) values ( 'Niterói' ); insert into cidade (cidade) values ( 'São Gonçalo' ); insert into cidade (cidade) values ( 'Rio de Janeiro' ); insert into cidade (cidade) values ( 'Maricá' ); insert into cidade (cidade) values ( 'Itaboraí' ); insert into cidade (cidade) values ( 'Rio Bonito' ); insert into cidade (cidade) values ( 'Búzios' ); insert into cidade (cidade) values ( 'Saquarema' ); insert into cidade (cidade) values ( 'Araruama' ); insert into cidade (cidade) values ( 'São Pedro da Aldeia' ); insert into cidade (cidade) values ( 'Iguaba' ); insert into cidade (cidade) values ( 'Cabo Frio' ); insert into cidade (cidade) values ( 'Casimiro de Abreu' ); insert into cidade (cidade) values ( 'Rio das Ostras' ); insert into cidade (cidade) values ( 'Arraial do Cabo' ); insert into cidade (cidade) values ( 'Nova Iguaçú' ); insert into cidade (cidade) values ( 'Duque de Caxias' ); insert into cidade (cidade) values ( 'Magé' ); insert into bairro (bairro) values ( 'Centro' ); insert into bairro (bairro) values ( 'Icaraí' ); insert into bairro (bairro) values ( 'Alcantara' ); insert into bairro (bairro) values ( 'Mutuá' ); insert into bairro (bairro) values ( 'Vázea das Moças' ); insert into bairro (bairro) values ( 'Fonseca' ); insert into bairro (bairro) values ( 'Brasilândia' ); insert into bairro (bairro) values ( 'Ingá' ); insert into bairro (bairro) values ( 'São Francisco' ); insert into bairro (bairro) values ( 'Pendotiba' ); insert into bairro (bairro) values ( 'Ponta da Areia' ); insert into bairro (bairro) values ( 'Charitas' ); insert into bairro (bairro) values ( 'São Domingos' ); insert into bairro (bairro) values ( 'Venda da Cruz' ); insert into bairro (bairro) values ( 'Barreto' ); insert into bairro (bairro) values ( 'Itaipú' ); insert into bairro (bairro) values ( 'Piratininga' ); insert into bairro (bairro) values ( 'Itaquatiara' ); insert into bairro (bairro) values ( 'Baldeador' ); insert into bairro (bairro) values ( 'Engenhoca' ); insert into bairro (bairro) values ( 'Caramujo' ); insert into bairro (bairro) values ( 'Sacramento' ); insert into bairro (bairro) values ( 'Maria Paula' ); insert into bairro (bairro) values ( 'Zé Garoto' ); insert into bairro (bairro) values ( 'Boassú' ); insert into bairro (bairro) values ( 'Trindade' ); insert into bairro (bairro) values ( 'Nova Cidade' ); insert into bairro (bairro) values ( 'Tribobó' ); insert into bairro (bairro) values ( 'Santa Luzia' ); insert into bairro (bairro) values ( 'Apolo III' ); insert into bairro (bairro) values ( 'Mutuapira' ); insert into bairro (bairro) values ( 'Itaúna' ); insert into bairro (bairro) values ( 'Salgueiro' ); insert into bairro (bairro) values ( 'Rocha' ); insert into bairro (bairro) values ( 'Coelho' ); insert into bairro (bairro) values ( 'Jardim Alcantara' ); insert into bairro (bairro) values ( 'Jardim Catarina' ); insert into bairro (bairro) values ( 'Santa Catarina' ); insert into bairro (bairro) values ( 'Marambaia' ); insert into bairro (bairro) values ( 'Porto da Pedra' ); insert into bairro (bairro) values ( 'Barro Vermelho' ); insert into bairro (bairro) values ( 'Mangueira' ); insert into bairro (bairro) values ( 'Parada 40' ); insert into bairro (bairro) values ( 'Camarão' ); insert into bairro (bairro) values ( 'Porto Novo' ); insert into bairro (bairro) values ( 'Porto Velho' ); insert into bairro (bairro) values ( 'Portão do Rosa' ); insert into bairro (bairro) values ( 'Paraíso' ); insert into bairro (bairro) values ( 'Ponte Seca' ); insert into bairro (bairro) values ( 'Monjolos' ); insert into bairro (bairro) values ( 'São José' ); insert into bairro (bairro) values ( 'São Pedro' ); insert into bairro (bairro) values ( 'Boa Vista' ); insert into bairro (bairro) values ( 'Gradim' ); insert into bairro (bairro) values ( 'Neves' ); insert into bairro (bairro) values ( 'Colubandê' ); insert into bairro (bairro) values ( 'Luiz Caçador' ); insert into bairro (bairro) values ( 'Palmeiras' ); insert into bairro (bairro) values ( 'Galo Branco' ); insert into bairro (bairro) values ( 'Cova da Onça' ); insert into bairro (bairro) values ( 'Rio do Ouro' ); insert into bairro (bairro) values ( 'Fazenda dos Mineiros' ); insert into bairro (bairro) values ( 'Praia da Luz' ); insert into bairro (bairro) values ( 'Itaóca' ); insert into bairro (bairro) values ( 'Porto da Madama' ); insert into bairro (bairro) values ( 'Pontal' ); insert into bairro (bairro) values ( 'Jockey' ); insert into bairro (bairro) values ( 'Santa Izabel' ); insert into bairro (bairro) values ( 'Lagoinha' ); insert into bairro (bairro) values ( 'Calaboca' ); insert into bairro (bairro) values ( 'Mundel' ); insert into bairro (bairro) values ( 'Bairro Rosane' ); insert into bairro (bairro) values ( 'Amendoeira' ); insert into bairro (bairro) values ( 'Ilha da Conceição' ); insert into bairro (bairro) values ( 'Santa Rosa' ); insert into bairro (bairro) values ( 'Gragoatá' ); insert into bairro (bairro) values ( 'Sapê' ); insert into bairro (bairro) values ( 'Sete Pontes' ); insert into bairro (bairro) values ( 'Inoã' ); insert into bairro (bairro) values ( 'Mutondo' ); insert into bairro (bairro) values ( 'Vila Lara' ); insert into bairro (bairro) values ( 'Antonina' ); insert into bairro (bairro) values ( 'Estrela do Norte' ); insert into bairro (bairro) values ( 'Almerinda' ); insert into bairro (bairro) values ( 'Jardim Nova República' ); insert into bairro (bairro) values ( 'Arsenal' ); insert into bairro (bairro) values ( 'Arrastão' ); insert into bairro (bairro) values ( 'Anaia Pequeno' ); insert into bairro (bairro) values ( 'Jardim Amendoeira' ); insert into bairro (bairro) values ( 'Vila Candoza' ); insert into bairro (bairro) values ( 'Anaia Grande' ); insert into bairro (bairro) values ( 'Ibiíba' ); insert into bairro (bairro) values ( 'Engenho do Roçado' ); insert into bairro (bairro) values ( 'Eliane' ); insert into bairro (bairro) values ( 'Ieda' ); insert into bairro (bairro) values ( 'Raul Veiga' ); insert into bairro (bairro) values ( 'Vila 3' ); insert into bairro (bairro) values ( 'Laranjal' ); insert into bairro (bairro) values ( 'Bom Retiro' ); insert into bairro (bairro) values ( 'Gebara' ); insert into bairro (bairro) values ( 'Miriambí' ); insert into bairro (bairro) values ( 'Tiradentes' ); insert into bairro (bairro) values ( 'Pacheco' ); insert into bairro (bairro) values ( 'Barracão' ); insert into bairro (bairro) values ( 'Guaraní' ); insert into bairro (bairro) values ( 'Largo da Idéia' ); insert into bairro (bairro) values ( 'Vila Laje' ); insert into bairro (bairro) values ( 'Patronato' ); insert into bairro (bairro) values ( 'Venda da Cruz' ); insert into bairro (bairro) values ( 'Covanca' ); insert into bairro (bairro) values ( 'Zumbi' ); insert into bairro (bairro) values ( 'Pita' ); insert into bairro (bairro) values ( 'Engenho Pequeno' ); insert into bairro (bairro) values ( 'Novo Mexico' ); insert into bairro (bairro) values ( 'Morro do Castro' ); insert into bairro (bairro) values ( 'Tenente Jardim' ); insert into bairro (bairro) values ( 'Lindo Parque' ); insert into bairro (bairro) values ( 'Mutuaguaçú' ); insert into bairro (bairro) values ( 'Recanto das Acácias' ); insert into bairro (bairro) values ( 'São Miguel' ); insert into bairro (bairro) values ( 'Cafubá' ); insert into bairro (bairro) values ( 'Boa Viajem' ); insert into bairro (bairro) values ( 'Pé Pequeno' ); insert into bairro (bairro) values ( 'Sumidouro' ); insert into localidade (bairro_id, localidade) values ( 1, 'Plaza' ); insert into localidade (bairro_id, localidade) values ( 1, 'Terminal' ); insert into localidade (bairro_id, localidade) values ( 1, 'Rodoviária' ); insert into localidade (bairro_id, localidade) values ( 1, 'Praça XV' ); insert into localidade (bairro_id, localidade) values ( 1, 'Alameda' ); insert into localidade (bairro_id, localidade) values ( 1, 'Castelo' ); insert into localidade (bairro_id, localidade) values ( 1, 'Rodo' ); ); insert into pessoa (tipo,nome) values ( 1, 'VIAÇÃO ARAÇATUBA LTDA' ); insert into pessoa (tipo,nome) values ( 1, 'EXPRESSO BARRETO LTDA' ); insert into pessoa (tipo,nome) values ( 1, 'AUTO ÔNIBUS BRASILIA LTDA' ); insert into pessoa (tipo,nome) values ( 1, 'VIAÇÃO FORTALEZA LTDA' ); insert into pessoa (tipo,nome) values ( 1, 'AUTO LOTAÇÃO INGÁ LTDA' ); insert into pessoa (tipo,nome) values ( 1, 'EXPRESSO MIRAMAR LTDA' ); insert into pessoa (tipo,nome) values ( 1, 'TRANSPORTE PEIXOTO LTDA' ); insert into pessoa (tipo,nome) values ( 1, 'VIAÇÃO PENDOTIBA S/A' ); insert into pessoa (tipo,nome) values ( 1, 'SANTO ANTÔNIO TRANSPORTES LTDA' ); insert into pessoa (tipo,nome) values ( 1, 'VIAÇÃO MAUÁ LTDA' ); insert into pessoa (tipo,nome) values ( 1, 'VIAÇÃO RIO ITA LTDA' ); insert into pessoa (tipo,nome) values ( 1, 'VIAÇÃO ABC LTDA' ); insert into pessoa (tipo,nome) values ( 1, 'VIAÇÃO ESTRELA LTDA' ); insert into pessoa (tipo,nome) values ( 2, 'ELIEL VIEIRA' ); insert into uf (uf,estado) values ( 'RJ', 'Rio de Janeiro' ); insert into uf (uf,estado) values ( 'ES', 'Espírito Santo' ); insert into uf (uf,estado) values ( 'MG', 'Minas Gerais' ); insert into uf (uf,estado) values ( 'SP', 'São Paulo' ); insert into uf (uf,estado) values ( 'SC', 'Santa Catarina' ); insert into uf (uf,estado) values ( 'PR', 'Paraná' ); insert into uf (uf,estado) values ( 'RS', 'Rio Grande do Sul' ); insert into uf (uf,estado) values ( 'GO', 'Goiás' ); insert into uf (uf,estado) values ( 'MS', 'Mato Grosso do Sul' ); insert into uf (uf,estado) values ( 'MT', 'Mato Grosso' ); insert into uf (uf,estado) values ( 'TO', 'Tocantins' ); insert into uf (uf,estado) values ( 'AM', 'Amazonas' ); insert into uf (uf,estado) values ( 'AC', 'Acre' ); insert into uf (uf,estado) values ( 'RO', 'Rondônia' ); insert into uf (uf,estado) values ( 'RR', 'Roraima' ); insert into uf (uf,estado) values ( 'AP', 'Amapá' ); insert into uf (uf,estado) values ( 'PA', 'Pará' ); insert into uf (uf,estado) values ( 'DF', 'Distrito Federal' ); insert into uf (uf,estado) values ( 'BA', 'Bahia' ); insert into uf (uf,estado) values ( 'PB', 'Paraíba' ); insert into uf (uf,estado) values ( 'PE', 'Pernambuco' ); insert into uf (uf,estado) values ( 'PI', 'Piauí' ); insert into uf (uf,estado) values ( 'SE', 'Sergipe' ); insert into uf (uf,estado) values ( 'AL', 'Alagoas' ); insert into uf (uf,estado) values ( 'RN', 'Rio Grande do Norte' ); insert into uf (uf,estado) values ( 'CE', 'Ceará' ); insert into uf (uf,estado) values ( 'MA', 'Maranhão' ); insert into uf (uf,estado) values ( 'FN', 'Fernando de Noronha' ); insert into logradouro (logradouro) values ( 'Av. Beira Mar' ); insert into logradouro (logradouro) values ( 'Rua Dr. March' ); insert into logradouro (logradouro) values ( 'Av. Rio Branco' ); insert into logradouro (logradouro) values ( 'Av. Central' ); insert into logradouro (logradouro) values ( 'Av. Feliciano Sodré' ); insert into logradouro (logradouro) values ( 'Rua Visconde de Rio Branco' ); insert into logradouro (logradouro) values ( 'Rua Jansen de Mello' ); insert into logradouro (logradouro) values ( 'Alameda São Boa Ventura' ); insert into logradouro (logradouro) values ( 'Rodovia Amaral Peixoto' ); insert into logradouro (logradouro) values ( 'Ponte Rio-Niterói' ); insert into logradouro (logradouro) values ( 'Av. Presidente Kennedy' ); insert into logradouro (logradouro) values ( 'Av. 18 do Forte' ); insert into logradouro (logradouro) values ( 'Rua Alfredo Back' ); /*intinerarios por bairro ou localidade*/ select i.*, l.localidade from intinerario i, localidade l where i.localidade_id in (3) and i.localidade_Id = l.localidade_Id /*intinerarios por logradouro*/ select i.*, l.logradouro from intinerario i, logradouro l where i.logradouro_id in (5) and i.logradouro_Id = l.logradouro_Id /*intinerarios por cidade*/ select i.*, c.cidade from intinerario i, cidade c where i.cidade_id in (2) and i.cidade_Id = c.cidade_Id /*intinerarios por uf*/ select i.*, u.estado from intinerario i, uf u where i.uf_id in (1) and i.uf_id = u.uf_id /*intinerarios por linha*/ select i.*, l.linha from intinerario i, linha l where i.linha_id in (4) and i.linha_id = l.linha_id /*intinerarios por empresa*/ select i.*, p.nome from intinerario i, linha l, pessoa p where l.pessoa_id in (4) and i.linha_id = l.linha_id and l.pessoa_id = p.pessoa_id /*midia por linha*/ select m.midia, l.linha from propaganda p, midia m, linha l where p.linha_id in (3) and p.midia_id = m.midia_id and p.linha_id = l.linha_id /*linha por midia*/ select m.midia, l.linha from propaganda p, midia m, linha l where p.midia_id in (3) and p.midia_id = m.midia_id and p.linha_id = l.linha_id /*midia, nome da linha, da empresa e do contratante por midia*/ select m.midia, l.linha, "contratante" as contratante_empresa, pe.nome from propaganda p, midia m, linha l, pessoa pe where p.midia_id in (2) and p.midia_id = m.midia_id and p.linha_id = l.linha_id and p.pessoa_id = pe.pessoa_id union all select m.midia, l.linha, "empresa" as empresa, pe.nome from propaganda p, midia m, linha l, pessoa pe where p.midia_id in (2) and p.midia_id = m.midia_id and p.linha_id = l.linha_id and l.pessoa_id = pe.pessoa_id /*midia, nome da linha, do bairro e cidade por bairro*/ select m.midia, l.linha, lg.logradouro, b.bairro, c.cidade from propaganda p, midia m, linha l, bairro b, cidade c, logradouro lg where p.midia_id in (2) and p.midia_id = m.midia_id and p.linha_id = l.linha_id and p.bairro_id = b.bairro_id and p.cidade_id = c.cidade_id and p.logradouro_id = lg.logradouro_id /*midia, nome da rua, do bairro e cidade por midia*/ select m.midia, lg.logradouro, b.bairro, c.cidade from propaganda p, midia m, bairro b, cidade c, logradouro lg where p.midia_id in (1) and p.midia_id = m.midia_id and p.logradouro_id = lg.logradouro_id and p.bairro_id = b.bairro_id and p.cidade_id = c.cidade_id