Buscar

Banco de Dados

Prévia do material em texto

1 
 
FACULDADE INDEPENDENTE DO NORDESTE - FAINOR 
CURSO DE BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO 
 
 
 
 
PEDRO RAFAEL NASCIMENTO PENERA MARQUES 
 
 
 
 
 
 
 
SIMULAÇÃO DO BUSCADOR DE ENDEREÇOS DOS CORREIOS 
DESENVOLVIDO APARTIR DE BD 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
VITÓRIA DA CONQUISTA - BA 
MAIO DE 2018
2 
 
PEDRO RAFAEL NASCIMENTO PENERA MARQUES 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SIMULAÇÃO DO BUSCADOR DE ENDEREÇOS DOS CORREIOS 
DESENVOLVIDO APARTIR DE BD 
 
 
 
 
Trabalho apresentado à disciplina banco 
de dados, com o objetivo de obtenção 
parcial de nota. 
Orientador: Charles Miranda 
 
 
 
 
 
 
 
 
VITÓRIA DA CONQUISTA – BA 
MAIO DE 2018 
3 
 
SUMÁRIO 
 
1. Introdução .............................................................................................................. 4 
2. Referencial Teórico ................................................................................................. 5 
3. Desenvolvimento.......................................................................................................6 
3.1. Diagrama UML..........................................................................................................6 
3.2. Modelo Físico DDL....................................................................................................6 
3.3. Modelo DML.............................................................................................................8 
3.4. Modelo DQL............................................................................................................11 
4. Conclusão................................................................................................................12 
5. Referencias.............................................................................................................13 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4 
 
1. INTRODUÇÃO 
 
Um banco de dados é uma coleção de dados persistentes, usados pelos sistemas de 
aplicação de uma determinada empresa (ROCHA, 2015). 
 A função dos bancos de dados se da pelo armazenamento de informações, 
consistindo em uma ou várias tabelas, que tem como objetivo organizar e guardar dados 
utilizando SGBD, sendo que o SGBD permite alterações, buscas e exclusões de dados. 
Os relacionamentos são realizados utilizando métodos de chaves estrangeiras como FK 
e PK, que será demostrado no decorrer do trabalho. 
O objetivo desse trabalho é simular a busca de cep do site dos correios, citando 
os passos e métodos utilizados para desenvolvimento no MySQL Command Line. Onde 
ressalva a importância da gestão de informações. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5 
 
2. REFERENCIAL TEÓRICO 
 
A função dos bancos de dados é o armazenamento dos mesmos, ou seja, um 
conjunto de registros consistindo em uma ou várias tabelas, que tem como objetivo 
organizar e guardar dados utilizando SGBD, que facilita a comunicação desses dados no 
sistema. Os SGBD permitem a busca, alteração e exclusão dos dados que consiste nas 
tabelas do banco de dados (ROCHA, 2015). 
De acordo com Navathe (2005), A maioria das aplicações de um banco de dados 
tem certas restrições de integridade que devem complementar os dados. O SGBD deve 
prover funcionalidades para a definição e a garantia dessas restrições. 
Uma das maiores preocupações de qualquer desenvolvedor ou projetista de banco 
de dados é encontrar uma forma de garantir a integridade dos dados que se encontram 
armazenados. Essa preocupação se deve ao fato de que, se houver algum dado crucial 
armazenado de forma incorreta, o resultado pode ser catastrófico, pois o banco de dados 
pode apresentar informações imprecisas ou mesmo totalmente errôneas (FABIO, 2010). 
Segundo Fabio(2010) um Sistema Gerenciador de Banco de Dados Relacional, que 
conjuga as tarefas de armazenamento de forma a possibilitar o relacionamento dos dados 
destas estruturas tabular. Desta forma, além dos aspectos básicos como definir quais 
colunas serão definidas para quais tipos, deve-se observar a análise necessária para 
modelar o relacionamento entre as tabelas existentes. 
A operação Insert fornece uma lista de valores de atributos para uma nova tupla t, 
que é inserida em uma relação R, a operação Delete pode violar apenas a integridade 
referencial se a tupla removida for referida por chaves estrangeiras de outras tuplas no 
banco de dados. Para especificar a remoção, uma condição nos atributos da relação 
seleciona a tupla (ou tuplas) a ser removida, A operação Update (ou Modify) é usada para 
mudar os valores de um ou mais atributos em uma tupla (ou tuplas) de alguma relação R. 
É necessário especificar uma condição nos atributos da relação para selecionar a tupla (ou 
tuplas) a ser modificada (NAVATHE, 2005). 
 
 
 
 
 
 
 
 
 
 
 
 
6 
 
3. DESENVOLVIMENTO 
 
3.1. DIAGRAMA UML 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 01: Diagrama UML 
 
 A figura 01 representa o diagrama UML desenvolvido a partir da ferramenta 
Astah, com intuito de modelar a situação em questão, foram criadas quatro classes e cada 
classe possuem seus respectivos atributos como mostrado acima, facilitando então a 
resolução do problema de busca cep e aprimorando a escrita do código. 
 
