Você está na página 1de 39

EBOOK

Banco de Dados
Joo Ferreira
Verso 1, dezembro/2014

ESCOLA TCNICA DO BRASIL ETEBRAS

Diretora-Presidente
Maria Antonieta Alves Chiappetta

Diretor Administrativo Financeiro


Marco Antnio Rodrigues

Diretor de Educao a Distncia


George Bento Catunda

Secretria Escolar
Maria Patrcia Farias Bastos

Professor Autor
Joo Ferreira da Silva Jnior

Imagem da Capa
http://png2.findicons.com/files/icons/728/database/512/database
_4_512.png

Sumrio
APRESENTAO ..................................................................................................... 4
Captulo 1 - Conhecer os princpios de banco de dados | Elaborar um modelo de
entidade-relacionamento ...................................................................................... 5
CAPTULO 2 - Construir tabelas e dicionrio de dados de um banco de dados .. 21
Referncias .......................................................................................................... 34
MINICURRCULO DO PROFESSOR-PESQUISADOR ............................................... 35

Manual
Aluno
Banco
de do
Dados

APRESENTAO
Caro aluno, tudo bem? Bem-vindo a disciplina de Banco de Dados.
Como j de conhecimento de vocs, essa uma disciplina bastante discutida
e utilizada no dia-a-dia dos profissionais de tecnologia, por se tratar do projeto e
implementao da base que armazena os dados dos software e informaes
importantes do cotidiano empresarial e social, de forma prtica, organizada e eficaz.
Esperamos que voc consiga desenvolver o seu aprendizado com o contedo
desta disciplina de forma terica e prtica, a fim de obter o conhecimento necessrio
para trabalhar com banco de dados.
A disciplina composta pela modelagem de um projeto do banco de dados e
sua implementao, voc ir aprender todos os passos necessrios para instalar,
configurar e executar um banco de dados. Ento, alm de projetar, voc vai conseguir
ver na prtica como funciona.
No esquea que essa disciplina bastante prtica, ento importante que
voc siga os exemplos, faa os exerccios de fixao e utilize o material complementar,
links, vdeos, etc, para que consigamos desenvolver juntos a construo do
conhecimento sobre essa disciplina.
Ento? Voc est pronto para comear a aprender como funciona o famoso
banco de dados?

Vamos l!
Forte Abrao,
Prof. Joo Ferreira

Ebook ETEBRAS

Captulo 1 - Conhecer os princpios de banco de dados | Elaborar


um modelo de entidade-relacionamento
Para comear, vamos ver algumas breves descries 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 so colees organizadas de dados que se relacionam de

forma a criar algum sentido (Informao) e dar mais eficincia durante uma pesquisa
ou estudo. So de vital importncia para empresas, e a duas dcadas se tornaram a
principal pea dos sistemas de informao [6]. Normalmente, existem por vrios anos
sem alteraes em sua estrutura.
Entendemos ento que um banco de dados possu colees que se relacionam
de alguma forma para que consigamos rapidamente (ou com eficincia) realizar
pesquisas nesses dados, inserir dados nessa coleo ou at excluir e atualiz-los de
forma eficaz [3].
Existe uma distino entre o que um banco e dados e o que um SGBD, o
banco de dados no obrigado a possuir uma interface amigvel, uma navegao
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

Motivao

O fato de simplificar o desenvolvimento de aplicaes com relao ao uso de grandes e


intensivos fluxos de dados um bom motivo para utilizarmos o banco de dados.
Mas vejamos outras vantagens da utilizao do banco de dados:

Manual
Aluno
Banco
de do
Dados

Promove servios que diminuem o tempo de desenvolvimento;

Ferramentas que facilitam a entrada e manipulao dos dados;

Automatiza o armazenamento de dados antes feito com sistema de arquivos


O sistema de arquivos ainda utilizado, porm requer mais trabalho por parte da

equipe de desenvolvimento e s utilizado em casos em que as otimizaes de banco


de dados no oferecem suporte ou se tornam imprprios para o uso em determinado
software ou plataforma.
A partir do uso do SGBD, as modificaes, como incluso de um novo campo, no
afetam diretamente o programa, pode-se representar conceitualmente atravs de um
modelo de dados conceitos lgicos dos dados, bloqueio de arquivos do banco e
registro de concorrncia, 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 so:

