Archive for the 'Modelagem de dados' Category

Fundamentos sobre modelagem de dados multidimensionais

Olá pessoal,

Estava aqui dando uma lida em alguns artigos e encontrei um muito interessante que apresenta uma visão sobre os fundamentos da modelagem de dados multidimensional, Fundamentos e Modelagem de Bancos de Dados Multidimensionais.

Apesar de não muito recente, achei o artigo bem simples e fácil de entender. O artigo possuí alguns exemplos e comparações com a modelagem relacional.

“Uma vez que ler o livro do Ralph Kimball irá demorar alguns minutos a mais” gostaria de recomendar através deste post a leitura deste artigo para quem tem interesse em conhecer um pouco sobre bancos de dados multidimensionais.

Abraços e até a próxima!!!

Anúncios

Modelando dados: Teoria, Prática e Ferramentas de apoio

Este post consiste apenas em uma descrição resumida de etapas envolvidas durante minha atuação em um projeto, portanto diversos detalhes teóricos sobre modelagem de dados foram deixados de lado, caso tenha interesse em informações mais detalhadas e completas sobre o tema recomendo a leitura do livro “Projeto De Banco De Dados –Uma visão pratica do Mauricio Abreu e Felipe Nery Rodrigues Machado que é a bibliografia que tenho utilizado”.

Olá Pessoal,

Nas duas ultimas semanas estive envolvido em uma fase do projeto que consistia em modelar uma base de dados.

Antes de continuar este post me recordei de uma frase dita por um amigo referente a este assunto que mesmo tendo sido no tom de brincadeira na ocasião eu jamais esqueci:

Modelagem de dados: Coisas diferentes não se juntam e coisas semelhantes não se separam

Modelagem Conceitual

Um dos grandes desafios envolvidos foi o entendimento do negócio do cliente e a tradução deste cenário em uma base de dados, dentro da modelagem de dados este é um desafio comum. Para facilitar o entendimento do negócio e a transformação deste entendimento em um banco de dados iniciamos a modelagem conceitual. Basicamente um modelo conceitual consiste no nivel mais alto de abstração definindo entidades (representado por um quadrado que é um conjunto que agrupa um assunto com sentido próprio) e seus relacionamentos, desta forma é possível envolver pessoas que não são do âmbito técnico para apoiar a modelagem.  A figura a seguir ilustra um exemplo de modelagem conceitual utilizando o Modelo de entidade relacionamento (MER):

image

O exemplo acima ilustra o relacionamento entre as entidades departamento e funcionários, para definir este relacionamento utilizamos a pergunta tem e fazemos esta pergunta nas duas direções, ou seja, 1 departamento tem diversos funcionários (N) e um funcionario tem 1 departamento.  Caso tivessemos um caso com (N)  nas duas direções precisariamos de uma tabela auxiliar como o exemplo a seguir:

image

Modelagem Lógica

Nesta etapa iniciamos a nossa preocupação com os atributos de cada entidade como por exemplo na figura acima teremos Nome do Aluno, Codigo de Matricula, etc além disso temos também o inicio do uso de regras de integridade como Chaves primárias, candidatas e estrangeiras bem como o uso das formas normais de modelagem (1FN, 2FN, 3FN, etc)  e adequação do padrão de nomenclatura.

A figura a seguir ilustra a evolução da primeira figura para o modelo lógico:

image

Modelagem Física

Nesta etapa as entidades viram tabelas no banco de dados e os atributos colunas e começamos a nos preocupar com as limitações impostas pelo SGDB em relação a regras de consistência (Constraints) por exemplo; se um campo é obrigatório ou não, se uma coluna será preenchida por uma sequencia automática, qual é o tipo e tamanho de dados, qual é o esquema a ser utilizado, etc.

Ferramentas

Para apoiar a modelagem de dados há diversas ferramentas disponíveis no mercado,  algumas destas simples que podem ser usadas facilmente sem nenhuma exigência de grande conhecimento na ferramenta e outras bastante robustas e complexas, dentre estas ferramentas há ótimas opções free.

  • MS-Visio:  O fato de ser uma ferramenta da MS e inclusa em algumas versões do pacote offce faz dela uma das mais populares ferramentas para diversas funcionalidades dentre elas desenhos de fluxogramas, organogramas, Fluxo de dados e Modelagem de dados, como o vísio é uma ferramenta genérica em algumas funcionalidades especificas para a modelagem de dados ele fica devendo, mas ainda sim é uma boa ferramenta.
  • Erwin:  Padrão de mercado há anos, oferece recursos muito interessantes como análise de perfil dos dados e validação do modelo, além de compatibilidade com diversas bases de dados. O Erwin é  sem dúvida uma das melhores ferramentas para modelagem de dados, é uma pena que o preço não é um dos grande atrativos desta ferramenta -quase 5.000 dólares, para mais detalhes em: http://erwin.com/.
  • Enterprise Architect:  Esta é também uma ferramenta sensacional, além da modelagem de dados ela contempla a modelagem de processos de casos de uso, oferece integração com IDEs de desenvolvimento como o Visual Studio, Eclipse , Auditoria ponta-a-ponta, possuí uma documentação primorosa, acho que esta é a ferramenta mais completa que já vi em termos de modelagem e o preço é consideravelmente barato por tudo que essa ferramento oferece  – cerca de 300 dólares, mais detalhes em: http://www.sparxsystems.com/products/ea/.
  • Power Architect:  Bom, já falei bastante das ferramentas pagas né, agora vou comentar um pouco sobre as ferramentas free. O Power architect é uma ótima opção free, oferece boa navegação no modelo, é simples e fácil de usar e oferece a possibilidade de Engenharia Forward/Reverse, possui algumas deficiências como o suporte a dominios e regras de check integrity, mas ainda sim é uma ótima opção free, mais detalhes em: http://www.sqlpower.ca/page/architect.
  • DB Designer: Outra ferramenta free bastante conhecida principalmente por quem trabalha com mySQL e Postgree, possui ótima navegação no modelo e facilidade de organização além da facilidade de gerar um dicionário de dados em HTML, possui algumas deficiencias na engenharia reversa com bancos como o SQL Server, mas para o uso com o  MySQL, creio que é uma das melhores senão a melhor, mais detalhes podem ser obtidos em: http://www.fabforce.net/dbdesigner4/

Por aqui encerro este post, fico a disposição sobre qualquer dúvida a respeito deste assunto e espero que este post possa ser útil a vocês.

Abraços,

Giuliano B. Cardoso

 


Giuliano B. Cardoso,
Administrador de Empresas com Habilitação em Informática, atua em Tecnologia da Informação há mais de 10 anos, especialista em banco de dados SQL Server, atualmente atua como consultor em Business Intelligence e instrutor de cursos oficiais Microsoft.
Possuí as seguintes certificações: ITIL-F, MCP,MCDBA SQL 2000, MCTS SQL 2005/2008, MCITP SQL2005/2008 e MCT

Mais acessados