Upload
rebecalopes
View
6
Download
2
Embed Size (px)
Citation preview
EBOOK
Banco de Dados João Ferreira
Versão 1, dezembro/2014
ESCOLA TÉCNICA DO BRASIL – ETEBRAS
Diretora-Presidente Maria Antonieta Alves Chiappetta
Diretor Administrativo Financeiro Marco Antônio Rodrigues
Diretor de Educação a Distância George Bento Catunda
Secretária Escolar Maria Patrícia Farias Bastos
Professor Autor
João Ferreira da Silva Júnior
Imagem da Capa http://png-
2.findicons.com/files/icons/728/database/512/database_4_512.png
Manual do Aluno 3
Banco de Dados
APRESENTAÇÃO ..................................................................................................... 4
Capítulo 1 - Conhecer os princípios de banco de dados | Elaborar um modelo de
entidade-relacionamento ...................................................................................... 5
CAPÍTULO 2 - Construir tabelas e dicionário de dados de um banco de dados .. 21
Referências .......................................................................................................... 34
MINICURRÍCULO DO PROFESSOR-PESQUISADOR ............................................... 35
Sumário
4
Ebook ETEBRAS
APRESENTAÇÃO
Caro aluno, tudo bem? Bem-vindo a disciplina de Banco de Dados.
Como já é de conhecimento de vocês, essa é uma disciplina bastante discutida
e utilizada no dia-a-dia dos profissionais de tecnologia, por se tratar do projeto e
implementação da base que armazena os dados dos software e informações
importantes do cotidiano empresarial e social, de forma prática, organizada e eficaz.
Esperamos que você consiga desenvolver o seu aprendizado com o conteúdo
desta disciplina de forma teórica e prática, a fim de obter o conhecimento necessário
para trabalhar com banco de dados.
A disciplina é composta pela modelagem de um projeto do banco de dados e
sua implementação, você irá aprender todos os passos necessários para instalar,
configurar e executar um banco de dados. Então, além de projetar, você vai conseguir
ver na prática como funciona.
Não esqueça que essa disciplina é bastante prática, então é importante que
você siga os exemplos, faça os exercícios de fixação e utilize o material complementar,
links, vídeos, etc, para que consigamos desenvolver juntos a construção do
conhecimento sobre essa disciplina.
Então? Você está pronto para começar a aprender como funciona o famoso
banco de dados?
Vamos lá!
Forte Abraço,
Prof. João Ferreira
Manual do Aluno 5
Banco de Dados
Capítulo 1 - Conhecer os princípios de banco de dados | Elaborar
um modelo de entidade-relacionamento
Para começar, vamos ver algumas breves descrições dos conceitos de banco de
dados para que possamos entender como funciona essa gigantesca estrutura que é
bastante utilizada nos dias de hoje.
1.1 Banco de dados
Bancos de dados são coleções organizadas de dados que se relacionam de
forma a criar algum sentido (Informação) e dar mais eficiência durante uma pesquisa
ou estudo. São de vital importância para empresas, e a duas décadas se tornaram a
principal peça dos sistemas de informação [6]. Normalmente, existem por vários anos
sem alterações em sua estrutura.
Entendemos então que um banco de dados possuí coleções que se relacionam
de alguma forma para que consigamos rapidamente (ou com eficiência) realizar
pesquisas nesses dados, inserir dados nessa coleção ou até excluir e atualizá-los de
forma eficaz [3].
Existe uma distinção entre o que é um banco e dados e o que é um SGBD, o
banco de dados não é obrigado a possuir uma interface amigável, uma navegação
diferenciada, facilitada e que otimize o trabalho do programador ou gerente de
projeto, já o SGBD sim, deve facilitar o trabalho com os bancos de dados.
1.2 Motivação
O fato de simplificar o desenvolvimento de aplicações com relação ao uso de grandes e
intensivos fluxos de dados é um bom motivo para utilizarmos o banco de dados.
Mas vejamos outras vantagens da utilização do banco de dados:
6
Ebook ETEBRAS
Promove serviços que diminuem o tempo de desenvolvimento;
Ferramentas que facilitam a entrada e manipulação dos dados;
Automatiza o armazenamento de dados antes feito com sistema de arquivos
O sistema de arquivos ainda é utilizado, porém requer mais trabalho por parte da
equipe de desenvolvimento e só é utilizado em casos em que as otimizações de banco
de dados não oferecem suporte ou se tornam impróprios para o uso em determinado
software ou plataforma.
A partir do uso do SGBD, as modificações, como inclusão de um novo campo, não
afetam diretamente o programa, pode-se representar conceitualmente através de um
modelo de dados conceitos lógicos dos dados, bloqueio de arquivos do banco e
registro de concorrência, o que facilitou e melhorou o uso do banco de dados.
1.3 Sistemas de Gerenciamento de Banco de Dados
Existem diversos sistemas que podem gerenciar diferentes tipos de banco de
dados, os mais comuns são:
SQLServer: Um dos maiores SGBD do mundo, sob licença da Microsoft, possui
versões pagas e gratuitas.
MySQL: O MySQL é um software livre, com código fonte aberto e uso gratuito
atualmente mantido pela Oracle.
FirebirdSQL: um banco de dados bastante conhecido inclusive por rodar em
sistemas Unix, e tem código fonte aberto.
mSQL: Criado pela Hughes Technologies Pty Ltd., trabalha mais com o uso
eficiente da memória, e é um sistema pequeno. Sua licença é altamente
controlada pela empresa dona do produto.
Microsoft Access: é um SGBD da Microsoft que acompanha o pacote Office. É
muito utilizado para a aprendizagem e tem poucas atribuições profissionais,
devido a sua limitação muito grande em armazenamento.
Manual do Aluno 7
Banco de Dados
Oracle: um dos maiores bancos de dados do mundo, bastante indicado por
profissionais que já trabalhavam com o mesmo, existe em versões gratuitas (com
limite de capacidade de armazenamento) e em versões pagas.
PostgreSQL: Hoje, o PostgreSQL é um dos SGBD de código aberto mais avançados,
contando com recursos como gatilhos, visões e linguagem procedural.
1.4 PHPMYADMIN
O phpMyAdmin é um aplicativo web que foi desenvolvido em PHP para
administração do MySQL pela Internet. Com ele é possível manipular bases de dados,
tabelas, campos chaves, executar códigos SQL, tudo através do navegador. O
phpMyAdmin é muito utilizado por programadores web, pois muitas vezes necessitam
manipular bases de dados sem a necessidade de ter um sistema instalado em sua
máquina. Normalmente, o phpMyAdmin é tratado como uma ferramenta obrigatória
em todas as hospedeiras de site web [5].
Algumas características do phpMyAdmin são:
Interface Web;
Importar dados de CSV e SQL
Exporta dados para vários formatos: CSV, SQL, XML, PDF (através da biblioteca
TCPDF), ISO/IEC 26300 - Abre documentos de texto e planilha, Word, Excel, LaTeX
e outros;
Administra vários servidores;
Cria consultas complexas usando Query-by-example (QBE)
Busca a nível mundial em um banco de dados ou um subconjunto dele;
Ativa consultas de monitor (processos).
1.4.1 Como Instalar o Xampp e acessar o seu phpMyAdmin
8
Ebook ETEBRAS
O XAMPP é o ambiente de desenvolvimento PHP mais popular hoje em dia, é
gratuito e fácil de instalar. O XAMPP já vem com tudo que você precisa para iniciar o
aprendizado sobre banco de dados, pois já possui o Apache, MySQL, PHP e Perl.
Para baixar a última versão do XAMPP basta acessar o link
https://www.apachefriends.org/pt_br/index.html.
Assim, se você desejar instalar o XAMPP verifique qual o seu sistema
operacional, o XAMPP está disponível para Windows, Linux e OS X. A última versão
disponível na confecção deste material é a V1.8.3, com a versão do phpMyAdmin
4.2.7.1 e MySQL 5.6.20.
Após realizar o download, execute o arquivo, você deverá visualizar a seguinte
tela:
Figura 1. Tela inicial de instalação do XAMPP
Fonte: Próprio Autor
Clique em “Next”, você verá uma segunda tela, como essa:
Manual do Aluno 9
Banco de Dados
Figura 2. Tela de seleção de componentes para instalar no XAMPP.
Fonte: Próprio Autor
Nesse momento você vai escolher os componentes que serão instalados
através do XAMPP, deixe todos marcados e clique em “Next”. O próximo passo será
informar o local de armazenamento do XAMPP, é comum em sistemas Windows
deixamos o padrão C:\xampp.
Figura 3. Local de armazenamento do XAMPP.
Fonte: Próprio Autor
Agora, basta avançar e aguardar a instalação.
10
Ebook ETEBRAS
Lembrete: É importante lembrar que a porta 80 precisa estar liberada para o servidor
Apache rodar o phpMyAdmin e o banco de dados MySQL, caso contrário o XAMPP não
conseguirá inicia-lo.
Se precisar de mais detalhes sobre a instalação, pesquise na internet, existem
muitos materiais disponíveis ensinando como instalar e configurar o XAMPP, não
iremos nos aprofundar nesse assunto pois não é o nosso objetivo, mas a instalação
será apresentada em nossa vídeo-aula.
1.5 Modelos de dados
Para que possamos entender o que são modelos de dados, é necessário
entender o conceito de modelagem: Modelar significa criar um modelo que explique
as características ou comportamento de um software, a partir do qual poderá ser
analisado em fase de projeto, execução e manutenção por uma equipe de
especialistas.
Geralmente os modelos são conceituais, físicos e lógicos, para banco de dados
temos também essa perspectiva:
Modelagem Conceitual: usada como representação de alto nível e considera
exclusivamente o ponto de vista do usuário criador dos dados;
Modelagem Lógica: agrega mais detalhes de implementação.
Modelagem Física: demonstra como os dados são fisicamente armazenados.
Um exemplo de modelagem física seria:
CREATE TABLE Cliente (
NOME Texto(1),
IDADE Texto(1),
)
ATENÇÃO: Não execute o phpMyAdmin com o Skype
aberto, geralmente eles usam a mesma porta, o que gera
problemas para inicializar o phpMyAdmin.
Manual do Aluno 11
Banco de Dados
VISÃO DOS DADOS
Uma das missões de um SGBD é facilitar o trabalho do usuário, fazendo com
que eles usem apenas o que necessitam, escondendo detalhes desnecessários de
visualização. Isso é chamado de visão de dados.
Um exemplo pode ser o de um aluno em uma faculdade, que deseja verificar
quais suas notas em uma determinada disciplina, obviamente não faz sentido o
sistema te disponibilizar as notas de todos os alunos do curso. A visão que você deseja
ter dos dados restringe-se apenas às suas notas, entendeu?
Existem diversos níveis de visão de dados, como por exemplo se você é
gerente ou administrador do sistema de uma empresa, então você tem um nível de
visão de dados diferente de um usuário que é vendedor. São inúmeras possibilidades
que podemos imaginar para os níveis de visão de dados e isso depende da aplicação a
qual você está reportando.
Agora, já temos o conhecimento que os dados são armazenados e são
necessários níveis de visão para que os mesmos possam ser visualizados e isso vai de
acordo com cada sistema e necessidade. Mas antes disso tudo, precisamos que os
dados estejam armazenados, para isso vamos conhecer um modelo que auxiliará a
gerenciar como esses dados serão armazenados, o modelo relacional.
1.5.3 Modelo Relacional
É um modelo de dados utilizado pelos Sistemas Gerenciadores de Banco de
Dados (SGBD) mais convencionais. Por definição, o modelo baseia-se em dois
conceitos: conceito de entidade e relação. Uma entidade é um elemento caracterizado
pelos dados que são atribuídos na sua identificação, é comum na área de banco de
dados chamar essa entidade de tabela.
Esse modelo permite ao projetista criar um modelo lógico consistente da
informação a ser armazenada, que por sua vez pode ser refinado através de um
processo de normalização.
12
Ebook ETEBRAS
O princípio básico do modelo relacional é o princípio da informação: toda
informação é representada por valores em relações. Um valor pode estar relacionado
com outros valores dependentes dele e vice-versa, através dos relacionamentos.
Um modelo de banco de dados relacional possui relações, essas relações
fazem a ligação entre duas ou mais tabelas de forma lógica. Imagine que você está
construindo um sistema para uma academia, se você tiver uma tabela de treinamento
no banco de dados e outra com o cadastro de professores da academia, será
necessário relacionar o treinamento com os professores. Então existe uma relação
entre o treinamento e os professores da academia, essa relação é denominada de
exercício.
Por exemplo, podemos criar um modelo de um banco de dados de clientes,
como a tabela exibida no exemplo da Figura 4.
Figura 4. Exemplo de tabela de banco de dados modelo relacional.
Fonte: Wikipédia http://pt.wikipedia.org/wiki/Modelo_relacional
1.5.4 Chave Primária
Percebam que existe um campo chamado de ID Cliente e outro campo
apelidado de ID Taxa, isso significa que o cliente João Carlos (primeira linha) possui um
código 1234567890, este código é chamado de Chave Primária, ou seja, ele é único e
nunca será permitido repetir este código, campos chave primária não permitem haver
repetição de dados idênticos, assim como o seu CPF, o banco está garantindo que
aquele registro será único.
Manual do Aluno 13
Banco de Dados
Dessa forma, já eliminamos a responsabilidade do programador se preocupar
em testa ser o cliente existe ou não, pois o banco de dados já irá fazer isso, por
exemplo, se o campo que possui o ID Cliente fosse o seu CPF, ao tentar inserir o seu
cadastro novamente no banco de dados, o SGBD iria retornar um erro de chave
primária duplicada e a inserção não seria possível, logo, seu cadastro não seria
duplicado no banco de dados.
Além disso, as chaves primárias podem ser atribuídas a uma função de auto
incremento, ou seja, o próprio SGBD cria uma chave arbitrária e aleatória para o
campo, e isso geralmente é o que utilizamos no dia-a-dia.
Mas, até agora não vimos o porquê de criarmos um campo ID Cliente, ID é a
abreviação para Identify ou Identificar em português, é como se aquele registro
possuísse uma identidade única, ou seja, eu posso relacionar esse campo em uma
venda e ter acesso a todos os dados do cliente através dessa chave sem precisar
repetir os dados do cliente na venda, conforme Figura 5.
Figura 5. Exemplo de dados de uma venda em uma tabela de banco de dados.
Fonte: Próprio Autor
No exemplo da Figura 5, há uma redundância de dados, ou seja, estamos
duplicando informações desnecessariamente, pois poderíamos através dos
relacionamentos de banco de dados criar uma relação entre o ID Cliente da tabela de
clientes e colocá-lo na tabela de vendas, assim, ficaria fácil identificar o cliente daquela
venda e não estaríamos repetindo informações desnecessariamente.
Figura 6. Exemplo de dados de uma venda utilizando o ID Cliente. Fonte: Próprio Autor
14
Ebook ETEBRAS
Desta forma, apresentada na Figura 6, o ID Cliente, esta relacionado com a
tabela da Figura 4, então teremos acesso aos dados de João Carlos, endereço, e
quantos outros dados estiverem disponíveis na tabela de clientes.
Outro exemplo que temos que pode utilizar o identificador (ID) é da nossa
academia, imagine que um aluno possa estar matriculado tanto no curso de judô como
no de karatê, a nossa tabela de matrículas conteria o ID ALUNO e o ID ARTE_MACIAL
que ele estaria vinculado, assim apenas com dois campos conseguiríamos recuperar o
membro da academia e qual ou quais artes marciais ele estaria vinculado.
1.5.4 Modelo Orientado a Objetos
Um modelo de dados orientado a objetos (MDOO) é bastante utilizado no nível
lógico, por possuir características antes não encontradas nos modelos tradicionais, o
importante de uma modelagem orientada a objetos são os tratamentos de objetos
complexos como textos, gráficos, imagens, programas e até simulações [1].
Além disso, o MDOO é mais adequado às linguagens de programação que tem
forte tendência atual em seguir este modelo.
1.6 Projeto de Banco de Dados
Um Projeto de banco de dados é dividido em duas fases principais [2]:
o Modelagem conceitual: Para esta modelagem precisaremos de uma
ferramenta para criar um modelo entidade-relacionamento, este modelo
possui as principais características e requisito de armazenamento de
dados, de forma independente de qual banco será implementado.
o Projeto Lógico: Para esta etapa será necessário transformar o modelo
conceitual da primeira etapa em um modelo lógico, aí sim definiremos
qual SGBD será implementado.
Manual do Aluno 15
Banco de Dados
1.6.1 Levantamento e Análise de Requisitos
Uma terceira fase também muito importante em um projeto de banco de
dados, é o levantamento de requisitos. Essa, é uma área da engenharia de software
que levanta meios para captar requisitos do cliente e conseguir concluir o projeto de
software no menor tempo possível, com menor custo e maior qualidade.
Assim, para um projeto de banco de dados também é aconselhável utilizar um
levantamento de requisitos bem estruturado e documentado para que se possa
conseguir êxito na gerência do seu projeto de banco de dados.
1.8 Modelo Entidade-Relacionamento
Uma das técnicas mais utilizadas na modelagem conceitual é a entidade-
relacionamento (ER) ou chamado de modelo ER. As características de um modelo ER
são: entidade, relacionamento, atributo, generalização, associação dentre outras.
Porém, para começarmos a modelar nossa ER é necessário entendermos que
uma entidade é um conjunto de objetos da realidade, que pode ser modelado para
que possamos obter informações de um banco de dados, todas as suas características
podem ser armazenadas no banco de dados.
Geralmente, nos modelos convencionais uma entidade pode ser representada
por um retângulo contendo o nome da entidade, conforme figura 7.
Figura 7. Exemplo de uma entidade Automóvel e uma entidade Pessoa
Fonte: Próprio Autor
PESQUISA: Você poderá encontrar mais conteúdo sobre
levantamento de requisitos nesse link.
16
Ebook ETEBRAS
Assim, nas entidades “Automóvel” e “Pessoa”, temos dois conjuntos de
objetos e desejamos guardar informações dele.
1.8.1 Relacionamento
Continuando com nosso MER, além de especificarmos quais objetos desejamos
manter informações armazenadas no banco de dados, precisamos agora permitir que
as propriedades desses projetos sejam armazenadas também. E uma dessas
propriedades pode ser a associação que há entre esses objetos.
Como exemplo, podemos imaginar que queremos saber qual automóvel é de
qual pessoa, e isso só será possível através de um relacionamento entre essas
entidades, no MER esse relacionamento é representado por um losango.
Figura 8. Relação de posse entre duas entidades. Fonte: Próprio Autor
Conforme ilustrado na Figura 8, há uma relação entre a entidade automóvel e
a entidade pessoal, essa relação é de posse. Por isso, dizemos que há um
relacionamento entre o automóvel e a pessoa.
Porém, agora precisamos definir a cardinalidade para essa relação. Uma
cardinalidade nada mais é que uma métrica para o relacionamento entre as entidades
envolvidas na relação que identifica quanto uma entidade pode se relacionar com
outra, e em qual quantidade essa relação pode ocorrer.
AUTOMÓVEL PESSOA POSSE
MULTMÍDIA: Você poderá encontrar mais conteúdo
sobre Modelo de Entidade e Relacionamento nesse link.
Manual do Aluno 17
Banco de Dados
Figura 9. Relação de posse entre duas entidades com cardinalidade.
Fonte: Próprio Autor
Agora, a relação de posse entre o automóvel e a pessoa possui uma
cardinalidade que especifica que várias ocorrências de automóvel podem estar
associadas a uma pessoa, e que uma ocorrência da entidade pessoa pode conter várias
ocorrências de automóvel, trazendo isso para uma linguagem mais simplificada: “uma
pessoa pode possuir vários automóveis”.
Agora que já entendemos como funciona a cardinalidade, vamos ver outros
exemplos que pode nos ajudar a entender melhor como ela funciona. Na Figura 10,
encontramos a cardinalidade n para n, que significa que várias entidades de automóvel
podem se relacionar com várias entidades de pessoa. Então, uma pessoa poderia
possuir vários automóveis, mas o mesmo automóvel poderia ser possuído por várias
pessoas.
Figura 10. Relação de posse entre duas entidades com cardinalidade.
Fonte: Próprio Autor
Percebemos assim, a importância da especificação da cardinalidade, pois com
ela você deixa claro quem pode se relacionar com quem e em que nível esse
relacionamento acontece. Provavelmente, sem a cardinalidade, o desenvolvedor do
AUTOMÓVEL PESSOA POSSE
AUTOMÓVEL PESSOA POSSE
18
Ebook ETEBRAS
banco de dados ficaria em dúvida sobre a questão de quem pode se relacionar com
quem e em que nível essa relação acontece.
1.9 PROJETO
Bom pessoal, como só aprendemos aquilo que praticamos, é chegado o
momento de iniciarmos o projeto de uma academia de artes marciais, vamos lá?
Esse projeto conterá todo um cenário que vai ser analisado a fim de
construirmos nosso banco de dados, isso será colhido na análise de requisitos, mas não
se preocupem, vamos primeiro entender como funciona uma academia de artes
marciais. Fique atento que nem sempre os projetos que você deverá desenvolver
serão relacionados a alguma área de seu agrado ou conhecimento, tá?
Vamos supor que em uma reunião para compreensão do sistema com o
responsável pela academia, você chegou a lista abaixo, que será utilizada para criação
do MER.
A academia é composta por:
Um sócio;
Três funcionários auxiliares de escritório;
Um professor de judô;
Um professor de karatê;
Um professor de jiu-jitsu;
Um nutricionista visitante;
A capacidade de alunos é de cem simultâneos;
Cada membro pode se relacionar com uma arte por período, por exemplo: se o
aluno fizer judô na parte da manhã não pode fazer karatê também na parte da
manhã;
Apenas os funcionários podem matricular o aluno na arte marcial desejada;
Manual do Aluno 19
Banco de Dados
Os professores podem solicitar exame de faixa para os seus alunos diretamente no
sistema;
O agendamento do exame de faixa só será realizado uma vez por semestre, no dia
desejado pelo professor;
O aluno poderá pagar suas aulas mensal, semestral ou anualmente;
O sócio poderá consultar todos os pagamentos e agendamentos de exame.
Então agora vamos a prática, elaborar nosso MER! Acompanhe a demonstração
em nossa vídeo-aula.
Figura 11. Modelo ER de uma academia de artes marciais.
Então, conforme podemos ver na Figura 11, temos um pequeno exemplo de
como poderíamos modelar nosso banco de dados da academia, veja que
tipificamos o funcionário, ele está relacionado ao tipo do funcionário que poderia
ser sócio ou funcionário comum, o aluno também pode estar matriculado em uma
ou mais artes marciais, o professor pode ensinar uma ou mais artes e o professor
pode agendar vários exames para vários alunos.
Na próxima competência iremos implementar esse banco de dados.
20
Ebook ETEBRAS
1.9 Exercícios de fixação
Para que serve um banco de dados?
Quais os tipos de SGBD mais utilizados?
O que é um MER?
Por que precisamos utilizar o banco de dados nos nossos sistemas?
Faça o MER da academia de artes marciais demonstrado pelo Professor na
vídeo-aula.
Elabore um MER para uma locadora de carros.
Manual do Aluno 21
Banco de Dados
CAPÍTULO 2 - Construir tabelas e dicionário de dados de um banco
de dados
Caro aluno, na primeira competência, você viu como funciona um banco de
dados, suas características, aprendeu a instalar o XAMPP que é um pacote que contém
o Apache, MySQL e o PHPMyAdmin, e o mais importante, aprendeu a fazer um MER,
agora chegou a hora de colocarmos tudo em prática, e ver como realmente funciona o
banco de dados.
Em um primeiro momento é necessário que você garanta que o seu XAMPP
esteja executando com os aplicativos instalados e configurados, para isso, o APACHE
(servidor que roda a linguagem PHP, necessário para execução do PHPMyAdmin), e o
MySQL, que é o nosso banco de dados que utilizaremos estejam iniciados “Start”
conforme Figura 10.
22
Ebook ETEBRAS
Figura 10. XAMPP com o servidor Apache ativo e como MySQL rodando.
Fonte: Próprio Autor
Agora você já pode começar a criar o seu primeiro banco de dados, para isso
vamos utilizar o PHPMyAdmin para auxiliar a construção do nosso banco, das tabelas,
consultas e exportação.
Abra o navegador e digite: http://localhost/phpmyadmin. Será exibida a tela
com o PHPMyAdmin, por padrão não há senha para o usuário root, administrador do
banco de dados, então você vai conseguir criar seu banco de dados sem precisar
configurar mais nada.
2.1 Criando um banco de dados
Agora que você já está com o navegador aberto e com o PHPMyAdmin
rodando, clique em banco de dados na parte superior conforme Figura 11.
Manual do Aluno 23
Banco de Dados
Figura 11. PHPMyAdmin, primeiros passos.
Fonte: Próprio Autor
É hora de colocarmos um nome em nosso primeiro Banco, insira o nome:
db_academia, depois clique em “criar” como mostra a Figura 12.
Figura 12. Criando um banco de dados.
Fonte: Próprio Autor
Assim, ao criar o seu banco de dados você poderá acessá-lo do lado esquerdo
da tela, para isso, selecione o banco de dados que você criou: db_academia. A partir
de agora, tudo que fizermos estará vinculado ao banco de dados que criamos. O
próximo passo é construirmos uma tabela de cliente e uma tabela de curso. Essa
criação será demonstrada em nossa vídeo-aula.
2.2 Como criar uma tabela
Agora você já deve estar mais animado, pois já estamos praticamente
concluindo o nosso primeiro banco de dados para podermos manipulá-lo.
24
Ebook ETEBRAS
Mas e agora? Como criamos nossa tabela de cliente e nossa tabela de curso?
Bom, no passo anterior nós tínhamos criado e selecionado nossa base de dados, ou
seja, nosso db_academia. Agora, assim que você selecionar esta base de dados, o
PHPMyAdmin exibirá uma tela sugerindo que você crie uma tabela, basta informar o
nome da tabela e quantas colunas ela possuirá. Então vamos lá!? Para criar a tabela
cliente com cinco colunas, ID_CLIENTE, NOME, ENDERECO, IDADE, SEXO (usando como
base nosso MER desenvolvido na semana anterior), acrescentamos os campos
endereço, idade e sexo, assim para criar a tabela cliente faça como ilustrado na Figura
13 e em seguida clique em “Executar”.
Figura 13. Criando uma tabela.
Fonte: Próprio Autor
Ao término da criação da tabela é hora de preenchemos os nomes das cinco
colunas que acabamos de criar, lembrando sempre de informar qual é o tipo daquele
dado, por exemplo, uma idade sempre vai ser um número inteiro, o nome um varchar
e assim por diante, conforme estudado na disciplina anterior de lógica de
programação, veja um exemplo na Figura 14.
Manual do Aluno 25
Banco de Dados
Figura 14. Criando os campos de uma tabela.
Fonte: Próprio Autor
Agora, basta executar e sua tabela será criada conforme os dados que você
informou. É importante lembrar que nós estamos utilizando o PHPMyAdmin, mas tudo
isso também pode ser criado por linha de comando. Para criar uma tabela via linha de
comando, deve-se ir no botão “SQL” na barra superior do PHPMyAdmin.
Para criar uma outra tabela por linha de comando, você deve copiar o texto
abaixo e colar na parte mencionada logo acima:
CREATE TABLE IF NOT EXISTS `fornecedor` ( `id_fornecedor` int(11) NOT NULL, `nome` varchar(200) NOT NULL, `endereco` varchar(200) NOT NULL, `cnpj` int(15) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Agora, faça o mesmo para a tabela curso, mas utilize os seguintes dados para
as colunas: id_curso, nome, valor, horario. Tenha atenção aos tipos de dados, e em
caso de duvida, veja esta operação em nossa vídeo-aula.
2.3 Inserindo dados em uma tabela
Então, nossas tabelas estão criadas, mas agora eu quero inserir dados nela,
como vou fazer? Como falamos anteriormente, temos duas opções, através do
26
Ebook ETEBRAS
PHPMyAdmin ou manualmente, primeiramente veremos como inserir um cliente na
tabela “cliente”. Para isso, clique na tabela cliente e em seguida no menu superior em
“Inserir”, você verá uma tela como na Figura 15.
Figura 15. Inserindo um registro na tabela do banco de dados.
Fonte: Próprio Autor
Agora você pode indicar quais os valores que serão inseridos preenchendo os
campos e clicando no botão executar. Seu registro será armazenado na tabela
automaticamente, se tudo estiver correto. Para visualizá-lo basta clicar em “Visualizar”
no menu superior.
2.4 Lendo dados de uma tabela
Então, está gostando de trabalhar com banco de dados? Fácil não é? Bom,
após inserir o dado no banco de dados, imagine que você tem um cadastro de 300 mil
clientes cadastrados e você deseja pesquisa ou visualizar os dados dele. Na tela serão
exibidos por padrão apenas 30 linhas de registros de clientes, então precisamos
pesquisar, concorda?
Para fazer isso no PHPMyadmin basta clicar no menu superior em “Procurar”
escolher o campo que você deseja pesquisar e inserir a chave da sua pesquisa. Veja o
exemplo na Figura 16.
Manual do Aluno 27
Banco de Dados
Figura 16. Pesquisando um registro em uma tabela. Fonte: Próprio Autor
Executando a pesquisa da Figura 16, automaticamente teríamos o registro que
desejamos através do filtro realizado, mas também é possível fazer a pesquisa
manualmente e será assim que vocês farão quando estiverem utilizando as linguagens
de programação para acessar a base de dados.
O código para isso é o seguinte:
SELECT * FROM `cliente` WHERE `NOME` LIKE 'JOAO LUCIO'
Veremos o comando SELECT em mais detalhes no final do caderno.
2.5 Atualizando dados
Para atualizarmos um dado no banco de dados é interessante utilizar a forma
manual, pois para alterar algum dado precisamos utilizar uma combinação de pesquisa
28
Ebook ETEBRAS
com a alteração em seguida, uma vez que para alterar algum dado precisamos
primeiro encontra-lo. Então, se você tiver muitos registros em sua tabela, pode utilizar
a opção de pesquisa que já aprendeu, encontrar o registro desejado, em seguida,
selecioná-lo e clicar no ícone “Alterar” como mostra a Figura 17.
Figura 17. Alterando um registro do banco de dados. Fonte: Próprio Autor
Uma outra alternativa é com a utilização do comando SQL, através do menu
superior selecionando a opção “SQL” e digitando o comando UPDATE. No exemplo
abaixo estamos alterando o nome de joao ferreira para kevin diniz.
UPDATE cliente SET NOME=’kevin diniz’ WHERE NOME=’joao ferreira’
Dessa forma, o banco de dados iria procurar todos os registros com o nome
joao ferreira, e trocaria por kevin diniz.
2.6 Apagando dados
Manual do Aluno 29
Banco de Dados
A diferença entre atualizar um dado e apaga-la vai ser que agora você não
precisa especificar o campo que deseja apagar, se você deseja excluir o registro inteiro
pode fazer selecionando o registro após sua pesquisa e clicar em remover como
mostra a Figura 18.
Figura 18. Removendo um registro do banco de dados.
Fonte: Próprio Autor
Por outro lado, podemos também utilizar a forma manual, por
intermédio do comando DELETE.
DELETE FROM cliente WHERE nome = ‘maria’
Dessa forma, apagaríamos todos os registros cujo nome fosse maria. Mas aí
você deve estar se perguntando: Mas professor, e se existir mais de uma maria na base
de dados e eu desejo remover apenas o que mora na RUA DA AURORA? Bom, aí basta
apenas colocar o critério “ENDERECO” após a cláusula WHERE:
DELETE FROM cliente WHERE NOME = ‘maria’ AND ENDERECO=’RUA DA AURORA’
Ou, poderíamos simplesmente excluir através do ID_CLIENTE, colocando o
ID_CLIENTE=’2’, removeríamos a maria que mora na RUA DA AURORA.
2.7 Exportando dados
30
Ebook ETEBRAS
Para exportar um dado, é importante lembrar que você está em uma
hierarquia. Seu banco de dados é distribuído por hierarquia onde o BANCO > TABELA >
REGISTRO > FILTRO DE PESQUISA, assim se nós desejarmos exportar todo o banco
precisamos clicar no nome do banco e em seguida clicar no menu superior em
“Exportar”. Se desejarmos exportar uma tabela, precisamos selecionar a tabela e clicar
no menu superior em “Exportar”. Se desejamos exportar registros de um filtro ou
pesquisa realizada, basta clicar na parte inferior da pesquisa como mostra a Figura 19.
Figura 19. Exportando registros filtrados. Fonte: Próprio Autor
Embora já tenhamos visto anteriormente como fazer uma consulta via linha de
comando, vamos melhorar essas consultas:
Melhorando as Consultas com a Linguagem SQL
Manual do Aluno 31
Banco de Dados
DQL ou Linguagem de Consulta de Dados é o subconjunto da linguagem SQL
composto pelo comando SELECT, ou seja, que podemos acrescentar para refinar ou
melhorar nossas consultas. O comando SELECT é formado de várias cláusulas e
opções, que possibilitam a criação de consultas mais elaboradas, são elas:
Cláusulas: FROM, WHERE, GROUP BY, HAVING, ORDER BY, DISTINCT
Nós utilizamos as cláusulas, para filtrar os dados, organizá-los, ordená-los,
distingui-los de outros, agrupá-los e etc.
Operadores Lógicos: AND, OR, NOT
Os operadores são tipos de filtros que podemos utilizar para diferenciar os
dados resultantes de uma pesquisa por exemplo.
Operadores Relacionais: >, <, <>, <=, >=, =, BETWEEN, LIKE
Os operadores clássicos para usar em conjunto dos operadores lógicos e
refinar a busca ou restringi-la a uma quantidade menor de resultados.
Funções de agregação: AVG, COUNT, SUM, MAX, MIN
As funções já são “pré-programadas” pelo banco de dados para nos dar um
retorno rápido sobre alguns dados, por exemplo, COUNT irá contar a quantidade de
linhas que sua consulta resultaria, já SUM somaria um campo de valor e retornaria a
soma e assim por diante.
2.7 Exercícios de fixação II
32
Ebook ETEBRAS
1) Crie um banco de dados com a tabela CURSO (id_curso, nome, valor, horário)
Onde id_curso é do tipo inteiro e chave primária
Nome é varchar : 100
Valor é real
Horário é varchar : 5
a) Insira 10 registros na tabela, 5 de forma manual e 5 através de comandos SQL;
id_curso nome valor horario
1 joao ferreira 100 10:00
2 kevin diniz 200 16:00
3 elaine brito 200 08:00
4 joao antonio 100 10:00
5 maria odete 400 08:00
6 maicon ferreira 100 10:00
7 mario estima 50 08:00
8 rodolfo santana 500 16:00
9 joao salvador 30 08:00
10 bruno diniz 0 16:00
Todas as demais alternativas dessa questão devem ser feitas por linha de comando,
com a execução de comandos SQL.
b) Consulte todos campos da tabela curso
c) Pesquise todas as pessoas que possuem o nome de joao, veja se a consulta
retornou algum resultado.
o Caso não tenha nenhuma pessoa como nome joao, volte ao texto e
procure pelo comando LIKE % %
d) Atualize todas as pessoas com alguma parte do nome igual a joao para kevin.
e) Visualize o seu banco de dados e exporte-o.
f) Consulte os cursos com o valor acima de 100 reais;
g) Consulte os cursos com valor entre 50 e 100 reais;
h) Consulte o curso gratuito, com valor 0;
i) Atualize o valor do curso gratuito para 50;
j) Consulte apenas o nome dos alunos do horário das 10:00
k) Consulte o nome e o horário do aluno que possui uma parte igual a joao e paga
30 reais.
2) Crie o banco de dados representado pelo MER da locadora de carros.
3) Crie o banco de dados demonstrado na vídeo-aula: academia de artes
marciais.
Manual do Aluno 33
Banco de Dados
34
Ebook ETEBRAS
Referências
[1] ÁVILA, Daiana de. Modelo Orientado a Objetos. Disponível em:
<http://pt.slideshare.net/Daianadevila/modelo-orientado-a-objetos-17418532 >
Acesso em: 15 nov. 2014.
[2] HEUSER, Carlos Alberto. Projeto de Banco de Dados. 4ª edição, UFRGS. 2010.
[3] MATTOSO, Marta. Introdução a Banco de Dados. Disponível em:
<http://www.cos.ufrj.br/~marta/BdRel.pdf> Acesso em: 17 nov. 2014.
[4] PACIEVITCH, Yuri. Banco de Dados. Disponível em:
<http://www.infoescola.com/informatica/banco-de-dados/> Acesso em: 15 nov. 2014.
[5] WIKIPÉDIA – O PHPMYADMIN, Disponível em:
<http://pt.wikipedia.org/wiki/PhpMyAdmin > Acesso em: 19 nov. 2014.
[6] WIKIPÉDIA – O que é um Banco de Dados? Disponível em:
<http://pt.wikipedia.org/wiki/Banco_de_dados> Acesso em: 19 nov. 2014.
Manual do Aluno 35
Banco de Dados
MINICURRÍCULO DO PROFESSOR-PESQUISADOR
João Ferreira é doutorando em ciência da
computação pelo Centro de Informática da
UFPE, onde também obteve o título de mestre
em Redes de Computadores e Sistemas
Distribuídos, além de especialização em
engenharia de software com ênfase em teste
de dispositivos móveis. Possui especialização
em gestão de políticas públicas pela UFRPE e
graduação em ciência da computação pela
UNICAP. Trabalhou com docência no ensino
superior na Faculdade de Integração do Sertão
e na UFRPE, na Unidade Acadêmica de Serra
Talhada. Trabalha com Educação a Distância
em níveis técnico e superior desde 2008, além
de ser Analista de Tecnologia da Informação da
UFRPE desde 2007.