SQLServer: Um dos maiores SGBD do mundo, sob licena da Microsoft, possui


verses pagas e gratuitas.

MySQL: O MySQL um software livre, com cdigo fonte aberto e uso gratuito
atualmente mantido pela Oracle.

FirebirdSQL: um banco de dados bastante conhecido inclusive por rodar em


sistemas Unix, e tem cdigo fonte aberto.

mSQL:

Criado pela Hughes Technologies Pty Ltd., trabalha mais com o uso

eficiente da memria, e um sistema pequeno. Sua licena 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 atribuies profissionais,
devido a sua limitao muito grande em armazenamento.

Ebook ETEBRAS

Oracle: um dos maiores bancos de dados do mundo, bastante indicado por


profissionais que j trabalhavam com o mesmo, existe em verses gratuitas (com
limite de capacidade de armazenamento) e em verses pagas.

PostgreSQL: Hoje, o PostgreSQL um dos SGBD de cdigo aberto mais avanados,


contando com recursos como gatilhos, vises e linguagem procedural.

1.4

PHPMYADMIN
O phpMyAdmin um aplicativo web que foi desenvolvido em PHP para

administrao do MySQL pela Internet. Com ele possvel manipular bases de dados,
tabelas, campos chaves, executar cdigos SQL, tudo atravs 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
mquina. Normalmente, o phpMyAdmin tratado como uma ferramenta obrigatria
em todas as hospedeiras de site web [5].
Algumas caractersticas do phpMyAdmin so:

Interface Web;

Importar dados de CSV e SQL

Exporta dados para vrios formatos: CSV, SQL, XML, PDF (atravs da biblioteca
TCPDF), ISO/IEC 26300 - Abre documentos de texto e planilha, Word, Excel, LaTeX
e outros;

Administra vrios servidores;

Cria consultas complexas usando Query-by-example (QBE)

Busca a nvel 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

Manual
Aluno
Banco
de do
Dados

O XAMPP o ambiente de desenvolvimento PHP mais popular hoje em dia,


gratuito e fcil 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

ltima

verso

do

XAMPP

basta

acessar

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 disponvel para Windows, Linux e OS X. A ltima verso
disponvel na confeco deste material a V1.8.3, com a verso do phpMyAdmin
4.2.7.1 e MySQL 5.6.20.
Aps realizar o download, execute o arquivo, voc dever visualizar a seguinte
tela:

Figura 1. Tela inicial de instalao do XAMPP


Fonte: Prprio Autor
Clique em Next, voc ver uma segunda tela, como essa:

Ebook ETEBRAS

Figura 2. Tela de seleo de componentes para instalar no XAMPP.


Fonte: Prprio Autor
Nesse momento voc vai escolher os componentes que sero instalados
atravs do XAMPP, deixe todos marcados e clique em Next. O prximo passo ser
informar o local de armazenamento do XAMPP, comum em sistemas Windows
deixamos o padro C:\xampp.

Figura 3. Local de armazenamento do XAMPP.


Fonte: Prprio Autor
Agora, basta avanar e aguardar a instalao.

Manual
Aluno
Banco
de do
Dados

Lembrete: importante lembrar que a porta 80 precisa estar liberada para o servidor
Apache rodar o phpMyAdmin e o banco de dados MySQL, caso contrrio o XAMPP no
conseguir inicia-lo.

ATENO: No execute o phpMyAdmin com o Skype


aberto, geralmente eles usam a mesma porta, o que gera
problemas para inicializar o phpMyAdmin.
Se precisar de mais detalhes sobre a instalao, pesquise na internet, existem
muitos materiais disponveis ensinando como instalar e configurar o XAMPP, no
iremos nos aprofundar nesse assunto pois no o nosso objetivo, mas a instalao
ser apresentada em nossa vdeo-aula.
1.5

Modelos de dados
Para que possamos entender o que so modelos de dados, necessrio

entender o conceito de modelagem: Modelar significa criar um modelo que explique


