in1008 – projeto conceitual de banco de dados professor: robson fidalgo padrões de modelagem de...
TRANSCRIPT
IN1008 – Projeto Conceitual de Banco de DadosProfessor: Robson Fidalgo
Padrões de Modelagem de Dados
Marcio Magalhães de Souza28/11/2007
2
Roteiro
• Padrões/Estratégias
• Padrões de Modelagem de Dados/Análise
• Considerações Finais
• Referências
3
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”
4
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).
5
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
6
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
7
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
8
Estratégias: Razões
• Razões
– Falha de abordagens existentes
– Elegância
– Inovação
– Eficiência
9
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
Padrões de Modelagem de Dados
11
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)
12
Padrões de Modelagem de Dados: Diferença
• Padrões de Modelagem de Dados
• Padrões de Análise
13
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
14
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
15
Padrões de Modelagem de Dados: Convenção Sintática
• Composta
– Entidades
– Subtipos e Supertipos
– Atributos
– Relacionamentos
16
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
17
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
PRODUTO SERVICO
ITEM DO CATALOGO
18
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
PRODUTO• Preco unitario
SERVICO
ITEM DO CATALOGO
• Descricao
19
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
PRODUTO• Preco unitario
SERVICO
ITEM DO CATALOGO
• Descricao
20
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
21
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
22
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
<sem marca finalização> ---<tripé>
<entidade 2>
23
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”
24
Padrões de Modelagem de Dados: Convenção Sintática
• Relacionamentos
PRODUTO• Preco unitario
SERVICO
ITEM DO CATALOGO
• Descricao
ITEM LINHA• Preco
•Quantidade
para
Comprado via
25
Padrões de Modelagem de Dados: Convenção Sintática
• Relacionamentos
26
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
27
Padrões de Modelagem de Dados: Convenção Posicional
• Disposição aleatória de entidades no diagrama
28
Padrões de Modelagem de Dados: Convenção Posicional
• Disposição ordenada das entidades no diagrama
29
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.
30
Padrões de Modelagem de Dados: Convenção Semântica
• Um modelo de organização
31
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.
32
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.)
33
Padrões de Modelagem de Dados: Convenção Semântica
• Representação geral de Organização com Restrição
34
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
35
Padrões de Modelagem de Dados: Convenção Semântica
• Modelo Universal
36
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
37
• 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 Smarties-Using UML for Data Modeling”, 1999.
• http://www.essentialstrategies.com/publications/modeling/advanceddm.htm, Novembro/2007.
Referências
38
• http://www.essentialstrategies.com/publications/modeling/, 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.
Referências
39
?Dúvidas
IN1008 – Projeto Conceitual de Banco de DadosProfessor: Robson Fidalgo
Padrões de Modelagem de Dados
Marcio Magalhães de Souza28/11/2007