cin/ufpe – projeto conceitual de bd - prof. robson fidalgo 1/63 · banco de dados x sgbd qual a...
TRANSCRIPT
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 2/63
Projeto Conceitual de BD
Conceitos Básicos
GeraisPor:
Robson do Nascimento [email protected]
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 3/63
Motivação
• Bancos de dados (BD) são componentes importantes dos
sistemas de informação
• Projetar BD tem se tornado uma atividade popular (qualquer
um acha que pode fazer), mas ela não é uma atividade trivial!
• A falta de abordagens adequadas para o projeto do BD pode
gerar resultados indesejáveis
� Ex: ausência de dados, ineficiência do BD e problemas de manutenção
• Muitos problemas dos BD advêm do pouco entendimento da
natureza dos dados
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 4/63
DadoXMetadadoXInformaçãoXConhecimento
O que é / qual a diferença entre:
Dado? Metadado? Informação? Conhecimento?
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 5/63
• Conceito geral:
� Dado X Metadado X Informação X Conhecimento
• Dado = registro de um fato isolado (Não tem significado claro)
• Metadado = Dado que descrevo o significado de outro dado
• Informação = Dado + Metadado (Dados com significado claro)
• Conhecimento = Discernimento sobre as informações
DadoXMetadadoXInformaçãoXConhecimento
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 6/63
• Conceito geral:� Dado X Metadado X Informação X Conhecimento
• Exemplo:
� M � Dado
� Sexo � Metadado
� Tamanho � Metadado
� Sexo = M � Informação de uma pessoa do sexo masculino
� Tamanho = M � Informação de um tamanho médio
� Sexo = M e Tamanho = M � Conhecimento homem nem magro nem
gordo
DadoXMetadadoXInformaçãoXConhecimento
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 7/63
(Dados X Informação)
• O dado é fato, ele só se torna informação quando
visto dentro de um contexto (transmitir algum
significado às pessoas)
• A informação acrescenta algo ao conhecimento da
realidade de forma tal que possa ser interpretado
pelas pessoas
• Informação = Dados + Contexto
• O tratamento dos DADOS dá origem a vários tipos
de INFORMAÇÕES
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 8/63
(Tipos de Informações)
• Operacional� Geradas a todo instante� Utilizada para suportar as operações diárias
• Manter a empresa funcionando e• Conhecer sua evolução diária
� EX: Notas fiscais e formulários de pedidos
• Gerencial� Geradas periodicamente� Utilizada para suportar tomada de decisão
• Processo de planejamento,• Acompanhamento de políticas,• Análise de resultados
� EX:Relatórios sobre compras e vendas
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 9/63
(Tipos de Conhecimentos)
• Tácito
� Subjetivo
� Baseado em experiências pessoais
� Voltado para ações em situações específicas
� Difícil de expressar e transmitir
• Explícito
� Objetivo
� Obtido através de procedimentos sistematizados
� Baseado especialmente em informações e fatos
� Fácil de expressar e transmitir, pois pode ser formalizado
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 10/63
Banco de Dados X SGBD
Qual a diferença entre Banco de Dados e
Sistema Gerenciador de Banco de Dados
(SGBD)?
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 11/63
Banco de Dados
Banco de Dados=
É uma coleção de dados interrelacionados e logicamente
coerente, representandoinformações sobre um
domínio específico
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 12/63
Banco de Dados
• Exemplos de Bancos de Dados:
� Agenda Telefônica
� Atlas Geográfico
� Cadastro de Fornecedores
� Lista de Pedidos
� Catálogo de Produtos
� . . .
Banco de Dados <> Bando de Dados!
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 13/63
Sistema Gerenciador de BD - SGBD
SGBD=
É uma coleção de programas que permite aos usuários criar e manter
um banco de dados.
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 14/63
Sistema Gerenciador de BD - SGBD
• Exemplos de SGBD:
� Oracle
� PostgreSQL
� SQL Server
� MySQL
� HSQLDB
� Paradox
� FireBird
� ...
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 16/63
Abstração
Abstração=
É uma operação mental que observa a realidade e captura apenas os aspectos relevantes para um contexto
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 17/63
Abstração
• Uma abstração depende mais do observador do que da realidade observada.
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 18/63
• Uma abstração depende mais do observador do que da realidade observada.
Abstração
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 19/63
• Mecanismos de Abstração
� Classificação/Instanciação
� Generalização/Especialização
� Agregação/Desagregação
Abstração
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 20/63
• Mecanismos de Abstração
� Classificação/Instanciação
• Categorização dos objetos em grupos, com base em algum
conjunto de propriedades comuns
• A classificação estabelece um relacionamento É INSTANCIA DE
entre cada elemento e a sua classe
Abstração
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 21/63
• Mecanismos de Abstração
� Classificação/Instanciação
Abstração
Terrestres, Quadrúpedes e vivíparos
Instâncias/Elementos
Classificação em Categorias/Conjuntos
Aéreos, Bípedes e ovíparos
Periquito
Garça
PardalTucano
Girafa
GatoLeão
Cão
É INSTANCIA DE
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 22/63
• Mecanismos de Abstração
� Generalização/Especialização
• Define um relacionamento de subconjunto entre elementos de duas ou mais categorias/conjuntos
• Todas as propriedades definidas para a categoria generalizada são herdadas pelas categorias especializadas
• Todo elemento de um subconjunto especializado é também elemento do seu respectivo conjunto generalizado
• Essa abstração estabelece um relacionamento É UM entre a categoria generalizada e as categorias especializadas
Abstração
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 23/63
• Mecanismos de Abstração� Generalização/Especialização
Abstração
AnimalAnimal
Ger
eral
izaç
ãoG
erer
aliz
ação
Esp
ecializaçãoE
specialização
É UM
Periquito
Garça
PardalTucano
Periquito
Garça
PardalTucano
Garça
PardalTucano
GirafaGirafa
GatoGatoLeãoLeão
CãoCão
Terrestres, Quadrúpedes e vivíparosAéreos, Bípedes e ovíparos
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 24/63
• Mecanismos de Abstração� Agregação/Desagregação
• Define uma nova categoria a partir de outras categorias
• Essa abstração estabelece um relacionamento É PARTE DE entre os componentes e a classe.
Abstração
É-PARTE DE
Ag
reg
ação
Desag
regação
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 25/63
Abstração de Dados
O que é abstraçãode dados?
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 26/63
Abstração de Dados
Abstração de dados=
É o uso da abstração para selecionar as propriedades relevantes de
um conjunto de dados
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 27/63
Abstração de Dados
• Abstração de Dados
� Exemplo :
• Quais dados são relevantes para um cliente?
� Nome?
� Data do nascimento?
� Endereço?
� Comida favorita?
� Cor dos olhos?
� Estatura?
� Salário?
Atenção:Analisar o contexto e
verificar a pertinência de cada propriedade.
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 28/63
Abstração de Dados
• Níveis de Abstração de Dados em um SGBD (Arquitetura ANSI/SPARC)
� Nível Externo: Nível mais alto de abstração. Descreve partes do BD, de
acordo com as necessidades de cada usuário. É como os dados são
vistos pelo usuário.
� Nível Conceitual: Descreve quais dados estão armazenados e seus
relacionamentos. Neste nível, o BD é descrito através de estruturas
relativamente simples, que podem envolver estruturas complexas no nível
físico.
� Nível físico: Nível mais baixo de abstração. Descreve como os dados
estão realmente armazenados, englobando estruturas complexas de
baixo nível.
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 29/63
Arquitetura ANSI/SPARC
Visão 1 . . .
Abs
traç
ão
Banco de Dados
. . .
Usuários
NívelExterno
(Visões de usuários individuais)
Nível Conceitual
(visão da comunidade de usuários)
Nível Interno
(Visão do meio de armazenamento)
Visão 2 Visão n
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 30/63
Arquitetura ANSI/SPARC
• Objetivo: permitir que o SGBD garanta 1) diferentes níveis de
abstrações do BD e 2) independência de dados
� O que interessa é que os dados estejam disponíveis no momento
necessário, independentemente de como este foi armazenado
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 31/63
Arquitetura ANSI/SPARC
• A arquitetura ANSI/SPARC permite 2 tipos de independência de dados:� Independência de Dados Lógica
• É a capacidade de alterar o nível conceitual sem afetar o nível externo ou programas de aplicação
• EX: Adição/exclusão de um campo. No último caso, as visões do nível
externo que referem-se aos dados restantes não seriam afetadas
� Independência de Dados Física
• É a capacidade de alterar o nível interno sem afetar o nível conceitual
• EX: Criação de estruturas de acesso para melhorar a performance de
consulta ou atualização.
A independência Lógica é mais difícil de ser alcançada do que a Física. Pois, os programas são muito dependente do Esquema Lógico.
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 32/63
Modelo X Esquema X Instância
Qual a diferença entre Modelo, Esquema e Instância de dados?
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 33/63
Modelo X Esquema X Instância
O que é um Modelo de Dados?
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 34/63
Modelo X Esquema X Instância
Modelo de BD=
É uma especificação formal para descrever qualquer BD a partir de estruturas de dados, regras deintegridade de dados (RI) e operações sobre os dados
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 35/63
Modelo X Esquema X Instância
• Os modelos de dados permitem descrever:� Os relacionamentos entre os dados,
� A semântica dos dados e
� As regras de consistência
• Exemplos de Modelos de Dados:� Entidade e relacionamento
� Relacional
� Baseado em Objetos
� Hierárquico
� Rede
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 36/63
Modelo X Esquema X Instância
O que é um Esquema de BD?
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 37/63
Modelo X Esquema X Instância
Esquema de BD (Também chamado de intenção do BD)
=É a descrição de um BD
segundo um modelo de dados
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 38/63
Modelo X Esquema X Instância
• Exemplos de Esquemas de BD
Entidade e relacionamento
Relacional
Cliente CPF Nome Rua Cidade
Conta Número Saldo
ClienteConta
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 39/63
Modelo X Esquema X Instância
• Alguns motivos para uso de esquemas de BD
� Gerenciamento da Complexidade:
• Dividir para conquistar + princípio da abstração
� Comunicação entre as pessoas envolvidas:
• Servem como ponto de referência comum e não ambíguo
� Redução dos custos no desenvolvimento
• É mais barato corrigir erros no modelo do que na implementação
� Predição do comportamento futuro do sistema
• Permite experimentar problemas/soluções antes da implementação
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 40/63
Modelo X Esquema X Instância
O que é uma Instância de BD?
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 41/63
Modelo X Esquema X Instância
Instância de BD(Também chamado de extensão do BD)
=É a coleção dos dados armazenados no BD em um determinado momento
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 42/63
Modelo X Esquema X Instância
• Exemplos de Instâncias de BD
222.222.222-22 Maria R. da Paz Calmaria 333.333.333-33 José R. do Bem Bonança 444.444.444-44 Ana R. do Saber Academia
Cliente CPF Nome Rua Cidade 222.222.222-22 Maria R. da Paz Calmaria 333.333.333-33 José R. do Bem Bonança 444.444.444-44 Ana R. do Saber Academia
Conta 1111 100,00 2222 200,00 3333 300,00 4444 400,00
ClienteConta 222.222.222-22 1111 333.333.333-33 2222 333.333.333-33 3333 444.444.444-44 3333 444.444.444-44 4444
1111 100,00 2222 200,00 3333 300,00 4444 400,00
Relacional
Rede
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 43/63
Modelo de Dados
• Classificação:
� Modelos com base em objetos (modelos de alto nível)
• Também Conhecido como Modelo Conceitual
� Modelos com base em registros (modelos de implementação)
• Também Conhecido como Modelo Lógico
� Modelos físicos (modelos de baixo nível)
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 44/63
Modelos com base em Objetos
• Descrição mais abstrata da realidade
• Não contém detalhes de implementação
• Independe do tipo de SGBD usado
• É o ponto de partida do projeto do BD
� EX:
• ER
• ER-X
• OMT
• UML
Entidade-Relacionamento
Orientado a Objetos/Objeto Relacional
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 45/63
Modelo Entidade-Relacionamento (ER)
• Consiste de uma coleção de objetos básicos chamados entidades, e em relacionamentos entre esses objetos.
cliente contaclienteconta
nome
rua
cidadenúmero
saldo
Dt_Nasc
Entidades
Atributos
Relacionamento
* *
Multiplicidade
CIn/UFPE – Projeto Conceitual de BD - Prof. Robson Fidalgo 46/63
Modelo UML Orientado a Objeto• Consiste de uma coleção de objetos básicos agrupados em
“classes”, e em relacionamentos entre essas classes.
Cliente
obterEndereço()obterIdade()...
nomeruacidadeDt_nasc. . .
Conta
creditar()debitar()...
númerosaldo. . .
Cliente/ContaAtributos
Métodos
Relacionamento
Multiplicidade
* *
Classe