as caractersticas ou comportamento de um software, a partir do qual poder ser
analisado em fase de projeto, execuo e manuteno por uma equipe de
especialistas.
Geralmente os modelos so conceituais, fsicos e lgicos, para banco de dados
temos tambm essa perspectiva:

Modelagem Conceitual: usada como representao de alto nvel e considera


exclusivamente o ponto de vista do usurio criador dos dados;

Modelagem Lgica: agrega mais detalhes de implementao.

Modelagem Fsica: demonstra como os dados so fisicamente armazenados.


Um exemplo de modelagem fsica seria:

CREATE TABLE Cliente (


NOME Texto(1),
IDADE Texto(1),
)

10

Ebook ETEBRAS

VISO DOS DADOS

Uma das misses de um SGBD facilitar o trabalho do usurio, fazendo com


que eles usem apenas o que necessitam, escondendo detalhes desnecessrios de
visualizao. Isso chamado de viso de dados.
Um exemplo pode ser o de um aluno em uma faculdade, que deseja verificar
quais suas notas em uma determinada disciplina, obviamente no faz sentido o
sistema te disponibilizar as notas de todos os alunos do curso. A viso que voc deseja
ter dos dados restringe-se apenas s suas notas, entendeu?
Existem diversos nveis de viso de dados, como por exemplo se voc
gerente ou administrador do sistema de uma empresa, ento voc tem um nvel de
viso de dados diferente de um usurio que vendedor. So inmeras possibilidades
que podemos imaginar para os nveis de viso de dados e isso depende da aplicao a
qual voc est reportando.
Agora, j temos o conhecimento que os dados so armazenados e so
necessrios nveis de viso 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 sero 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 definio, o modelo baseia-se em dois


conceitos: conceito de entidade e relao. Uma entidade um elemento caracterizado
pelos dados que so atribudos na sua identificao, comum na rea de banco de
dados chamar essa entidade de tabela.
Esse modelo permite ao projetista criar um modelo lgico consistente da
informao a ser armazenada, que por sua vez pode ser refinado atravs de um
processo de normalizao.

Manual
Aluno
Banco
de do
Dados

11

O princpio bsico do modelo relacional o princpio da informao: toda


informao representada por valores em relaes. Um valor pode estar relacionado
com outros valores dependentes dele e vice-versa, atravs dos relacionamentos.
Um modelo de banco de dados relacional possui relaes, essas relaes
fazem a ligao entre duas ou mais tabelas de forma lgica. 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
necessrio relacionar o treinamento com os professores. Ento existe uma relao
entre o treinamento e os professores da academia, essa relao denominada de
exerccio.
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: Wikipdia http://pt.wikipedia.org/wiki/Modelo_relacional

1.5.4 Chave Primria


Percebam que existe um campo chamado de ID Cliente e outro campo
apelidado de ID Taxa, isso significa que o cliente Joo Carlos (primeira linha) possui um
cdigo 1234567890, este cdigo chamado de Chave Primria, ou seja, ele nico e
nunca ser permitido repetir este cdigo, campos chave primria no permitem haver
repetio de dados idnticos, assim como o seu CPF, o banco est garantindo que
aquele registro ser nico.

12

Ebook ETEBRAS

Dessa forma, j eliminamos a responsabilidade do programador se preocupar


em testa ser o cliente existe ou no, 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
primria duplicada e a insero no seria possvel, logo, seu cadastro no seria
duplicado no banco de dados.
Alm disso, as chaves primrias podem ser atribudas a uma funo de auto
incremento, ou seja, o prprio SGBD cria uma chave arbitrria e aleatria para o
campo, e isso geralmente o que utilizamos no dia-a-dia.
Mas, at agora no vimos o porqu de criarmos um campo ID Cliente, ID a
abreviao para Identify ou Identificar em portugus, como se aquele registro
possusse uma identidade nica, ou seja, eu posso relacionar esse campo em uma
venda e ter acesso a todos os dados do cliente atravs 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: Prprio Autor
No exemplo da Figura 5, h uma redundncia de dados, ou seja, estamos
duplicando

informaes

desnecessariamente,

pois

poderamos

