Modelagem de
dados
Aula 01 - Introdução
Roteiro
•
•
•
•
Apresentação
Introdução
Sistemas de Banco de Dados
Exercícios
Apresentação
Objetivo
Capacitar o aluno para realização de projeto e implementação de
soluções utilizando banco de dados e suas abordagens.
Programa
CRONOGRAMA
DATA
(DIA/MÊS)
CONTEÚDOS CURRICULARES OU
EIXOS TEMÁTICOS
CARGA
HORÁRIA

13/02/09
20/02/09
27/02/09

9 horas

HABILIDADES E
COMPETÊNCIAS
ESPECÍFICAS
Leitura de ementa e plano de Ensino,
definição de métodos de trabalho,
sistema de avaliações e motivações;
Introdução aos SGBDs. Arquitetura.
Conceitos introdutórios à
Dicionário de dados. Exemplos de
modelagem de dados.
BDs.
Demonstrações práticas.
Modelos de Banco de Dados: modelo
relacional, estrutura, restrições de
integridade.
Apresentação

Álgebra relacional. Realização de
trabalhos.
Integridade semântica. Visões.
Preparação de ambiente CASE.
Projeto de banco de dados relacional:
etapas de análise.
Avaliação de trabalhos
elaborados pelo corpo
discente, realização de
demonstrações e exercícios
práticos.
06/03/09
13/03/09
20/03/09
27/03/09
12 horas



03/04/09
1,5 horas
Avaliação NPI/1º Bimestre.
Avaliação de conhecimento.


Avaliação de trabalhos
elaborados pelo corpo
discente, realização de
demonstrações e exercícios
práticos.
03/04/09
10/04/09
17/04/09
24/04/09
12 horas
01/05/09
Modelo conceitual
Aplicações práticas
Não haverá aulas
08/05/09
15/05/09
22/05/09
9 horas
29/05/09
1,5 horas



