introdução e conceitos - dca.ufrn.branderson/ftp/dca0120/aula1.pdf · ©carlos a. heuser -...

29
©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 1 Introdução e conceitos Capítulo 1

Upload: doanthu

Post on 09-Feb-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 19991

Introduçãoe

conceitos

Capítulo 1

Page 2: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 19992

Temário

• Banco de Dados– Compartilhamento de dados– Sistema de Gerência de Banco de Dados

• Modelos de Banco de Dados– Modelo conceitual– Modelo lógico– Modelo conceitual como modelo de organização

• Projeto de BD

Page 3: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 19993

Como Informática é adotada em organizações

• Informática é implementada gradativamente

• Exemplo - empresa hipotética

• Implementa gradativamente sistemas para:– Vendas– Produção– Compras

• Onde ficam os dados de produto?

Page 4: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 19994

Produção

Arquivos produção

Produtos …

Vendas

Arquivos vendas

Produtos …

Compras

Arquivos compras

Produtos …

Sistemas isoladosDados não compartilhados

Page 5: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 19995

Sistemas isoladosDados não compartilhados

• Problema: redundância de dados

• Tipos de redundância de dados– redundância controlada de dados

• software gerencia redundância– redundância não controlada de dados

• usuário gerencia redundância

Page 6: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 19996

Redundância não controladaconseqüências

• Entrada repetida da mesma informação

• Inconsistências de dados

Page 7: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 19997

Como evitar redundância não controlada

• Compartilhamento de dados

• Cada informação é armazenada uma única vez

• Usar o conceito de Banco de Dados

Page 8: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 19998

Produção Vendas

Banco de dados

Produtos …

Compras

Banco de Dados

• Conjunto de arquivos integrados que atendem a um conjunto de sistemas

Page 9: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 19999

Banco de dados - conseqüências

• Compartilhamento de dados tem reflexos na estrutura do software– Estrutura interna dos arquivos passa a ser mais

complexa– Devem atender às necessidades dos diferentes

sistemas.

• Solução– Usar sistema de gerência de banco de dados

Page 10: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199910

Sistema de Gerência de Banco de Dados

• Início da programação de aplicações �– Programa continha todas operações

• interface de usuário

• transformações de dados e cálculos

• operações de armazenamento de dados

• tarefas de comunicação com outras sistemas e programas

Page 11: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199911

Evolução da programação

• Foram identificadas funcionalidades comuns– Exibição dos dados na interface

• gerenciadores de interface de usuário,– Comunicação com processos remotos,

• gerenciadores de comunicação– Manutenção de grandes repositórios

compartilhados de dados

• sistemas de gerência de banco de dados (SGBD)

Page 12: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199912

Sistema de gerência de banco de dados

• Software que incorpora as funções de definição, recuperação e alteração de dados em um banco de dados

• Facilita desenvolvimento de aplicações de BD– Manutenção de programas torna-se mais simples– Produtividade de programadores aumenta

Page 13: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199913

Modelos de Dados

• Modelo de (banco de) dados– Descrição formal dos tipos de dados que estão

armazenados em um banco de dados

Page 14: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199914

Modelo de dados - conteúdo

• Exemplo de indústria

• Modelo de dados informa– são armazenadas informações sobre produtos– para cada produto, são armazenados seu código,

preço e descrição

• Modelo de dados não informa– quais os produtos que estão armazenados no banco

de dados

Page 15: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199915

Esquema de banco de dados

• Para construir um modelo de dados usa-se– linguagem de modelagem de dados

• textual

• gráfica

• Um modelo de dados pode ser apresentado de várias formas (texto, figura,...)

• Cada apresentação do modelo recebe a denominação esquema de banco de dados

Page 16: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199916

Modelo de Dados - níveis de abstração

abstração

modelo conceitual

modelo lógico

modelo físico

Page 17: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199917

Modelo conceitual

• Independente de tipo de SGBD

• Registra – Estrutura dos dados podem aparecer no banco de

dados

• Não registra– Como estes dados estão armazenados a nível de

SGBD

Page 18: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199918

Modelo conceitual - diagrama ER

• Técnica mais difundida de modelagem conceitual– Abordagem entidade-relacionamento (ER)

• Modelo conceitual é representado através de diagrama entidade-relacionamento (DER)

Page 19: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199919

Diagrama entidade-relacionamento

Produt o

códigodescrição

Tipo deprodut o

códigodescrição

preço

n 1

Page 20: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199920

Modelo lógico

• Nível de abstração visto pelo usuário do SGBD

• Dependente do tipo particular de SGBD que está sendo usado

Page 21: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199921

Modelo lógico

• SGBD relacional para o exemplo

ProdutoCodProd DescrProd PrecoProd CodTipoProd

1 PC desktop modelo X 2.500 12 PC notebook ABC 3.500 13 Impressora jato de tinta 600 24 Impressora laser 800 2

TipoDeProduto CodTipoProd DescrTipoProd

1 Computador 2 Impressora

Page 22: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199922

Modelo lógico para o exemplo

TipoDeProduto(CodTipoProd,DescrTipoProd)

Produto(CodProd,DescrProd,PrecoProd,CodTipoProd)CodTipoProd referencia TipoDeProduto

Page 23: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199923

Modelo Físico

• Contém detalhes de armazenamento interno de informações

• Detalhes que– não têm influencia sobre a programação de aplicações

no SGBD– influenciam a performance da aplicações

• Usados por profissionais que fazem sintonia de performance em banco de dados

Page 24: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199924

Exercícios

Exercício1.4: A definição do fator de bloco de um arquivo faz parte do modelo conceitual, do modelo lógico ou do modelo físico?

Exercício 1.5: A definição do tipo de um dado (numérico, alfanumérico,…) faz parte do modelo conceitual, do modelo lógico ou do modelo físico?

Page 25: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199925

Modelo conceitual como modelo de organização

• Constatação:

um arquivo em computador contém informaçõessobreum conjunto de objetos ou entidades da organização que

é atendida pelo sistema em computador.

• Exemplo da indústria– um arquivo para armazenar dados de produtos

Page 26: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199926

Modelo conceitual como modelo de organização

organizaçãosistema emcomputador

babaabc babaabc

babaabc babaabc

babaabc babaabc

babaabc babaabc

babaabc babaabc

BABAA BABAA

cada entidadecorresponde aum registro em

computador

Page 27: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199927

Idéia fundamental do projeto de banco de dados

Através da identificação das entidades que terão informações

representadas no banco de dados, é possível identificar os arquivos que

comporão o banco de dados

Page 28: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199928

Modelo conceitual tem dupla interpretação

• modelo da organização– Define as entidades da organização que tem

informações armazenadas no banco de dados

• modelo do banco de dados– Define que arquivos (tabelas) farão parte do banco de

dados.

Page 29: Introdução e conceitos - dca.ufrn.branderson/FTP/dca0120/Aula1.pdf · ©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto

©Carlos A. Heuser - Transparências para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199929

Projeto de BD

• Duas fases:1 Modelagem conceitual2 Projeto lógico

• Adequado para a construção de um novo banco de dados

• Caso já exista um banco de dados ou um conjunto de arquivos convencionais usar reengenharia