atravs

dos

relacionamentos de banco de dados criar uma relao entre o ID Cliente da tabela de


clientes e coloc-lo na tabela de vendas, assim, ficaria fcil identificar o cliente daquela
venda e no estaramos repetindo informaes desnecessariamente.

Figura 6. Exemplo de dados de uma venda utilizando o ID Cliente.


Fonte: Prprio Autor

Manual
Aluno
Banco
de do
Dados

13

Desta forma, apresentada na Figura 6, o ID Cliente, esta relacionado com a


tabela da Figura 4, ento teremos acesso aos dados de Joo Carlos, endereo, e
quantos outros dados estiverem disponveis 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 matrculas conteria o ID ALUNO e o ID ARTE_MACIAL
que ele estaria vinculado, assim apenas com dois campos conseguiramos 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 nvel

lgico, por possuir caractersticas antes no encontradas nos modelos tradicionais, o


importante de uma modelagem orientada a objetos so os tratamentos de objetos
complexos como textos, grficos, imagens, programas e at simulaes [1].
Alm disso, o MDOO mais adequado s linguagens de programao que tem
forte tendncia 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 caractersticas e requisito de armazenamento de
dados, de forma independente de qual banco ser implementado.

Projeto Lgico: Para esta etapa ser necessrio transformar o modelo


conceitual da primeira etapa em um modelo lgico, a sim definiremos
qual SGBD ser implementado.

14

Ebook ETEBRAS

1.6.1

Levantamento e Anlise de Requisitos


Uma terceira fase tambm 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 possvel, com menor custo e maior qualidade.
Assim, para um projeto de banco de dados tambm aconselhvel utilizar um
levantamento de requisitos bem estruturado e documentado para que se possa
conseguir xito na gerncia do seu projeto de banco de dados.

PESQUISA: Voc poder encontrar mais contedo sobre


levantamento de requisitos nesse link.

1.8

Modelo Entidade-Relacionamento

Uma das tcnicas mais utilizadas na modelagem conceitual a entidaderelacionamento (ER) ou chamado de modelo ER. As caractersticas de um modelo ER
so: entidade, relacionamento, atributo, generalizao, associao dentre outras.
Porm, para comearmos a modelar nossa ER necessrio entendermos que
uma entidade um conjunto de objetos da realidade, que pode ser modelado para
que possamos obter informaes de um banco de dados, todas as suas caractersticas
podem ser armazenadas no banco de dados.
Geralmente, nos modelos convencionais uma entidade pode ser representada
por um retngulo contendo o nome da entidade, conforme figura 7.

Figura 7. Exemplo de uma entidade Automvel e uma entidade Pessoa


Fonte: Prprio Autor

Manual
Aluno
Banco
de do
Dados

15

Assim, nas entidades Automvel e Pessoa, temos dois conjuntos de


objetos e desejamos guardar informaes dele.

MULTMDIA: Voc poder encontrar mais contedo


sobre Modelo de Entidade e Relacionamento nesse link.

1.8.1

Relacionamento

Continuando com nosso MER, alm de especificarmos quais objetos desejamos


manter informaes armazenadas no banco de dados, precisamos agora permitir que
as propriedades desses projetos sejam armazenadas tambm. E uma dessas
propriedades pode ser a associao que h entre esses objetos.
Como exemplo, podemos imaginar que queremos saber qual automvel de
qual pessoa, e isso s ser possvel atravs de um relacionamento entre essas
entidades, no MER esse relacionamento representado por um losango.

AUTOMVEL

POSSE

PESSOA

Figura 8. Relao de posse entre duas entidades.


Fonte: Prprio Autor
Conforme ilustrado na Figura 8, h uma relao entre a entidade automvel e
a entidade pessoal, essa relao de posse. Por isso, dizemos que h um
relacionamento entre o automvel e a pessoa.
Porm, agora precisamos definir a cardinalidade para essa relao. Uma
cardinalidade nada mais que uma mtrica para o relacionamento entre as entidades
envolvidas na relao que identifica quanto uma entidade pode se relacionar com
outra, e em qual quantidade essa relao pode ocorrer.

16

