39
EBOOK Banco de Dados João Ferreira Versão 1, dezembro/2014

Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

Embed Size (px)

Citation preview

Page 1: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

EBOOK

Banco de Dados João Ferreira

Versão 1, dezembro/2014

Page 2: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf
Page 3: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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

Page 4: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf
Page 5: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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

Page 6: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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

Page 7: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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:

Page 8: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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.

Page 9: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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

Page 10: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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:

Page 11: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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.

Page 12: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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.

Page 13: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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.

Page 14: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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.

Page 15: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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

Page 16: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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.

Page 17: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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.

Page 18: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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.

Page 19: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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

Page 20: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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;

Page 21: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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.

Page 22: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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.

Page 23: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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.

Page 24: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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.

Page 25: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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.

Page 26: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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.

Page 27: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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

Page 28: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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.

Page 29: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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

Page 30: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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

Page 31: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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

Page 32: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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

Page 33: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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

Page 34: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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.

Page 35: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

Manual do Aluno 33

Banco de Dados

Page 36: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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.

Page 37: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf

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.

Page 38: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf
Page 39: Ebook Etebras - Banco de dados - versão 01 - dezembro2014 (1).pdf