Modelagem de dados

Da Wikipédia, a enciclopédia livre
Ir para a navegação Saltar para pesquisar

O processo de modelagem de dados. A figura ilustra a maneira como os modelos de dados são desenvolvidos e usados ​​hoje. Um modelo de dados conceitual é desenvolvido com base nos requisitos de dados para o aplicativo que está sendo desenvolvido, talvez no contexto de um modelo de atividade . O modelo de dados normalmente consiste em tipos de entidade, atributos, relacionamentos, regras de integridade e as definições desses objetos. Isso é usado como ponto de partida para o design da interface ou do banco de dados. [1]

A modelagem de dados em engenharia de software é o processo de criação de um modelo de dados para um sistema de informação, aplicando certas técnicas formais.

Visão geral

A modelagem de dados é um processo usado para definir e analisar os requisitos de dados necessários para apoiar os processos de negócios dentro do escopo dos sistemas de informação correspondentes nas organizações. Portanto, o processo de modelagem de dados envolve modeladores de dados profissionais trabalhando em estreita colaboração com as partes interessadas do negócio, bem como potenciais usuários do sistema de informação.

Existem três tipos diferentes de modelos de dados produzidos durante o progresso dos requisitos para o banco de dados real a ser usado para o sistema de informação. [2] Os requisitos de dados são inicialmente registrados como um modelo de dados conceitual que é essencialmente um conjunto de especificações independentes de tecnologia sobre os dados e é usado para discutir os requisitos iniciais com as partes interessadas do negócio. O modelo conceitual é então traduzido em um modelo de dados lógico , que documenta estruturas de dados que podem ser implementadas em bancos de dados. A implementação de um modelo de dados conceitual pode exigir vários modelos de dados lógicos. A última etapa na modelagem de dados é transformar o modelo de dados lógico em um modelo de dados físicoque organiza os dados em tabelas e contabiliza detalhes de acesso, desempenho e armazenamento. A modelagem de dados define não apenas os elementos de dados, mas também suas estruturas e os relacionamentos entre eles. [3]

Técnicas e metodologias de modelagem de dados são usadas para modelar dados de maneira padrão, consistente e previsível para gerenciá-los como um recurso. O uso de padrões de modelagem de dados é fortemente recomendado para todos os projetos que exigem um meio padrão de definição e análise de dados dentro de uma organização, por exemplo, usando modelagem de dados:

  • auxiliar analistas de negócios, programadores, testadores, redatores de manuais, seletores de pacotes de TI, engenheiros, gerentes, organizações relacionadas e clientes a entender e usar um modelo semiformal acordado que englobe os conceitos da organização e como eles se relacionam entre si
  • para gerenciar dados como um recurso
  • integrar sistemas de informação
  • para projetar bancos de dados/armazéns de dados (também conhecidos como repositórios de dados)

A modelagem de dados pode ser realizada durante vários tipos de projetos e em várias fases de projetos. Os modelos de dados são progressivos; não existe um modelo de dados final para um negócio ou aplicativo. Em vez disso, um modelo de dados deve ser considerado um documento vivo que mudará em resposta a uma mudança nos negócios. Idealmente, os modelos de dados devem ser armazenados em um repositório para que possam ser recuperados, expandidos e editados ao longo do tempo. Whitten et ai. (2004) determinaram dois tipos de modelagem de dados: [4]

  • Modelagem estratégica de dados: Isso faz parte da criação de uma estratégia de sistemas de informação, que define uma visão geral e arquitetura para sistemas de informação. A engenharia de tecnologia da informação é uma metodologia que abraça essa abordagem.
  • Modelagem de dados durante a análise de sistemas: Na análise de sistemas, os modelos lógicos de dados são criados como parte do desenvolvimento de novos bancos de dados.

A modelagem de dados também é usada como técnica para detalhar os requisitos de negócios para bancos de dados específicos . Às vezes é chamado de modelagem de banco de dados porque um modelo de dados é eventualmente implementado em um banco de dados. [4]