Ebook ETEBRAS

AUTOMVEL

POSSE

PESSOA

Figura 9. Relao de posse entre duas entidades com cardinalidade.


Fonte: Prprio Autor

Agora, a relao de posse entre o automvel e a pessoa possui uma


cardinalidade que especifica que vrias ocorrncias de automvel podem estar
associadas a uma pessoa, e que uma ocorrncia da entidade pessoa pode conter vrias
ocorrncias de automvel, trazendo isso para uma linguagem mais simplificada: uma
pessoa pode possuir vrios automveis.
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 vrias entidades de automvel
podem se relacionar com vrias entidades de pessoa. Ento, uma pessoa poderia
possuir vrios automveis, mas o mesmo automvel poderia ser possudo por vrias
pessoas.

AUTOMVEL

POSSE

PESSOA

Figura 10. Relao de posse entre duas entidades com cardinalidade.


Fonte: Prprio Autor

Percebemos assim, a importncia da especificao da cardinalidade, pois com


ela voc deixa claro quem pode se relacionar com quem e em que nvel esse
relacionamento acontece. Provavelmente, sem a cardinalidade, o desenvolvedor do

Manual
Aluno
Banco
de do
Dados

17

banco de dados ficaria em dvida sobre a questo de quem pode se relacionar com
quem e em que nvel essa relao 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 cenrio que vai ser analisado a fim de
construirmos nosso banco de dados, isso ser colhido na anlise de requisitos, mas no
se preocupem, vamos primeiro entender como funciona uma academia de artes
marciais. Fique atento que nem sempre os projetos que voc dever desenvolver
sero relacionados a alguma rea de seu agrado ou conhecimento, t?
Vamos supor que em uma reunio para compreenso do sistema com o
responsvel pela academia, voc chegou a lista abaixo, que ser utilizada para criao
do MER.
A academia composta por:

Um scio;

Trs funcionrios auxiliares de escritrio;

Um professor de jud;

Um professor de karat;

Um professor de jiu-jitsu;

Um nutricionista visitante;

A capacidade de alunos de cem simultneos;

Cada membro pode se relacionar com uma arte por perodo, por exemplo: se o
aluno fizer jud na parte da manh no pode fazer karat tambm na parte da
manh;

18

Apenas os funcionrios podem matricular o aluno na arte marcial desejada;

Ebook ETEBRAS

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 scio poder consultar todos os pagamentos e agendamentos de exame.

Ento agora vamos a prtica, elaborar nosso MER! Acompanhe a demonstrao


em nossa vdeo-aula.

Figura 11. Modelo ER de uma academia de artes marciais.


Ento, conforme podemos ver na Figura 11, temos um pequeno exemplo de
como poderamos modelar nosso banco de dados da academia, veja que
tipificamos o funcionrio, ele est relacionado ao tipo do funcionrio que poderia
ser scio ou funcionrio comum, o aluno tambm pode estar matriculado em uma
ou mais artes marciais, o professor pode ensinar uma ou mais artes e o professor
pode agendar vrios exames para vrios alunos.

Na prxima competncia iremos implementar esse banco de dados.

Manual
Aluno
Banco
de do
Dados

19

1.9

Exerccios de fixao

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?

Faa o MER da academia de artes marciais demonstrado pelo Professor na


vdeo-aula.

20

Elabore um MER para uma locadora de carros.

Ebook ETEBRAS

CAPTULO 2 - Construir tabelas e dicionrio de dados de um banco


de dados
Caro aluno, na primeira competncia, voc viu como funciona um banco de
dados, suas caractersticas, aprendeu a instalar o XAMPP que um pacote que contm
o Apache, MySQL e o PHPMyAdmin, e o mais importante, aprendeu a fazer um MER,
agora chegou a hora de colocarmos tudo em prtica, e ver como realmente funciona o
banco de dados.
Em um primeiro momento necessrio 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, necessrio para execuo do PHPMyAdmin), e o
MySQL, que o nosso banco de dados que utilizaremos estejam iniciados Start
conforme Figura 10.

Manual
Aluno
Banco
de do
Dados

21

