Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Informática
Banco de Dados
Leandro Clementino de Almeida
Ministério da
Educação
e-Tec Brasil/CEMF/Unimontes
Escola Técnica Aberta do Brasil
Informática
Banco de Dados
Leandro Clementino de Almeida
Montes Claros - MG
2011
Presidência da República Federativa do Brasil
Ministério da Educação
Secretaria de Educação a Distância
Ministro da Educação Coordenadores de Cursos:
Fernando Haddad Coordenador do Curso Técnico em
Agronegócio
Secretário de Educação a Distância Augusto Guilherme Dias
Carlos Eduardo Bielschowsky
Coordenador do Curso Técnico em Comércio
Coordenadora Geral do e-Tec Brasil Carlos Alberto Meira
Iracy de Almeida Gallo Ritzmann
Coordenador do Curso Técnico em Meio
Governador do Estado de Minas Gerais Ambiente
Antônio Augusto Junho Anastasia Edna Helenice Almeida
Apresentação
Alfabetizaçãoe-Tec
DigitalBrasil/CEMF/
Unimontes
Prezado estudante,
Ministério da Educação
Janeiro de 2010
Alfabetização Digital
Indicação de ícones
Alfabetização Digital
Sumário
Alfabetização Digital
Palavra do professor conteudista
Caro estudante!
Bons estudos!
Leandro Clementino de Almeida
Alfabetização Digital
Projeto instrucional
CARGA
AULA OBJETIVOS DE APRENDIZAGEM MATERIAIS
HORÁRIA
Aula 1. - Conceituar os principais termos de
Introdução banco de dados;
- distinguir processamento de arqui-
vos tradicional de banco de dados;
- apresentar aspectos referentes à
- 8h
importância da aplicação e do uso de
banco de dados;
- possibilitar ao aluno definir quando
não for aconselhada a utilização de
um SGBD.
Aula 2. - Apresentar os principais conceitos
Sistemas de envolvidos em sistemas de banco de
banco de da- dados, bem como sua arquitetura,
dos: conceitos seus componentes e, principalmente,
e arquitetura os modelos de dados mais relevantes;
- 8h
- tornar o aluno capaz de identificar
um modelo de dados e, com isto, criar
e desenvolver a modelagem de um
projeto de banco de dados em qual-
quer um dos modelos apresentados.
- Descrever os conceitos envolvidos na
Aula 3. Modelagem Entidade Relacionamento;
Modelagem de - apresentar os principais termos
dados – Mo- utilizados na construção de um banco
delo Entidade de dados no MER; - 12h
Relaciona- - possibilitar aos alunos construir o
mento (MER) conhecimento para a criação de mo-
delos e diagramas ER, com os respec-
tivos relacionamentos.
Alfabetização Digital
Aula 1 - Introdução
Objetivos
Resumo
Nesta aula, você aprendeu:
• conceitos envolvidos em banco de dados;
• a importância de um bom banco de dados, principalmente em
relação ao método de processamento tradicional de arquivos;
• quando usar e quando não usar um banco de dados.
Atividades de aprendizagem
1. Informe um conceito para definir banco de dados.
Aula 2 – Sistemas
Alfabetização de banco de dados
Digital
(SBD): conceitos e arquitetura
Objetivos
• apresentar os principais conceitos envolvidos em sistemas de
banco de dados, bem como sua arquitetura, seus componentes
Não fique preso apenas
e, principalmente, os modelos de dados mais relevantes; a este caderno; busque
• tornar o aluno capaz de identificar um modelo de dados e, com outras fontes de estudo
isto, criar e desenvolver a modelagem de um projeto de banco sobre banco de dados.
de dados em qualquer dos modelos apresentados.
2.1 Introdução
Já tinha ouvido falar em sistema de banco de dados (SBD)? Acredito
que, alguns, sim; mas, de qualquer forma, nesta aula, iremos abordar diver-
sos conceitos envolvendo sistemas de banco de dados, a arquitetura de um
sistema de banco de dados e seus componentes e, principalmente, apresen-
tar os modelos de dados mais conhecidos e utilizados.
Para melhor compreensão de um SBD, segue, a seguir, na figura 02,
um diagrama simplificado com a sua arquitetura.
2.3 Esquema
Certamente, você já ouviu falar em esquema, porém, muito prova-
velmente, em outra conotação. Portanto, para não confundirmos esquema
em banco de dados com “outros esquemas”, vamos aprendê-lo logo?
Bom, como descrito, muitas vezes, as pessoas confundem os termos
“descrição” do banco de dados com o banco de dados propriamente dito.
A descrição do banco de dados é conhecida como “esquema” do banco de
dados; este é definido durante o desenvolvimento (criação) do projeto do
banco de dados. Um esquema, uma vez definido, não deve ser modificado
frequentemente; desta forma, a sua definição requer bastante análise e mui-
tos critérios.
No esquema, basicamente, será definida a estrutura do banco de
dados (tabelas, atributos, domínios, relacionamentos, restrições), conforme
Date (2000). A maioria dos modelos de dados apresenta algumas convenções
para a exibição de esquemas por meio de diagramas, conforme ilustram as
figuras da seção 2.2.
Para uma melhor compreensão de um esquema, vamos fazer uma
analogia com linguagem de programação e algoritmos. Neste sentido, as va-
riáveis e os tipos de dados assumidos por elas seriam o esquema.
Se ainda não ficou claro, não se preocupem, pois, na aula 4, serão
apresentados mais exemplos de esquemas.
Resumo
Nesta aula, você aprendeu:
• os principais conceitos de sistemas de banco de dados;
• a arquitetura de um SBD e os componentes dessa arquitetura;
• a conhecer e a identificar um modelo de dados;
• a planejar e AA desenvolver a modelagem de um projeto de
banco de dados nos diferentes modelos apresentados (principal-
mente o relacional).
Atividades de aprendizagem
1. Quais são os elementos que compõem a arquitetura de um sistema de
banco de dados?
Aula 3 – Modelagem
Alfabetização Digitalde dados – Modelo
Entidade Relacionamento – MER
Objetivos
3.1 Introdução
Agora que já conhecemos os tipos de modelos de dados, vamos
iniciar nossos estudos descrevendo sobre o modelo mais simples, mas não
menos útil na construção do projeto de banco de dados relacional. Vamos lá?
O Modelo Entidade Relacionamento é um modelo de dados con-
ceitual de alto nível, tido como o mais popular; é utilizado principalmente
durante o processo de projeto de banco de dados, conforme relatam Elmasri
e Navathe (2011).
No MER, os conceitos envolvidos na construção de um bom projeto
de banco de dados foram planejados para estar o mais próximo possível do
entendimento e da visão que o usuário tem dos dados, não se preocupando
em representar como esses dados estarão realmente armazenados.
A construção de um projeto de banco de dados é constituída de al-
gumas fases; cada uma delas, responsável pela realização de algumas ações
específicas, conforme ilustra a figura 8. Na fase inicial, de partida, são ob-
servados aspectos do mundo real, chamados de “minimundo”. A partir daí,
realiza-se a obtenção e a análise dos requisitos por meio de reuniões e de
outras formas, nas quais se discutem todas as questões pertinentes ao que
se deseja do sistema de banco de dados. Vencida esta fase, reúnem-se to-
das as informações (requisitos) para a construção do projeto conceitual da
base de dados. Na fase de projeto conceitual, é desenvolvido o esquema
conceitual, no qual são especificados os esquemas do banco de dados em
construção. É neste momento em que mais se aplicam os modelos de entida-
de relacionamento. Na fase de mapeamento do modelo de dados, também
conhecida como projeto lógico, o objetivo é transformar o esquema de mo-
delo de dados de alto nível (projeto conceitual) em um modelo de dados de
implementação. Até esta fase, tudo que se define é independente do SGBD
a ser utilizado. Qualquer que seja o sistema gerenciador de banco de dados
Atividades de aprendizagem
1. Qual o principal objetivo do Modelo Entidade Relacionamento (MER)?
b.
Entidades Relacionamento
Cliente, pedido Solicita
Aula 4 – Modelagem
Alfabetização Digitalde dados – Modelo
Relacional (MR)
Objetivos
• conceituar e apresentar os principais elementos do modelo re-
lacional;
• demonstrar as principais aplicações do modelo na construção
de projeto de banco de dados relacional;
• realizar o mapeamento do Modelo Entidade Relacionamento
(MER) para o Modelo Relacional (MR).
Apesar do crescimento
4.1 Introdução do uso de outros
modelos, o MR ainda é
o mais utilizado pelas
Agora que aprendemos sobre o Modelo ER, que tal conhecermos o empresas.
Modelo Relacional? Você observará, inclusive, que existem algumas seme-
lhanças entre ambos.
O Modelo Relacional tem muita semelhança com o Modelo ER. Eu
diria que o MR é complementar ao MER.
Conforme Elmasri e Navathe (2005), o Modelo Relacional represen-
ta um banco de dados como uma coleção de relações comumente chamadas
de tabelas. Cada relação é entendida como uma tabela que contém valores,
e cada linha nesta tabela é composta de um conjunto de dados relacionados.
Os valores contidos nas linhas seriam as instâncias de uma entidade ou de
um relacionamento.
Cada relação ou cada tabela é composta de linhas e colunas. Ainda
segundo o autor referenciado anteriormente, na terminologia do Modelo Re-
lacional, uma tabela é chamada de relação, um linha é chamada de tupla e
as colunas são chamadas de atributos.
A figura 14 ilustra cada um desses elementos (destacados em cores
diferentes) do Modelo Relacional na tabela PRODUTO. Observem atentamente!
a. Produto
Código Descrição Qtde ValorUnit
b. Aluno
Matrícula CPF Nome Curso e-mail
Produto
Código Descrição Qtde ValorUnit
Itens_Pedido
CódProd CodPed Quant
Resumo
Nesta aula, você aprendeu:
• os principais conceitos e termos envolvidos num Modelo Rela-
cional;
• a aplicação de um Modelo Relacional num projeto de banco de
dados;
• mapear um Modelo ER em um Modelo Relacional;
• planejar e construir modelos relacionais de um banco de dados.
Atividades de aprendizagem
1. Defina e exemplifique cada um dos seguintes termos em banco de dados:
relação, tupla e domínio.
b.
Alfabetização Digital
Aula 5 – SQL básico
Objetivos
• apresentar os principais conceitos sobre Linguagem de Consul-
ta Estruturada (SQL);
• realizar estudos sobre DDL e DML;
• realizar aplicações práticas dos principais comandos SQL;
• definir e criar restrições de dados em SQL.
5.1 Conceito
Você sabe o que significa SQL? Já leu ou ouviu falar?
Bom, SQL (Structured Query Language – Linguagem de Consulta Es-
truturada), como o próprio nome diz, é uma linguagem de definição e de ma-
nipulação de um banco de dados relacional, conforme descreve Date (2000).
A SQL foi criada especificamente para trabalhar com os SGBD’s relacionais
criados pelo mundo; rapidamente, se tornou o padrão de linguagem de con-
sulta mais utilizado no planeta.
Uma das grandes vantagens do uso da SQL é que ela é um padrão
reconhecido por todos os SGBD’s relacionais existentes. Qualquer que seja o
SGBD escolhido pelo usuário ou pela empresa, a SQL irá se comunicar bem
com ele. Caso o usuário resolva mudar de SGBD, ele não irá precisar se pre-
ocupar com o acesso aos seus dados se tiver adotado o SQL como linguagem
de consulta, pois os seus sistemas praticamente não sofrerão mudanças.
Segundo Elmasri e Navathe (2005), a SQL é formada por dois gran-
des grupos de funções e comandos, chamados de DDL (Linguagem de Defini-
ção de Dados) e DML (Linguagem de Manipulação de Dados).
Solução/Resposta:
CREATE TABLE empregado (
codigo int not null, -- código funcional
nome varchar2(40) not null, -- nome do empregado
Onde:
• DROP – serve para excluir um atributo;
• ADD – serve para adicionar um novo atributo;
• RENAME – serve para renomear um atributo;
• RENAME TABLE – serve para renomear a tabela;
• MODIFY – serve para modificar/alterar o tipo do dado do atributo.
Por fim, caso queira excluir a tabela como um todo, existe o coman-
do DROP TABLE. A sintaxe deste comando é:
DROP TABLE <nome-da-tabela>
Solução/Resposta:
DROP TABLE empregado; -- exclui/deleta a tabela EMPREGADO.
Onde:
• nome-tabela - representa o nome da tabela na qual será incluído
o registro (a linha);
• nome-atributo - representa o nome do(s) atributo(s) que
receberá(ão) dado(s) no momento da operação de inclusão.
Solução/Resposta:
INSERT INTO Empregado (matricula, nome, turma, nota) VALUES
(10105, “Luís Inácio Lula da Silva”, “1A”, 95).
Solução:
UPDATE Aluno SET nota = 88 WHERE matricula=1023
Observem que não foram utilizadas aspas para a nova nota e nem
para a matrícula, porque ambos são atributos do tipo inteiro.
Onde:
• nome-tabela - representa o nome da tabela cujos registros se-
rão deletados. Neste caso, serão excluídos todos os registros da
tabela.
Solução/Resposta:
DELETE FROM Aluno
Onde:
• nome-tabela - representa o nome da tabela cujos registros serão
excluídos;
• condição - representa a condição para a exclusão dos registros.
Esta condição será responsável por selecionar o(s) registro(s) que
será(ao) excluído(s).
Veja o exemplo de aplicação
Problema:
Excluir todos os alunos com nota inferior a 50.
Solução/Resposta:
DELETE FROM Aluno WHERE nota<50
Onde:
• nome-atributo – representa o(s) nome(s) do(s) atributo(s) que se-
rão utilizados na consulta. Pode ser utilizado um ou mais;
• nome-tabela - representa o nome da(s) tabela(s) que contém
o(s) atributo(s) que será(ao) selecionada(s) (informadas após o
A maioria das pesquisas
Select) ou que será(ao) utilizada(s) para a execução da consulta;
de dados e informações
em sistemas são • condição - representa a condição para a seleção dos registros. A
feitas utilizando-se do seleção poderá resultar em um ou vários registros;
comando Select. • WHERE - especifica o critério (a condição) de seleção dos regis-
tros nas tabelas especificadas.
Problema 2:
Listar todos os campos (atributos) dos alunos que estão de prova
O asterisco (*) utilizado
final/recuperação (notas >=50 e <70).
logo após o Select é
chamado de “caractere Solução/Resposta:
curinga”, e a sua
função é de representar SELECT * FROM Aluno WHERE nota>=50 AND nota <70
todos os atributos da
tabela informada após Problema 3:
o From. No lugar do
asterisco, poderia ter Informe o número de matrícula e o nome dos alunos.
sido usada a instrução
ALL (que representa
todos também). Tanto
Solução/Resposta:
o (*) quanto ALL têm a SELECT matricula, nome FROM Aluno
mesma função.
Solução/Resposta:
SELECT count(*) FROM Aluno WHERE nota>=70
Problema 2:
Qual a média das notas dos alunos?
Solução/Resposta:
SELECT avg(*) FROM Aluno
Problema 3:
Qual a maior nota obtida e o aluno que a obteve?
Solução/Resposta:
SELECT nome, max(nota) FROM Aluno
Solução/Resposta:
SELECT min(nota) FROM Aluno
Problema 5:
Para este exemplo, vamos utilizar a tabela Empregado (código,
nome, dtnasc, salário, CPF), referenciada no início da seção 5.2.
Qual o gasto total da empresa com os salários dos empregados?
Solução/Resposta:
SELECT sum(salario) FROM Empregado
Solução/Resposta:
SELECT nome, nota FROM Aluno WHERE nota>=70 ORDER BY nota DESC
Outra função que pode ser utilizada com o Select é o GROUP BY.
A função Group by serve para agrupar os dados nos atributos informados.
No agrupamento de um atributo, os dados são organizados (agrupados) em
subconjuntos nos quais os dados coincidentes ficarão representados por uma
única linha no resultado.
Veja, a seguir, com fica a sintaxe do GROUP BY.
Onde:
• HAVING – semelhante ao Where; ele especifica uma condição
para a seleção de um grupo de dados. Esta opção só é utilizada
combinada com a opção GROUP BY;
• condiçãohaving – representa a condição para seleção dos regis-
tros agrupados pelo Group By.
Solução/Resposta:
SELECT turma, avg(nota) FROM Aluno GROUP BY turma
Problema 2:
Informar as turmas e a média das notas das turmas superiores a 80.
Solução/Resposta:
SELECT turma, avg(nota) FROM Aluno GROUP BY turma HAVING
avg(nota)>80 Cabe ressaltar que a
SQL possui ainda muitos
outros recursos, porém,
5.4 Restrições de dados a proposta deste
caderno era apresentar
os principais e os mais
As restrições em banco de dados são fundamentais para garantir a comumente utilizados.
Resumo
Nesta aula, você aprendeu:
• os conceitos envolvidos em SQL;
• a importância da SQL para os sistemas e os bancos de dados
relacionais e, consequentemente, para as empresas;
• os principais comandos SQL de DDL e de DML;
• a aplicação prática dos comandos SQL em um banco de dados.
• a gerenciar os dados de banco de dados de forma automatizada,
organizada, com segurança, integridade e confiabilidade.
Atividades de aprendizagem
1. Para que serve a SQL?
Esquemas
• Médico (CodMed, CRM, Nome, Especialidade, CPF, Endereco, CEP,
Cidade, Fone)
• Paciente (Codigo, Nome, Endereco, Cidade, Fone, CodMed)
Aula 6 – Integração
Alfabetização de banco de dados e
Digital
internet
Objetivos
• apresentar a importância do uso de SGBD integrados à internet;
• apresentar o processo de conexão de um sistema com o banco
de dados na internet;
• demonstrar como se realiza a conexão do sistema com o banco
de dados na web.
Onde:
• $query: é a representação da variável em php chamada query.
Em php, as variáveis utilizadas são sempre precedidas do $. Esta
variável conterá a sequência de comando SQL “Select * from
[nome-da-tabela]” a ser executado pelo BD. Até este momento,
o comando SQL ainda não foi executado de fato. Para isto, é
necessária a execução do comando mysql_query;
• mysql_query($query): mysql_query é o comando responsável
por executar o comando SQL direto no banco de dados. Neste
caso, a execução do comando descrito (Select ...) atribuirá a
variável $result o resultado do comando empregado, isto é, se
executar o comando “Select * from tabela”, o resultado será
todos os campos da tabela referida.
Resumo
Nesta aula você aprendeu:
• a importância da integração dos SGBD aos sistemas web;
• que a escolha do SGBD deve ser um processo criterioso;
• como realizar a conexão com o SGBD na web.