Tópicos

Modelos de dados

Como os modelos de dados oferecem benefícios. [1]

Os modelos de dados fornecem uma estrutura para os dados a serem usados ​​nos sistemas de informação, fornecendo definição e formato específicos. Se um modelo de dados for usado de forma consistente em todos os sistemas, a compatibilidade dos dados poderá ser alcançada. Se as mesmas estruturas de dados forem usadas para armazenar e acessar dados, diferentes aplicativos poderão compartilhar dados perfeitamente. Os resultados disso são indicados no diagrama. No entanto, sistemas e interfaces geralmente são caros para construir, operar e manter. Eles também podem restringir o negócio em vez de apoiá-lo. Isso pode ocorrer quando a qualidade dos modelos de dados implementados em sistemas e interfaces é ruim. [1]

Alguns problemas comuns encontrados em modelos de dados são:

  • As regras de negócios, específicas de como as coisas são feitas em um determinado local, geralmente são fixadas na estrutura de um modelo de dados. Isso significa que pequenas mudanças na forma como os negócios são conduzidos levam a grandes mudanças nos sistemas e interfaces de computadores. Portanto, as regras de negócios precisam ser implementadas de maneira flexível que não resulte em dependências complicadas, mas o modelo de dados deve ser flexível o suficiente para que as mudanças no negócio possam ser implementadas dentro do modelo de dados de maneira relativamente rápida e eficiente.
  • Os tipos de entidade geralmente não são identificados ou são identificados incorretamente. Isso pode levar à replicação de dados, estrutura de dados e funcionalidade, juntamente com os custos decorrentes dessa duplicação no desenvolvimento e manutenção. Portanto, as definições de dados devem ser tão explícitas e fáceis de entender quanto possível para minimizar interpretações errôneas e duplicações.
  • Os modelos de dados para diferentes sistemas são arbitrariamente diferentes. O resultado disso é que interfaces complexas são necessárias entre sistemas que compartilham dados. Essas interfaces podem representar entre 25-70% do custo dos sistemas atuais. As interfaces necessárias devem ser consideradas inerentemente ao projetar um modelo de dados, pois um modelo de dados por si só não seria utilizável sem interfaces em sistemas diferentes.
  • Os dados não podem ser compartilhados eletronicamente com clientes e fornecedores, porque a estrutura e o significado dos dados não foram padronizados. Para obter o valor ideal de um modelo de dados implementado, é muito importante definir padrões que garantam que os modelos de dados atendam às necessidades de negócios e sejam consistentes. [1]

Esquemas conceituais, lógicos e físicos

A arquitetura de três níveis ANSI/SPARC. Isso mostra que um modelo de dados pode ser um modelo externo (ou exibição), um modelo conceitual ou um modelo físico. Essa não é a única maneira de analisar modelos de dados, mas é uma maneira útil, principalmente ao comparar modelos. [1]

Em 1975 ANSI descreveu três tipos de instância de modelo de dados : [5]

  • Esquema conceitual : descreve a semântica de um domínio (o escopo do modelo). Por exemplo, pode ser um modelo da área de interesse de uma organização ou de uma indústria. Isso consiste em classes de entidade, representando tipos de coisas importantes no domínio, e asserções de relacionamentos sobre associações entre pares de classes de entidade. Um esquema conceitual especifica os tipos de fatos ou proposições que podem ser expressos usando o modelo. Nesse sentido, define as expressões permitidas em uma "linguagem" artificial com um escopo limitado pelo escopo do modelo. Simplesmente descrito, um esquema conceitual é o primeiro passo na organização dos requisitos de dados.
  • Esquema lógico : descreve a estrutura de algum domínio de informação. Isso consiste em descrições de (por exemplo) tabelas, colunas, classes orientadas a objetos e tags XML. O esquema lógico e o esquema conceitual às vezes são implementados como um e o mesmo. [2]
  • Esquema físico : descreve os meios físicos usados ​​para armazenar dados. Isso está relacionado a partições, CPUs, tablespaces e similares.