3.2. MODELO FÍSICO DDL 
 
 Abaixo será descrito e conceituado o modelo físico DDL, onde foi implementado 
através do MySQL command line, contudo será realizado as instruções: CREATE, 
ALTER e DROP, justificando o uso da linguagem de definição de dados. 
 
create database cep_db; // Criação do banco chamado cep_db 
use cep_db; // Usando o banco 
create table estados(sigla varchar(2) primary key not null, nome varchar(255) not null 
unique) engine=InnoDB default charset=utf8; //Criação da tabela estados 
7 
 
create table cidades(id bigint not null primary key auto_increment, nome varchar(255) 
not null unique, estado_sigla varchar(2) not null)Engine=InnoDB default charset=utf8; 
// Criação da tabela cidades 
alter table cidades add constraint fk_estado_sigla foreign key(estado_sigla) references 
estados(sigla); // Adição da constante foreign key referenciando estados(sigla) 
create table bairros(id bigint not null primary key auto_increment, nome varchar(255) 
unique, cidade_id bigint not null)Engine=InnoDB default charset=utf8; //Criação da 
tabela bairros 
alter table bairros add constraint fk_cidade_id foreign key(cidade_id) references 
cidades(id); // Adição da constante foreign key referenciando cidades(id) 
create table logradouros(id bigint not null primary key auto_increment, nome 
varchar(255) not null, cep varchar(11) not null unique, complemento varchar(255) not 
null, bairro_id bigint not null)Engine=InnoDB default charset=utf8; //Criação da 
tabela logradouros 
alter table logradouros add constraint fk_bairro_id foreign key(bairro_id) references 
bairros(id); // Adição da constante foreign key referenciando bairros(id) 
alter table logradouros drop index nome; // Apagando na tabela logradouros a index not 
null 
 
Conceituação DDL – Data Definition Language 
 
 Resume-se que, com a linguagem de definição de dados são criadas as estruturas, 
ou seja, os objetos para que o otimizador do Banco de Dados use adequadamente o acesso 
a estes objetos(FABIO, 2010). Com a criação dos objetos é possível desenvolver as 
relações existentes entre as tabelas, cria-se assim a integridade referencial dos dados para 
evitar a redundância dos mesmos. 
 Os comandos da linguagem de definição de dados são: create (criação), alter 
(alteração) e drop (exclusão), o código acima exemplifica a relação de uso das mesmas, 
sendo que não foi tratado do comando drop (exclusão), que pode ser aplicado da seguinte 
forma, ex.: imaginemos a necessidade da exclusão da tabela bairros, o comando ficará da 
seguinte forma: DROP TABLE BAIRROS; deste modo a tabela bairros deixará de existir 
no banco. 
 
 
 
 
 
8 
 
3.3. MODELO DML 
 
 Abaixo será descrito e conceituado o modelo DML, onde foi implementado 
através do MySQL command line, contudo será realizado as instruções: SELECT, 
UPDATE, INSERT e DELETE, justificando o uso da linguagem de manipulação de 
dados. Primeiramente será realizado a inserção de dados nas tabelas, sendo assim ficará 
da seguinte forma: 
 
ESTADOS 
 
insert into estados(sigla, nome) values ('BA','Bahia'); 
 
insert into estados(sigla, nome) values ('SP','Sao_Paulo'); 
 
insert into estados(sigla, nome) values ('PI','Piaui'); 
 
insert into estados(sigla, nome) values ('RJ','Rio_de_Janeiro'); 
 
insert into estados(sigla, nome) values ('MG','Minas_Gerais'); 
 
insert into estados(sigla, nome) values ('MT','Mato Grosso'); 
 
 
CIDADES 
 
insert into cidades(nome, estado_sigla) values ('Jequie','BA'); 
 
insert into cidades(nome, estado_sigla) values ('Campinas','SP'); 
 
insert into cidades(nome, estado_sigla) values ('Floriano','PI'); 
 
insert into cidades(nome, estado_sigla) values ('Copacabana','RJ'); 
9 
 
 
insert into cidades(nome, estado_sigla) values ('Varginha','MG'); 
 
insert into cidades(nome, estado_sigla) values ('Sorriso','MT'); 
 
 
BAIRROS 
 
insert into bairros(nome, cidade_id) values ('centro','1'); 
 
insert into bairros(nome, cidade_id) values ('centro','2'); 
 
insert into bairros(nome, cidade_id) values ('centro','3'); 
 
insert into bairros(nome, cidade_id) values ('centro','4'); 
 
insert into bairros(nome, cidade_id) values ('centro','5'); 
 
insert into bairros(nome, cidade_id) values ('centro','6'); 
 
LOGRADOUROS 
 
