Modelagem de banco de dados é o processo de levantamento, análise, categorização e exploração de todos os dados e tipos de informações que irão sustentar uma aplicação. Esta é uma etapa primordial no trabalho do desenvolvimento de sistemas, porque todo software é criado com determinados objetivos, para atender às necessidades dos usuários dentro deste cenário.
Assim, se um sistema for desenvolvido sem que haja uma modelagem de banco de dados bem executada no início do projeto, as chances de ele apresentar falhas ou até mesmo de não suprir os objetivos para os quais foi criado são grandes. Por isso, atenção a esta etapa e conte sempre com um profissional DBA, cientista ou engenheiro de dados dentro do seu negócio antes de começar a desenvolver qualquer software.
Confira neste artigo um pouco mais sobre o que é a modelagem de banco de dados e quais são os principais conceitos envolvidos nesta metodologia.
Modelagem de banco de dados vs modelagem de classes
Modelar dados é um processo bastante semelhante ao da modelagem de classes, explorado no desenvolvimento de softwares com técnicas de Orientação a Objetos (OO). Pode-se dizer que este conceito permeia toda a estruturação da modelagem de banco de dados, trazendo algumas pequenas diferenças.
Classes são grupos de objetos que serão distribuídos no código do software, e a sua modelagem está relacionada à identificação de cada um destes objetos e sua subsequente organização por características semelhantes, dentro de suas classes. Segundo a Unified Modeling Language (UML), as classes são representadas por retângulos divididos em três seções, onde são indicados: o nome da classe, seus atributos e seus métodos.
Vamos falar um pouco melhor sobre o que é cada um desses itens.
Nome da classe
O nome da classe será representado pela característica em comum entre os objetos que a compõem. Para identificar objetos, deve-se fazer a associação ao termo “objetos” mesmo no mundo real ou virtual, pensando em que elementos do cenário do cliente podem ser visualizados de forma concreta. Ao detectar objetos com características semelhantes, agrupa-se eles em uma classe e atribui-se um nome de identificação.
Atributos
Os atributos dentro de uma classe são as principais características dos objetos dentro dela identificados. Esses atributos são inerentes ou facilmente conectáveis aos seus objetos por correlação e lógica, como um CPF pode ser identificado como atributo de uma pessoa, ou uma informação de horário ou data pode ser um atributo de uma solicitação feita por essa pessoa. Lembrando que sempre é possível, durante a modelagem, identificar novas classes a partir de atributos encontrados.
Métodos
São classificados como ações ou comportamentos esperados para os objetos dentro de suas classes, considerando também suas principais características. Desta forma é possível que uma solicitação enviada a um sistema pode ser atendida, perdida ou rejeitada, por exemplo, o que se configuram como possíveis comportamentos.
Ao final desta identificação deve-se desenhar o diagrama quase que como um fluxo automatizado de chamadas telefônicas em uma central, por exemplo, estabelecendo relações de causalidade e cardinalidade entre as classes.
Se bem executada e com eventuais duplicidades entre classes eliminadas ao longo da modelagem, esse diagrama poderá ser aplicado para diferentes finalidad
es de acordo com as características identificadas no cenário do cliente.
Conceitos da modelagem de banco de dados
Ao criar as ligações entre as classes, são atribuídos códigos que posteriormente serão utilizados na modelagem do banco de dados com aquelas informações. Trazendo o debate para a criação de modelos de dados, temos o seguinte:
- identificação de entidades, da mesma forma que identificação de classes;
- atributos são associados aos tipos de entidades, da mesma forma que às classes;
- formas de agrupamento por relacionamento, herança, composição e agregação se aplicam, da mesma forma que na modelagem de classes;
- somente aspectos ligados a dados podem ser explorados, diferente dos aspectos de comportamento na modelagem de classes.
O grande objetivo de aplicar a modelagem de banco de dados na constituição dos sistemas de software é obter uma demonstração de como serão estruturados os dados dentro daquela plataforma para que o negócio fique em operação da forma necessária.
Em função disso, é fundamental que sejam desenhados projetos de banco de dados, seguindo etapas definidas para que haja o mínimo possível de falhas no produto final.
Previamente à estruturação e desenvolvimento de modelos de dados é preciso realizar uma análise de requisitos, ou seja, em conversa com o cliente entender qual a sua necessidade com aquele software que será desenvolvido, quais as regras de negócio que serão aplicadas e como a modelagem de banco de dados poderá ajudar as equipes de TI a estruturarem-no da forma mais fiel possível às expectativas traçadas.
Na sequência, existem três tipos principais de modelos de dados que poderão ser desenvolvidos e aplicados seguindo uma sequência lógica, são eles:
Modelo conceitual
Também chamados em algumas ocasiões de “modelos de domínios”, os modelos conceituais se utilizam de altos níveis de abstração — foco nos aspectos essenciais ao cenário investigado — para determinar e discriminar dentro do projeto de banco de dados quais informações podem estar presentes naquele determinado banco, de acordo com o tipo de entidade.
Se os dados armazenados são sobre pessoas, é possível elencar data de nascimento, CPF, RG, CNH, nome completo, nome dos pais, número de telefone etc. E isso fica previsto dentro do modelo conceitual de banco de dados. Normalmente esse tipo de modelo é utilizado e aplicado nas etapas mais iniciais de todos os projetos por ser de fácil compreensão.
Modelo lógico
O Modelo Lógico de Dados (MLDs) consiste em uma evolução a partir dos primeiros modelos construídos, normalmente os conceituais, onde são agregadas informações complementares como detalhes de implementação e as principais regra a serem aplicadas no software. Por meio deste modelo é possível já gerar atributos que serão fundamentais para colocar o sistema em operação e identificá-los.
Aqui são tipificados de forma objetiva os tipos de entidades, seus principais atributos e os relacionamentos entre elas.
Modelo físico
Por último, mas não menos importante, o modelo físico de banco de dados transporta a operação para o mundo real, demonstrando fisicamente os dados e o comportamento daquele projeto. O modelo é rigoroso, seguindo normas e determinações técnicas que possibilitam que aquele projeto seja colocado em prática, e dali em diante ele costuma ser transposto para o banco de dados final do projeto.
Normalmente utilizados para desenhar com precisão o esquema interno de funcionamento do banco em questão, no modelo físico são desenvolvidas e agregadas ao projeto tabelas de dados e são criadas restrições de integridade para os relacionamentos que exigirem tal procedimento.
Dentro deles devem ser definidas ainda a sintaxe dos scripts, ou seja, qual será o sistema operacional principal e em que outros o produto final também poderá rodar; e as regras de segurança, quando se define quem terá acesso a cada informação e dado gerado dentro daquele banco, além de entrar aqui também a definição de rotinas de segurança com relação aos dados armazenados.
A modelagem de banco de dados é um tema comum para quem vive o universo da tecnologia da informação, porém não tanto para as empresas e instituições que não contam com profissionais dessa área. É sempre fundamental contar com profissionais especializados na implementação de projetos de banco de dados dentro do seu negócio, ou então capacitar o seu time para que possam se tornar esses especialistas.
Veja nosso calendário de cursos e inscreva-se agora mesmo para se tornar um expert em modelagem de banco de dados