De acordo com o ANSI, essa abordagem permite que as três perspectivas sejam relativamente independentes uma da outra. A tecnologia de armazenamento pode mudar sem afetar o esquema lógico ou conceitual. A estrutura de tabela/coluna pode mudar sem (necessariamente) afetar o esquema conceitual. Em cada caso, é claro, as estruturas devem permanecer consistentes em todos os esquemas do mesmo modelo de dados.

Processo de modelagem de dados

Modelagem de dados no contexto da Integração de Processos de Negócios . [6]

No contexto da integração de processos de negócios (veja a figura), a modelagem de dados complementa a modelagem de processos de negócios e, por fim, resulta na geração de banco de dados. [6]

O processo de projetar um banco de dados envolve a produção dos três tipos de esquemas descritos anteriormente - conceitual, lógico e físico. O design do banco de dados documentado nesses esquemas é convertido por meio de uma linguagem de definição de dados , que pode ser usada para gerar um banco de dados. Um modelo de dados totalmente atribuído contém atributos detalhados (descrições) para cada entidade dentro dele. O termo "design de banco de dados" pode descrever muitas partes diferentes do design de um sistema de banco de dados geral . Principalmente, e mais corretamente, pode ser pensado como o design lógico das estruturas de dados de base usadas para armazenar os dados. No modelo relacional são as tabelas e visualizações . Em um banco de dados de objetosas entidades e relacionamentos são mapeados diretamente para classes de objetos e relacionamentos nomeados. No entanto, o termo "projeto de banco de dados" também pode ser usado para se aplicar ao processo geral de projeto, não apenas às estruturas de dados de base, mas também aos formulários e consultas usados ​​como parte do aplicativo de banco de dados geral dentro do Sistema de Gerenciamento de Banco de Dados ou SGBD.

No processo, as interfaces do sistema respondem por 25% a 70% dos custos de desenvolvimento e suporte dos sistemas atuais. A principal razão para esse custo é que esses sistemas não compartilham um modelo de dados comum. Se os modelos de dados são desenvolvidos sistema a sistema, não apenas a mesma análise é repetida em áreas sobrepostas, mas análises adicionais devem ser realizadas para criar as interfaces entre eles. A maioria dos sistemas dentro de uma organização contém os mesmos dados básicos, redesenvolvidos para um propósito específico. Portanto, um modelo de dados básico projetado de forma eficiente pode minimizar o retrabalho com modificações mínimas para fins de diferentes sistemas dentro da organização [1]

Metodologias de modelagem

Os modelos de dados representam áreas de interesse da informação. Embora existam muitas maneiras de criar modelos de dados, de acordo com Len Silverston (1997) [7] apenas duas metodologias de modelagem se destacam, top-down e bottom-up:

  • Modelos de baixo para cima ou modelos de integração de visualização geralmente são o resultado de um esforço de reengenharia . Eles geralmente começam com formulários de estruturas de dados existentes, campos em telas de aplicativos ou relatórios. Esses modelos geralmente são físicos, específicos do aplicativo e incompletos do ponto de vista corporativo . Eles podem não promover o compartilhamento de dados, especialmente se forem construídos sem referência a outras partes da organização. [7]
  • Os modelos de dados lógicos de cima para baixo , por outro lado, são criados de forma abstrata, obtendo informações de pessoas que conhecem a área de assunto. Um sistema pode não implementar todas as entidades em um modelo lógico, mas o modelo serve como ponto de referência ou modelo. [7]

Às vezes, os modelos são criados em uma mistura dos dois métodos: considerando as necessidades de dados e a estrutura de um aplicativo e fazendo referência consistente a um modelo de área de assunto. Infelizmente, em muitos ambientes, a distinção entre um modelo de dados lógico e um modelo de dados físico é confusa. Além disso, algumas ferramentas CASE não fazem distinção entre modelos de dados lógicos e físicos . [7]