Modelo lógico
Normalização
Aplicações práticas. Projeto individual
de banco de dados.
Avaliação NPII/2º Bimestre.
Avaliação de trabalhos
elaborados pelo corpo
discente, realização de
demonstrações e exercícios
práticos.
Avaliação de conhecimento.
Apresentação
Estratégias de trabalho
• Aulas expositivas e recursos audiovisuais.
• Demonstrações em laboratório utilizando ferramentas CASE.
Formas de avaliação
• Participação nas atividades
• Questionários
• Avaliação de trabalhos
• Provas bimestrais
Apresentação
Bibliografia
• DATE, C. J. Introdução a Sistemas de Banco de Dados. 8ª edição.
Editora Campus. 2004.
• SILBERSCHATZ, A. KORTH, H. SUDARSHAN, S. Sistemas de
banco de dados. Porto Alegre: Sagra-Luzzato, 2000.
Introdução
• Em essência, um sistema de bancos de dados é apenas
um sistema computadorizado de armazenamento de
registros.
• Pode ser visto como um equivalente a um armário de
arquivamento.
• Em outras palavras, é um repositório ou recipiente para
uma coleção de arquivos de dados computadorizados.
Introdução
• Diversas operações podem ser
realizadas:
– Acrescentar novos arquivos,
vazios, ao banco de dados;
– Inserir novos dados em arquivos
existentes;
– Buscar dados de arquivos
existentes;
– Alterar dados em arquivos
existentes.
– Eliminar dados de arquivos
existentes.
– Remover arquivos existentes do
banco de dados.
Introdução
Colunas são chamadas
de campos
A coluna DEP# é uma
primária!de
Linhas chave
são chamadas
Arquivo de exemplo:
registros
DEP#
VINHO
PRODUTOR
ANO
GARRAFAS
PRONTO
2
Chardonnay
Buena Vista
1997
1
1999
3
Chardonnay
Geyser Peak
1997
5
1999
6
Chardonnay
Simi
1996
4
1998
12
Joh. Riesling
Jekel
1998
1
1999
21
Fumé Blanc
Ch. St. Jean
1997
4
1999
22
Fumé Blanc
Robt. Mondavi
1996
2
1998
30
Gewurztraminer
Ch. St. Jean
1998
3
1999
43
Cab. Sauvignon
Windsor
1991
12
2000
45
Cab. Sauvignon
Geyser Peak
2002
48
Cab. Sauvignon
Robt. Mondavi
Arquivos 12
computadorizados são
1993
12
chamados de tabelas
50
Pinot Noir
Gary Farreli
1996
1999
1994
Arquivo ADEGA
3
2004
Introdução
• Exemplo de busca:
A SQL é a linguagem padrão para
interação com bancos de dados
relacionais e é reconhecida por quase
todos
os produtos
de bancos de
Instrução
SQL
dados existentes hoje no mercado.
SELECT VINHO, DEP#, PRODUTOR
FROM ADEGA
WHERE PRONTO = 2000
DEP#
VINHO
VINHO
Cab.
2 Sauvignon
Chardonnay
DEP# PRODUTOR
PRODUTOR
43
ANO
GARRAFAS
PRONTO
Buena
Windsor
Vista
1997
1
1999
21
Fumé Blanc
Ch. St. Jean
1997
4
1999
22
Fumé Blanc
Robt. Mondavi
1996
2
1998
30
Gewurztraminer
Ch. St. Jean
1998
3
1999
43
Cab. Sauvignon
Sauvignon
Windsor
Windsor
1991
12
2000
45
Cab. Sauvignon
Geyser Peak
1994
12
2002
48
Cab. Sauvignon
Robt. Mondavi
1993
12
2004
50
Pinot Noir
Gary Farreli
1996
3
1999
Introdução
• Exemplo de inserção de dados:
INSERT
INTO ADEGA (DEP#, VINHO, PRODUTOR, ANO, GARRAFAS, PRONTO)
VALUES(53, ‘Pinot Noir’, ‘Saintsbury’, 1997, 6, 2001)
DEP#
VINHO
PRODUTOR
ANO
GARRAFAS
PRONTO
2
Chardonnay
Buena Vista
1997
1
1999
3
Chardonnay
Geyser Peak
1997
5
1999
6
Chardonnay
Simi
1996
4
1998
12
Joh. Riesling
Jekel
1998
1
1999
21
Fumé Blanc
Ch. St. Jean
1997
4
1999
22
Fumé Blanc
Robt. Mondavi
1996
2
1998
30
Gewurztraminer
Ch. St. Jean
1998
3
1999
53
Pinot Noir
Saintsbury
1997
6
2001
Introdução
A SQL emprega a palavra-chave
UPDATE como “alterar” e não
“atualizar”. Atualização de uma tabela
envolve a inserção, alteração e
exclusão de registros.
• Exemplo de alteração de dados:
UPDATE ADEGA
SET GARRAFAS = 4
WHERE DEP# = 3
DEP#
VINHO
PRODUTOR
ANO
GARRAFAS
PRONTO
2
Chardonnay
Buena Vista
1997
1
1999
3
Chardonnay
Geyser Peak
1997
5
4
1999
6
Chardonnay
Simi
1996
4
1998
12
Joh. Riesling
Jekel
1998
1
1999
21
Fumé Blanc
Ch. St. Jean
1997
4
1999
22
Fumé Blanc
Robt. Mondavi
1996
2
1998
30
Gewurztraminer
Ch. St. Jean
1998
3
1999
Introdução
• Exemplo de exclusão de dados:
DELETE
FROM ADEGA
WHERE DEP# = 2
DEP#
VINHO
PRODUTOR
ANO
GARRAFAS
PRONTO
2
3
Chardonnay
Buena Vista
Geyser
Peak
1997
1
5
1999
3
6
Chardonnay
Geyser Peak
Simi
1997
1996
5
4
1999
1998
12
6
Chardonnay
Joh.
Riesling
Simi
Jekel
1996
1998
4
1
1998
1999
12
21
Joh. Riesling
Fumé
Blanc
Jekel
Ch.
St. Jean
1998
1997
1
4
1999
21
22
Fumé Blanc
Ch. St.Mondavi
Robt.
Jean
1997
1996
4
2
1999
1998
22
30
Fumé Blanc
Gewurztraminer
Robt.
Ch.
St.Mondavi
Jean
1996
1998
2
3
1998
1999
30
Gewurztraminer
Ch. St. Jean
1998
3
1999
Introdução
• Devemos considerar que:
– Os arquivos computadorizados são chamados de conjunto de
entidades ou tabelas.
– As linhas das tabelas são chamadas de entidades, tupla ou
registros.
– As colunas são chamadas de atributos ou campos.
arquivos (armário)
conjunto de entidades
tabelas
linhas
entidades
registros
colunas
atributos
campos
• Desta forma, um ou mais tabelas formam o banco de
dados!
Sistemas de Banco de Dados
• O que são sistemas de banco de dados?
“É um sistema computadorizado cujo propósito geral é armazenar
dados e permitir ao usuário buscar e atualizar esses dados quando
solicitado. “ Adaptado de Date
• “Um Sistema Gerenciador de Base de Dados (SGBD) é uma
coleção de programas que permitem aos usuários criarem e
manipularem uma base de dados. Um SGBD é, assim, um sistema
de software de propósito geral que facilita o processo de definir,
construir e manipular bases de dados de diversas aplicações”.
Takai
Sistemas de Banco de Dados
• Exemplo de um SGDB
Sistemas de Banco de Dados
• Definir uma base de dados envolve a especificação de
tipos de dados a serem armazenados na base de dados.
• Construir uma base de dados é o processo de
armazenar os dados em algum meio que seja controlado
pelo SGBD.
• Manipular uma base de dados indica a utilização de
funções como a de consulta, para recuperar dados
específicos, modificação da base de dados para refletir
mudanças no domínio da aplicação (inserções,
atualizações e remoções), e geração de relatórios.
Sistemas de Banco de Dados
Consultas do usuário ou programas
SGDB
Software para processar consultas
Software para acessar base de dados
Base de dados
Sistema de Banco de Dados
Sistemas de Banco de Dados
• Qual a diferença entre dados e informações?
Epitácio Pessoa
1865
Rio de Janeiro
Juscelino Kubitschek
1888
Santa Catarina
Gal Osório
1808
Rio de Janeiro
Beaurepaire Rohan
4400
João Pessoa
Sistemas de Banco de Dados
• Componentes principais de banco de dados
–
–
–
–
Dados
Hardware
Software
Usuários
Programas de
Aplicação
Usuários finais
Sistema de Gerenciamento de Banco de Dados
Dados
• Os sistemas de banco de dados estão disponíveis em
máquinas que vão desde micros bem pequenos até os
maiores computadores de grande porte.
• Sistemas grandes tendem a ser multiusuários e
sistemas pequenos tendem a ser monousuários.
Sistema monousuário: banco de dados de
catálogo telefônico de um celular
Sistema multiusuário: banco de dados de
catálogo telefônico de empresa de telefonia fixa ou
terceirizadas
Hardware
• Componentes de hardware do sistema:
– Volumes de armazenamento secundário: discos rígidos,
unidades de fita, pen drivers, DVDs etc.;
– Processadores e memória principal.
Software
• Entre o banco de dados físico e o usuário existe uma
camada de software conhecida como gerenciador de
banco de dados, servidor de banco de dados ou
SGDB.
• A função principal de um SGDB é isolar os usuários do
banco de dados dos detalhes de nível de hardware.
• O SGDB é o componente de software mais importante
de todo o sistema.
Usuários
• Existem três classes:
– Programadores de aplicação: elaboram programas aplicativos
de banco de dados em linguagens como C/C++, Java, PL/I,
COBOL etc.;
– Usuários finais: interagem com o sistema a partir de terminais
ou estações de trabalho. A maioria dos sistemas de bancos de
dados inclui pelo menos uma aplicação interna, em geral um
processador de linguagem de consulta, por meio do qual o
usuário pode emitir solicitações ao banco de dados, tais como
SELECT e INSERT da SQL;
– Administrador de Dados (DA) e Administrador de Banco de
Dados (DBA).
Exercícios
1. Explique com suas palavras, quais são as vantagens de se usar um sistema de
banco de dados?
2. Mostre os efeitos das seguintes operações de busca em SQL sobre o banco de
dados da adega de vinhos da Figura 1:
a) SELECT VINHO, PRODUTOR
FROM ADEGA
WHERE DEP# = 43
b) SELECT VINHO, PRODUTOR
FROM ADEGA
WHERE ANO > 1996
c) SELECT DEP#, VINHO, ANO
FROM ADEGA
WHERE PRONTO < 1999
d) SELECT VINHO, DEP#, ANO
FROM ADEGA
WHERE PRODUTOR = ‘Robt. Mondavi’ AND GARRAFAS > 6
Exercícios
3. Mostre os efeitos das seguintes operações de atualização em SQL sobre o banco de
dados da adega de vinhos na Figura 1:
a) INSERT
INTO ADEGA ( DEP#, VINHO, PRODUTOR, ANO, GARRAFAS, PRONTO
VALUES ( 80, ‘Syrah’, ‘Meridian’, 1994, 12, 1999)
b) DELETE
FROM ADEGA
WHERE PRONTO > 2000
c) UPDATE ADEGA
SET GARRAFAS = 5
WHERE DEP# = 50
d) UPDATE ADEGA
SET GARRAFAS = GARRAFAS + 2
WHERE DEP# = 50
Exercícios
4. Escreva instruções SQL para executar as seguintes operações sobre o banco de
dados da adega de vinhos:
a) Obter o número do depósito, o nome do vinho e o número de garrafas para
todos os vinhos da Geyser Peak.
b) Obter o número do depósito e o nome do vinho correspondentes a todos os
vinhos para os quais existem mais de cinco garrafas em estoque.
c) Obter o número do depósito para todos os vinhos tintos.
d) Acrescentar três garrafas ao depósito de número 30.
e) Remover todos os vinhos Chardonnay do estoque.
f)
Acrescentar uma entrada para uma nova caixa (doze garrafas) de Gary Farrel
Merlot: depósito número 55, ano 1996, pronto em 2001.
ADEGA
DEP#
VINHO
PRODUTOR
ANO
GARRAFAS
PRONTO
2
Chardonnay
Buena Vista
1997
1
1999
3
Chardonnay
Geyser Peak
1997
5
1999
6
Chardonnay
Simi
1996
4
1998
12
Joh. Riesling
Jekel
1998
1
1999
21
Fumé Blanc
Ch. St. Jean
1997
4
1999
22
Fumé Blanc
Robt. Mondavi
1996
2
1998
30
Gewurztraminer
Ch. St. Jean
1998
3
1999
43
Cab. Sauvignon
Windsor
1991
12
2000
45
Cab. Sauvignon
Geyser Peak
1994
12
2002
48
Cab. Sauvignon
Robt. Mondavi
1993
12
2004
50
Pinot Noir
Gary Farreli
1996
3
1999
Arquivo ADEGA
Referências Bibliográficas
[1] TAKAI, O.K. Introdução a Banco de Dados. DCC-IME-USP. 2005.
Disponível em www.4shared.com
[2] DATE, C. J. Introdução a Sistemas de Banco de Dados. 8ª edição.
Editora Campus. 2004.
Download

Modelagem de dados - Aula 01