Padrões de Modelagem de Dados
IN1008 – Projeto Conceitual de Banco de Dados
Professor: Robson Fidalgo
Marcio Magalhães de Souza
28/11/2007
Roteiro
• Padrões/Estratégias
• Padrões de Modelagem de Dados/Análise
• Considerações Finais
• Referências
2
Padrões: Objetivo
• Uma ciência deve ter vocabulário para expressar seus
conceitos
• Criar um corpo de literatura, para ajudar desenvolvedores
de software a resolverem problemas de dificuldade
comum, encontrados através da engenharia e
desenvolvimento de software (Cottini, 1999)
• “...modeladores...modelagem de dados”
3
Padrões
• Ajudam a estabelecer uma linguagem compartilhada
para comunicação de percepção e experiência sobre
problemas e suas soluções
• Expressam exemplos de boa prática, aqueles que podem
ser usados para ajudar modeladores no desenvolvimento
de resultados mais efetivos. Ajudam desenvolvedores a
ganhar um entendimento intuitivo, uma maior
sensibilidade para a construção de modelos (Coad et al.,
1995).
4
Padrões
• Representam um grande passo para o reuso
• Bons padrões devem ajudar, guiar ou instruir um
profissional inexperiente, através de um processo de
solução de problema
• Estratégias
5
Estratégias: Finalidade
• Uma estratégia consiste em um conjunto de ações,
destinado a alcançar determinado objetivo (Coad et al.,
1995)
• Guiar o modelador no decorrer do desenvolvimento do
projeto, indicando o quê, como e quando executar
determinadas ações
6
Estratégias: Uso
• Fases
– Descoberta
• Uso inicial de estratégias
– Generalizações
• A todos os limites de possibilidades que uma estratégia pode ser
aplicável
7
Estratégias: Razões
• Razões
– Falha de abordagens existentes
– Elegância
– Inovação
– Eficiência
8
Estratégias
• As estratégias consistem em um importante meio,
através do qual a realização de uma tarefa se torna mais
eficiente e confiável
– Confiável
• Fornecem um conjunto de ações que deve ser usado como guia para a
realização de determinada tarefa
– Eficiente
• Desde que haja mais de um modo para se realizar uma tarefa
• Conhecimento estratégico
9
Padrões de Modelagem de Dados
Padrões de Modelagem de Dados:
Histórico
• Década de 90
• Tão importante quanto os Padrões de Projeto
• Atualmente, existem dois livros que abordam esse tema
• Padrões de Modelagem de Dados, David C. Hay (1995)
• Padrões de Análise, Martin Fowler (1996)
11
Padrões de Modelagem de Dados:
Diferença
• Padrões de Modelagem de Dados
• Padrões de Análise
12
Padrões de Modelagem de Dados:
Abordagem
• Problemas clássicos
– Modelos são sempre difíceis de ler
– Modelos não descrevem o que é verdadeiramente fundamental
para o negócio
• Uso de templates de modelos comuns
– Aspectos familiares fazem os modelos mais fáceis de ler
– Características similares usadas por muitas organizações são
mais apropriadas para descrever aspectos fundamentais para
todos os tipos de modelos
13
Padrões de Modelagem de Dados:
Proposta
• Premissas principais
–
–
–
–
–
Modelo que se baseia nas notações do CASE*Method
Seja Simples
Poucos símbolos
Tenha uma lógica para dispor as entidades num diagrama
Modele o fundamental para o negócio
• Convenções
– Sintática
– Posicional
– Semântica
14
Padrões de Modelagem de Dados:
Convenção Sintática
• Composta
– Entidades
– Subtipos e Supertipos
– Atributos
– Relacionamentos
15
Padrões de Modelagem de Dados:
Convenção Sintática
• Entidades
– Uma entidade é algo com significado sobre a qual uma
organização deseja ter informação
– Informação: tangível (produto ou cliente) ou intangível
(transação)
– Representação
PRODUTO
SERVICO
16
Padrões de Modelagem de Dados:
Convenção Sintática
• Subtipos e Supertipos
– Subtipo de uma entidade é a definição de um subconjunto de
suas ocorrências e são mostrados como retângulos dentro da
representação dos seus supertipos
ITEM DO CATALOGO
PRODUTO
SERVICO
17
Padrões de Modelagem de Dados:
Convenção Sintática
• Atributos
– A representação não é obrigatória dentro do diagrama de
modelagem de dados, mas sempre deve existir no dicionário de
dados
ITEM DO CATALOGO
PRODUTO
• Preco unitario
SERVICO
• Descricao
18
Padrões de Modelagem de Dados:
Convenção Sintática
• Atributos
– Um “atributo de” ou um “relacionamento para” um supertipo é
também um “atributo de” ou um “relacionamento para” todo
subtipo dentro dele
ITEM DO CATALOGO
PRODUTO
• Preco unitario
SERVICO
• Descricao
19
Padrões de Modelagem de Dados:
Convenção Sintática
• Atributos
– Transformação de atributo em entidade acontece quando um
atributo tem seus próprios atributos
LIVRO
• Autor
LIVRO
AUTOR
• Nome
•Ultimo nome
•Nacionalidade
20
Padrões de Modelagem de Dados:
Convenção Sintática
• Relacionamentos
– São apresentados através da combinação de linhas cheias e
tracejadas
– Os símbolos de relacionamento incluem aqueles de
cardinalidade “um”, “muitos” e “um-para-muitos”
– Cada relacionamento pode ser escrito/lido como duas
sentenças, cada uma com uma estrutura específica
21
Padrões de Modelagem de Dados:
Convenção Sintática
• Relacionamentos
– Forma da sentença
Cada
<entidade 1>
deve ser, deve estar
(ou)
pode ser, pode estar
linha sólida
--linha tracejada
<nome relacionamento>
uma e somente uma
(ou)
uma ou mais
<entidade 2>
<sem marca finalização>
--<tripé>
22
Padrões de Modelagem de Dados:
Convenção Sintática
• Relacionamentos
– Sentenças construídas
• Sentença 1
– “Cada ITEM LINHA deve estar para um e somente um ITEM DO
CATALOGO”
• Sentença 2
– “Cada ITEM DO CATALOGO pode ser comprado via um ou mais ITEM
LINHA”
23
Padrões de Modelagem de Dados:
Convenção Sintática
• Relacionamentos
ITEM LINHA
• Preco
•Quantidade
para
Comprado via
ITEM DO CATALOGO
PRODUTO
• Preco unitario
SERVICO
• Descricao
24
Padrões de Modelagem de Dados:
Convenção Sintática
• Relacionamentos
25
Padrões de Modelagem de Dados:
Convenção Posicional
• Arranjar as entidades no diagrama
• Existe regra?
• Benefícios
– Alguém que nunca viu o modelo mas conheça as convenções,
tenha uma idéia do que se trata o diagrama
– Ser mais fácil enxergar os padrões
26
Padrões de Modelagem de Dados:
Convenção Posicional
• Disposição aleatória de entidades no diagrama
27
Padrões de Modelagem de Dados:
Convenção Posicional
• Disposição ordenada das entidades no diagrama
28
Padrões de Modelagem de Dados:
Convenção Semântica
• Consiste em modelar situações de negócios similares de
formas similares
– Exemplo 1
• Considere uma companhia. Ela pode ser composta de divisões que por
sua vez pode ser composta de departamentos e cada um deste pode ser
composto por grupos.
29
Padrões de Modelagem de Dados:
Convenção Semântica
• Um modelo de organização
30
Padrões de Modelagem de Dados:
Convenção Semântica
• Representação geral de Organização
– Exemplo 2
• Considere uma organização, onde cada instância de organização pode
ser composta de uma ou mais outras organizações.
31
Padrões de Modelagem de Dados:
Convenção Semântica
• Incrementar a representação geral de Organização
– Exemplo 3
• Considere uma organização, onde cada instância de organização pode
ser composta de uma ou mais outras organizações. Cada organização,
na seqüência, deve ser um exemplo de um e somente um tipo de
organização (que define se é uma divisão, grupo, etc.)
32
Padrões de Modelagem de Dados:
Convenção Semântica
• Representação geral de Organização com Restrição
33
Padrões de Modelagem de Dados:
Convenção Semântica
• Convenções de Pensamento
– Estabelece 5 tipos de padrões avançados
• Estrutura organizacional
• Produtos e inventários
• Planejamento de requisição de material
• Contas
• Contratos
34
Padrões de Modelagem de Dados:
Convenção Semântica
• Modelo Universal
35
Considerações Finais
• Após 10 anos não foi estabelecido um completo
conjunto de práticas padrões, pois o campo da
modelagem de dados ainda não atingiu a maturidade
suficiente
• O campo ainda é fértil para este tipo de abordagem,
principalmente se considerar a visão de Hay
36
Referências
• Hay, David C. “Data Model Patterns-Conventions of
Thouhgt”, 1996.
• Cottini, Letícia T. “Estratégias e Padrões para
Modelagem de Banco de Dados para Sistemas
Baseados na Arquitetura Softboard”, Instituto
Nacional de Pesquisas Espaciais - INPE, 1999.
• Muller, Robert J. “Database Design for SmartiesUsing UML for Data Modeling”, 1999.
• http://www.essentialstrategies.com/publications/modelin
g/advanceddm.htm, Novembro/2007.
37
Referências
• http://www.essentialstrategies.com/publications/modelin
g/, Novembro/2007.
• http://www.agiledata.org/essays/dataModeling101.html#
ApplyDataModelPatterns, Novembro/2007.
• Marlowe, Thomas J., Ku, Cyril S. e James W., Benham.
“Design Patterns for Database Pedagogy – A
Proposal”, Technical Symposium on Computer Science
Education, St. Louis-Missouri-USA, 2005.
38
Dúvidas
?
39
Padrões de Modelagem de Dados
IN1008 – Projeto Conceitual de Banco de Dados
Professor: Robson Fidalgo
Marcio Magalhães de Souza
28/11/2007
Download

Padrões de Modelagem de Dados