Diagramas de entidade-relacionamento

Exemplo de um diagrama entidade-relacionamento IDEF1X usado para modelar o próprio IDEF1X. O nome da vista é mm. A hierarquia do domínio e as restrições também são fornecidas. As restrições são expressas como sentenças na teoria formal do metamodelo. [8]

Existem várias notações para modelagem de dados. O modelo real é freqüentemente chamado de "modelo entidade-relacionamento", porque descreve os dados em termos das entidades e relacionamentos descritos nos dados . [4] Um modelo entidade-relacionamento (ERM) é uma representação conceitual abstrata de dados estruturados. A modelagem entidade-relacionamento é um método de modelagem de banco de dados de esquema relacional , usado em engenharia de software para produzir um tipo de modelo de dados conceitual (ou modelo de dados semântico ) de um sistema, geralmente um banco de dados relacional , e seus requisitos de forma top-down .

Esses modelos estão sendo usados ​​na primeira etapa do projeto do sistema de informação durante a análise de requisitos para descrever as necessidades de informação ou o tipo de informação que deve ser armazenada em um banco de dados . A técnica de modelagem de dados pode ser usada para descrever qualquer ontologia (ou seja, uma visão geral e classificações de termos usados ​​e suas relações) para um determinado universo de discurso , ou seja, área de interesse.

Várias técnicas foram desenvolvidas para o projeto de modelos de dados. Embora essas metodologias guiem os modeladores de dados em seu trabalho, duas pessoas diferentes usando a mesma metodologia geralmente apresentam resultados muito diferentes. Os mais notáveis ​​são:

Modelagem de dados genéricos

Exemplo de um modelo de dados genérico. [9]

Modelos de dados genéricos são generalizações de modelos de dados convencionais . Eles definem tipos de relações gerais padronizados, juntamente com os tipos de coisas que podem ser relacionadas por tal tipo de relação. A definição de modelo de dados genérico é semelhante à definição de uma linguagem natural. Por exemplo, um modelo de dados genérico pode definir tipos de relação como uma 'relação de classificação', sendo uma relação binária entre uma coisa individual e um tipo de coisa (uma classe) e uma 'relação parte-todo', sendo uma relação binária entre duas coisas, uma com o papel de parte, a outra com o papel de todo, independentemente do tipo de coisas que estão relacionadas.

Dada uma lista extensível de classes, isso permite a classificação de qualquer coisa individual e especificar relações parte-todo para qualquer objeto individual. Pela padronização de uma lista extensível de tipos de relações, um modelo de dados genérico permite a expressão de um número ilimitado de tipos de fatos e se aproximará das capacidades das linguagens naturais. Os modelos de dados convencionais, por outro lado, têm um escopo de domínio fixo e limitado, pois a instanciação (uso) de tal modelo permite apenas expressões de tipos de fatos que são predefinidos no modelo.

Modelagem de dados semânticos

A estrutura lógica de dados de um SGBD, seja hierárquica, de rede ou relacional, não pode satisfazer totalmente os requisitos para uma definição conceitual de dados porque é limitada em escopo e tendenciosa para a estratégia de implementação empregada pelo SGBD. Isso é, a menos que o modelo de dados semânticos seja implementado no banco de dados de propósito, uma escolha que pode afetar ligeiramente o desempenho, mas geralmente melhora muito a produtividade.

Modelos de dados semânticos. [8]

Portanto, a necessidade de definir os dados a partir de uma visão conceitual levou ao desenvolvimento de técnicas de modelagem semântica de dados . Ou seja, técnicas para definir o significado dos dados dentro do contexto de suas inter-relações com outros dados. Conforme ilustrado na figura, o mundo real, em termos de recursos, ideias, eventos, etc., é simbolicamente definido dentro de armazenamentos de dados físicos. Um modelo de dados semântico é uma abstração que define como os símbolos armazenados se relacionam com o mundo real. Assim, o modelo deve ser uma representação fiel do mundo real. [8]

