Baixe o app para aproveitar ainda mais
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.
Compartilhar