insert into logradouros(nome, cep, complemento, bairro_id) values ('Rua da 
Independencia','10100-000','prox. a praca central', '1'); 
 
insert into logradouros(nome, cep, complemento, bairro_id) values ('Rua da 
Patria','20100-000','prox. a igreja matriz', '3'); 
 
insert into logradouros(nome, cep, complemento, bairro_id) values ('Rua da 
liberdade','30100-000','prox. a padaria central', '4'); 
 
10 
 
insert into logradouros(nome, cep, complemento, bairro_id) values ('Rua da 
Vitoria','40100-000','prox. a delegacia municipal', '5'); 
 
insert into logradouros(nome, cep, complemento, bairro_id) values ('Rua F','50100-000','', 
'6'); 
 
 Os comandos SELECT forma aplicados da seguinte forma: 
SELECT * FROM logradouros; 
SELECT * FROM bairros; 
SELECT * FROM cidades; 
SELECT * FROM estados; 
 
 Os comandos UPDATE foram realizados da seguinte forma: 
UPDATE bairros SET nome = 'boa_vista', cidade_id = '2'; 
UPDATE bairros SET nome = 'candeias', cidade_id = '3'; 
 
 Os comandos DELETE forma realizados da seguinte forma: 
DELETE FROM bairros where id = 2; 
DELETE FROM estados where id = 2; 
DELETE FROM cidades where id = 2; 
 
Conceituação DML – Data Manipulation Language 
 
 Tem sua expressão em português traduzida para Linguagem de Manipulação de 
Dados, essa linguagem permite que o usuário manipule os dados através de: recuperação, 
inserção, modificação e exclusão de dados que estão descritos no esquema, ou seja, 
estrutura onde os objetos estão armazenados criados pela Linguagem de Definição de 
Dados (NAVATHE, 2005). Os comandos utilizados são: SELECT, INSERT, UPDATE 
e DELETE, onde a aplicação dos mesmos foram justificadas no modelo acima. 
 Os comandos da Linguagem de Manipulação de Dados são fundamentais para a 
manipulação de dados. Ela apresenta inúmeros comandos destinados à manipulação dos 
dados inseridos no contexto criado na Linguagem de Definição de Dados, para consultas, 
inserções, alterações e exclusões. 
 
11 
 
3.4. MODELO DQL 
 Abaixo será descrito e conceituado o modelo DQL, onde foi implementado através 
do MySQL command line, contudo será realizado instruções: SELECT, justificando o 
uso da linguagem de consulta de dados. Será realizado uma consulta por cep, simulando 
o funcionamento do buscador cep do site dos correios, sendo assim ficará da seguinte 
forma: 
 
 
 select l.nome as "Logradouro", b.nome as "Bairro", c.nome as "Cidade", e.sigla as 
"Sigla", l.cep as "CEP", 
 l.complemento as "Complemento" from estados as e 
 left join cidades as c on c.estado_sigla=e.sigla 
 left join bairros as b on b.cidade_id = c.id 
 left join logradouros as l on l.bairro_id = b.id 
 where l.nome like '%40%' or l.cep like '%40100-000%'; 
 
 Onde retornará a seguinte tela no prompt: 
 
 
 
 
 
 
 
 Embora tenha apenas um comando, a DQL é a parte da SQL mais utilizada O 
comando SELECT é composto de várias cláusulas e opções, possibilitando elaborar 
consultas das mais simples às mais elaboradas (PATRICIO, 2010). 
Condições para definir os dados que se deseja selecionar ou modificar em uma consulta: 
• FROM: especifica a tabela que se vai selecionar os registros 
• WHERE: especifica as condições que devem reunir os registros que serão 
selecionados 
• GROUP BY: separa os registros selecionados em grupos específicos 
• HAVING: expressa a condição que deve satisfazer cada grupo 
• ORDER BY: ordena os registros selecionados com uma ordem especifica 
• DISTINCT: seleciona dados sem repetição 
 
12 
 
4. CONCLUSÃO 
 
 Foi concluído com a realização desse trabalho, que o estudo e implementação em 
banco de dados utilizando-se das fermentas e métodos discutidas no decorrer do 
desenvolvimento, onde foram obtidos resultados satisfatórios, empregando a metodologia 
abordada de forma explicativa e contextualizada, afim de demostrar na pratica todos os 
eventos abordados. 
 Como proposta de trabalhos futuros pode-se citar a importância de um estudo mais 
abrangente, buscando aplicar novas variáveis e métodos, afim de aprimorar o 
conhecimento em questão. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13 
 
5. REFERÊNCIAS 
 
Fabio R. F. (2010) Banco de Dados I – Apostila. Disponível em: 
<https://pt.scribd.com/doc/37452635/Banco-de-Dados-I-Apostila>. Acesso em: 
29/04/2018. 
PATRÍCIO, N. S. Introdução a Banco de Dados. Disponível em: < 
http://stoa.usp.br/nathaliapatricio/files/-1/6244/bancoDeDados.pdf>. Acesso em: 
28/04/2018 
ROCHA, J. F.;DIAS, J.W. Importância do Banco de Dados nas Aplicações. Disponível 
em: 
<http://web.unipar.br/~seinpar/2015/_include/artigos/Julio_Fernandes_Rocha.pdf>Aces
so em: 28/04/2018 
R. E lmasri e S. B. Navathe, Sistemas de Banco de Dados. São Paulo: Addison Wesley, 
2005.

Continue navegando

Outros materiais