Um modelo de dados semântico pode ser usado para diversos propósitos, como: [8]

  • planejamento de recursos de dados
  • construção de bancos de dados compartilháveis
  • avaliação do software do fornecedor
  • integração de bancos de dados existentes

O objetivo geral dos modelos de dados semânticos é capturar mais significado dos dados, integrando conceitos relacionais com conceitos de abstração mais poderosos conhecidos no campo da Inteligência Artificial . A ideia é fornecer primitivas de modelagem de alto nível como parte integrante de um modelo de dados para facilitar a representação de situações do mundo real. [10]

Veja também

Referências

  1. ^ a b c d e f Matthew West e Julian Fowler (1999). Desenvolvimento de modelos de dados de alta qualidade . A European Process Industries STEP Technical Liaison Executive (EPISTLE).
  2. ^ a b Simison, Graeme. C. & Witt, Graham. C. (2005). Fundamentos de Modelagem de Dados . 3ª Edição. Editora Morgan Kaufmann . ISBN  0-12-644551-6
  3. ^ Glossário de Integração de Dados Arquivado em 20 de março de 2009, no Wayback Machine , Departamento de Transportes dos EUA, agosto de 2001.
  4. ^ a b c Whitten, Jeffrey L. ; Lonnie D. Bentley , Kevin C. Dittman . (2004). Métodos de Análise e Projeto de Sistemas . 6ª edição. ISBN 0-256-19906-X . 
  5. ^ Instituto Nacional Americano de Padrões. 1975. ANSI/X3/SPARC Grupo de Estudo sobre Sistemas de Gerenciamento de Banco de Dados; Relatório Provisório . FDT (Boletim de ACM SIGMOD) 7:2.
  6. ^ a b Paul R. Smith & Richard Sarfaty (1993). Criação de um plano estratégico para gerenciamento de configuração usando ferramentas de Engenharia de Software Auxiliada por Computador (CASE). Paper For 1993 National DOE/Contracts and Facilities CAD User's Group.
  7. ^ a b c d Len Silverston, WHInmon, Kent Graziano (2007). O livro de recursos do modelo de dados . Wiley, 1997. ISBN 0-471-15364-8 . Revisado por Van Scott em tdan.com . Acesso em 1 de novembro de 2008. 
  8. ^ a b c d FIPS Publicação 184 Arquivado em 3 de dezembro de 2013, no Wayback Machine lançado de IDEF1X pelo Computer Systems Laboratory do National Institute of Standards and Technology (NIST). 21 de dezembro de 1993.
  9. ^ Amnon Shabo (2006). Padrões de dados de genômica clínica para farmacogenética e farmacogenômica Arquivado em 22 de julho de 2009, no Wayback Machine .
  10. ^ "Modelagem de dados semântica" em: Metaclasses e sua aplicação . Notas de Palestras da Série de Livros em Ciência da Computação. Editora Springer Berlin/Heidelberg. Volume Volume 943/1995.

Leitura adicional

  • JH ter Bekke (1991). Modelagem Semântica de Dados em Ambientes Relacionais
  • John Vincent Carlis, Joseph D. Maguire (2001). Dominando a modelagem de dados: uma abordagem orientada ao usuário .
  • Alan Chmura, J. Mark Heumann (2005). Modelagem lógica de dados: o que é e como fazer .
  • Martin E. Modell (1992). Análise de dados, modelagem de dados e classificação .
  • M. Papazoglou, Stefano Spaccapietra, Zahir Tari (2000). Avanços na Modelagem de Dados Orientada a Objetos .
  • G. Lawrence Sanders (1995). Modelagem de dados
  • Graeme C. Simsion, Graham C. Witt (2005). Fundamentos de Modelagem de Dados'
  • Matthew West (2011) Desenvolvendo modelos de dados de alta qualidade

Links externos