Figura 10. XAMPP com o servidor Apache ativo e como MySQL rodando.
Fonte: Prprio Autor

Agora voc j pode comear a criar o seu primeiro banco de dados, para isso
vamos utilizar o PHPMyAdmin para auxiliar a construo do nosso banco, das tabelas,
consultas e exportao.
Abra o navegador e digite: http://localhost/phpmyadmin. Ser exibida a tela
com o PHPMyAdmin, por padro no h senha para o usurio root, administrador do
banco de dados, ento 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.

22

Ebook ETEBRAS

Figura 11. PHPMyAdmin, primeiros passos.


Fonte: Prprio 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: Prprio 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
prximo passo construirmos uma tabela de cliente e uma tabela de curso. Essa
criao ser demonstrada em nossa vdeo-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.

Manual
Aluno
Banco
de do
Dados

23

Mas e agora? Como criamos nossa tabela de cliente e nossa tabela de curso?
Bom, no passo anterior ns tnhamos 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. Ento 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
endereo, idade e sexo, assim para criar a tabela cliente faa como ilustrado na Figura
13 e em seguida clique em Executar.

Figura 13. Criando uma tabela.


Fonte: Prprio Autor

Ao trmino da criao 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 nmero inteiro, o nome um varchar
e assim por diante, conforme estudado na disciplina anterior de lgica de
programao, veja um exemplo na Figura 14.

24

Ebook ETEBRAS

Figura 14. Criando os campos de uma tabela.


Fonte: Prprio Autor
Agora, basta executar e sua tabela ser criada conforme os dados que voc
informou. importante lembrar que ns estamos utilizando o PHPMyAdmin, mas tudo
isso tambm pode ser criado por linha de comando. Para criar uma tabela via linha de
comando, deve-se ir no boto 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, faa o mesmo para a tabela curso, mas utilize os seguintes dados para
as colunas: id_curso, nome, valor, horario. Tenha ateno aos tipos de dados, e em
caso de duvida, veja esta operao em nossa vdeo-aula.

2.3

Inserindo dados em uma tabela


Ento, nossas tabelas esto criadas, mas agora eu quero inserir dados nela,

como vou fazer? Como falamos anteriormente, temos duas opes, atravs do

Manual
Aluno
Banco
de do
Dados

25

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: Prprio Autor

Agora voc pode indicar quais os valores que sero inseridos preenchendo os
campos e clicando no boto 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


Ento, est gostando de trabalhar com banco de dados? Fcil no ? Bom,

aps 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 sero
exibidos por padro apenas 30 linhas de registros de clientes, ento 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.

26

Ebook ETEBRAS

Figura 16. Pesquisando um registro em uma tabela.


Fonte: Prprio Autor

Executando a pesquisa da Figura 16, automaticamente teramos o registro que


desejamos atravs do filtro realizado, mas tambm possvel fazer a pesquisa
manualmente e ser assim que vocs faro quando estiverem utilizando as linguagens
de programao para acessar a base de dados.
O cdigo 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 combinao de pesquisa

Manual
Aluno
Banco
de do
Dados

27

com a alterao em seguida, uma vez que para alterar algum dado precisamos
primeiro encontra-lo. Ento, se voc tiver muitos registros em sua tabela, pode utilizar
a opo 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: Prprio Autor
Uma outra alternativa com a utilizao do comando SQL, atravs do menu
superior selecionando a opo 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

28

Apagando dados

Ebook ETEBRAS

A diferena entre atualizar um dado e apaga-la vai ser que agora voc no
precisa especificar o campo que deseja apagar, se voc deseja excluir o registro inteiro
pode fazer selecionando o registro aps sua pesquisa e clicar em remover como
mostra a Figura 18.

Figura 18. Removendo um registro do banco de dados.


Fonte: Prprio Autor

Por outro lado, podemos tambm utilizar a forma manual, por


intermdio do comando DELETE.
DELETE FROM cliente WHERE nome = maria
Dessa forma, apagaramos 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 critrio ENDERECO aps a clusula WHERE:
DELETE FROM cliente WHERE NOME = maria AND ENDERECO=RUA DA AURORA
Ou, poderamos simplesmente excluir atravs do ID_CLIENTE, colocando o
ID_CLIENTE=2, removeramos a maria que mora na RUA DA AURORA.

