Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo SQL Magazine 61 - Modelagem de dados para um sistema de controle de orçamento
Artigo publicado Revista SQL Magazine 61.

![]()
Projeto
Modelagem de dados para um sistema para controle de orçamentos
O objetivo deste artigo é demonstrar o processo de construção do modelo conceitual e lógico de um banco de dados relacional. Para isso, utilizaremos um estudo de caso hipotético, que consiste na criação de um sistema de controle de orçamentos. Este sistema permite a inclusão de um orçamento mensal que é composto por contas de receita e despesa. Estas contas são definidas pelo usuário e classificadas em grupos e subgrupos que geram o plano de contas do sistema. Além do orçamento mensal, todos os recebimentos e pagamentos são lançados diariamente e vinculados à conta cadastrada no plano de contas. Desta forma, têm-se a possibilidade de análise do previsto através do orçamento mensal e da análise do que efetivamente foi realizado através dos lançamentos diários nas contas.
Para a construção do modelo de dados, seguiremos uma metodologia de desenvolvimento composta pelas etapas de: levantamento de dados, definição de entidades e associações, definição de atributos e identificadores, criação do modelo conceitual, definição das cardinalidades e, por fim, a criação do modelo lógico de dados.
Modelo Conceitual
Um modelo conceitual descreve a estrutura do banco de dados sem preocupar-se com o Sistema Gerenciador de Banco de Dados (SGBD) que será utilizado. Este modelo expressa quais dados aparecerão
Considerado como um padrão para a modelagem conceitual, o modelo Entidade-Relacionamento (comumente chamado de modelo ER) foi criado por Peter Chen em 1976 é ainda hoje serve como base para vários modelos, inclusive modelos orientado a objetos. Ele percebe o mundo como sendo um conjunto de entidades e relações entre estas. Uma entidade nada mais é do que a representação de algum fato ou componente de um sistema. Usualmente, suas propriedades são representadas graficamente através de um Diagrama Entidade-Relacionamento (DER), onde os retângulos representam as entidades e os losangos interligados por linhas representam as associações. O relacionamento entre as entidades a partir destas associações caracteriza uma instância ou ocorrência de relacionamento. A identificação de uma instância de relacionamento entre as entidades é gerada a partir da utilização do atributo identificador. A Figura 1 apresenta todos os elementos e símbolos que compõem um diagrama de ER.

Figura 1. Símbolos Utilizados no DER
O número de ocorrências de determinada entidade que podem estar associadas a ocorrências de outra entidade chama-se cardinalidade. Devemos considerar dois tipos de cardinalidade: a mínima e a máxima. Conforme representado na Figura
Após a definição das cardinalidades, temos como identificar se a entidade é forte ou fraca. Quando esta for fraca, a linha de ligação aparece em destaque (mais forte) conforme representado na Figura 1. Para melhor compreender o uso de cardinalidades e da definição de entidade forte ou fraca, vejamos o exemplo a seguir:
O domínio deste exemplo é a relação entre entidades Cliente e Compra, onde a cardinalidade mínima entre elas é “
Simplificando, podemos dizer que podem ser cadastrados clientes sem a obrigatoriedade destes terem registro de compra – também conhecida como associação opcional da entidade Cliente. Por outro lado, podemos dizer que cada compra possuirá no máximo um cliente. Como a entidade Compra depende de obrigatoriamente de uma ocorrência na entidade Cliente, dizemos que a entidade Compra é a entidade fraca, como observado na Figura 2.

Figura 2. Exemplo de Diagrama ER
Ao desenvolvermos o DER, temos uma melhor visão das relações existentes entre as entidades e desta forma facilita-se a construção do modelo lógico. Entretanto, para melhor compreendermos esta afirmação, vejamos a seguir algumas definições e características de qualquer modelo lógico de BD.
Modelo Lógico
O modelo lógico se preocupa em representar a estrutura dos dados e suas relações
Diferente do modelo conceitual que cria uma abstração da realidade voltada ao projeto do BD, o modelo lógico possui uma representação mais próxima da utilizada pelos SGBDs e, portanto, mais conhecida. Desta forma, muitos desenvolvedores criam os modelos lógicos de dados diretamente nestes. Entretanto, focar apenas no SGBD poderá limitar consideravelmente a percepção das relações e dados que deverão fazer parte do BD, e por isso o desenvolvimento do modelo conceitual é tão importante, pois foca apenas no propósito do BD sem considerar o SGBD que será utilizado.
Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Moacir Solano Kichel
Atua no ramo de tecnologia da informação há mais de 19 anos, presta consultoria a empresas, é coordenador do núcleo de tecnologia da informação, professor da cadeira de Banco de Dados e pós-graduação da UnC – Universidade do Contestado - campus Concórdia/SC, possui graduação em gestão da tecnologia ...



