Padres de Modelagem de Dados IN 1008 Projeto

  • Slides: 40
Download presentation
Padrões de Modelagem de Dados IN 1008 – Projeto Conceitual de Banco de Dados

Padrões de Modelagem de Dados IN 1008 – 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

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

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

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,

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

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 •

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 –

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

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

Padrões de Modelagem de Dados: Histórico • Década de 90 • Tão importante quanto

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

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

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

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

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

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

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 é

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

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

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

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

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

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 •

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 Sintática • Relacionamentos 25

Padrões de Modelagem de Dados: Convenção Posicional • Arranjar as entidades no diagrama •

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

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

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

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 • Um modelo de organização 30

Padrões de Modelagem de Dados: Convenção Semântica • Representação geral de Organização – Exemplo

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

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

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

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

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

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

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 Smarties. Using 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/data. Modeling

Referências • http: //www. essentialstrategies. com/publications/modelin g/, Novembro/2007. • http: //www. agiledata. org/essays/data. Modeling 101. html# Apply. Data. Model. Patterns, 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

Dúvidas ? 39

Padrões de Modelagem de Dados IN 1008 – Projeto Conceitual de Banco de Dados

Padrões de Modelagem de Dados IN 1008 – Projeto Conceitual de Banco de Dados Professor: Robson Fidalgo Marcio Magalhães de Souza 28/11/2007