2.7

Exportando dados

Manual
Aluno
Banco
de do
Dados

29

Para exportar um dado, importante lembrar que voc est em uma


hierarquia. Seu banco de dados distribudo por hierarquia onde o BANCO > TABELA >
REGISTRO > FILTRO DE PESQUISA, assim se ns 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: Prprio 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

30

Ebook ETEBRAS

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 vrias clusulas e
opes, que possibilitam a criao de consultas mais elaboradas, so elas:

Clusulas: FROM, WHERE, GROUP BY, HAVING, ORDER BY, DISTINCT


Ns utilizamos as clusulas, para filtrar os dados, organiz-los, orden-los,
distingui-los de outros, agrup-los e etc.
Operadores Lgicos: AND, OR, NOT
Os operadores so tipos de filtros que podemos utilizar para diferenciar os
dados resultantes de uma pesquisa por exemplo.
Operadores Relacionais: >, <, <>, <=, >=, =, BETWEEN, LIKE
Os operadores clssicos para usar em conjunto dos operadores lgicos e
refinar a busca ou restringi-la a uma quantidade menor de resultados.
Funes de agregao: AVG, COUNT, SUM, MAX, MIN
As funes j so pr-programadas pelo banco de dados para nos dar um
retorno rpido 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 Exerccios de fixao II

Manual
Aluno
Banco
de do
Dados

31

1) Crie um banco de dados com a tabela CURSO (id_curso, nome, valor, horrio)
Onde id_curso do tipo inteiro e chave primria
Nome varchar : 100
Valor real
Horrio varchar : 5
a) Insira 10 registros na tabela, 5 de forma manual e 5 atravs 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 questo devem ser feitas por linha de comando,
com a execuo 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 no 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 horrio das 10:00
k) Consulte o nome e o horrio 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 vdeo-aula: academia de artes
marciais.

32

Ebook ETEBRAS

Manual
Aluno
Banco
de do
Dados

33

Referncias
[1]

VILA,

Daiana

de.

Modelo

Orientado

Objetos.

Disponvel

<http://pt.slideshare.net/Daianadevila/modelo-orientado-a-objetos-17418532

em:
>

Acesso em: 15 nov. 2014.


[2] HEUSER, Carlos Alberto. Projeto de Banco de Dados. 4 edio, UFRGS. 2010.
[3]

MATTOSO,

Marta.

Introduo

Banco

de

Dados.

Disponvel

em:

<http://www.cos.ufrj.br/~marta/BdRel.pdf> Acesso em: 17 nov. 2014.


[4]

PACIEVITCH,

Yuri.

Banco

de

Dados.

Disponvel

em:

<http://www.infoescola.com/informatica/banco-de-dados/> Acesso em: 15 nov. 2014.


[5]

WIKIPDIA

PHPMYADMIN,

Disponvel

em:

<http://pt.wikipedia.org/wiki/PhpMyAdmin > Acesso em: 19 nov. 2014.


[6]

WIKIPDIA

que

um

Banco

de

Dados?

Disponvel

em:

<http://pt.wikipedia.org/wiki/Banco_de_dados> Acesso em: 19 nov. 2014.

34

Ebook ETEBRAS

MINICURRCULO DO PROFESSOR-PESQUISADOR

Joo Ferreira doutorando em cincia da


computao pelo Centro de Informtica da
UFPE, onde tambm obteve o ttulo de mestre
em Redes de Computadores e Sistemas
Distribudos, alm de especializao em
engenharia de software com nfase em teste
de dispositivos mveis. Possui especializao
em gesto de polticas pblicas pela UFRPE e
graduao em cincia da computao pela
UNICAP. Trabalhou com docncia no ensino
superior na Faculdade de Integrao do Serto
e na UFRPE, na Unidade Acadmica de Serra
Talhada. Trabalha com Educao a Distncia
em nveis tcnico e superior desde 2008, alm
de ser Analista de Tecnologia da Informao da
UFRPE desde 2007.

Manual
Aluno
Banco
de do
Dados

35