INTRODUÇÃO A MODELAGEM DE DADOS

Atualizado: 11 de set. de 2021


A definição da filosofia diz que, a filosofia é o estudo de questões gerais e fundamentais sobre a existência, conhecimento, valores, razão, mente, e linguagem; frequentemente colocadas como problemas a se resolver. E se você refletir a respeito, isso é tecnicamente o que fazemos em nossa área. Temos questões a serem indagadas, problemas a serem resolvidos. E você não chega a solução de algo, sem antes filosofar sobre o problema.

Em muitos negócios, estudamos o caráter da tecnologia e suas relações com a sociedade para encontrarmos oportunidades para a satisfação humana, ou seja, a camada de usuários. Pensamos em acomodações, até mesmo em suas experiências e emoções com o uso de nossas soluções e produtos desenvolvidos.


Então vamos filosofar um pouquinho comigo...

A evolução da humanidade pode ser encarada como um trajeto no sentido da aquisição progressiva da capacidade individual da abstração. De um ser intimamente ligado à natureza, o homem tornou-se, ao longo do tempo, um ente isolado, independente e com uma capacidade de introspecção objetiva cada vez maior.


O aparecimento do computador deu-se numa época em que essa capacidade de abstração havia deixado de ser privilégio de alguns e passado a pertencer e ser exercida por todos aqueles cuja educação e ambiente fossem propícios. As informações informais deixaram de satisfazer aos anseios individuais de abstração e objetividade; cada vez são exigidas informações mais objetivas e abstratas. Dentre as informações formais, destacam-se as que podem ser expressadas matematicamente. Estas são as que introduzimos no computador, por meio de dados tratados através de programas, que a máquina executa direta ou indiretamente.


Dados e programas são modelos formais matemáticos de realidade ou de abstrações. Vamos introduzir os vários níveis de abstração envolvidos no processo de tratar informações através da máquina abstrata que é o computador.

Na figura ao lado, apresento um esquema que contém os vários níveis envolvidos em um possível processo de modelagem, levando à criação de uma base de dados.


O nível mais alto é o do mundo real que, do ponto de vista formal, é ainda muito nebuloso. Os objetos do mundo real são os seres, os fatos, as coisas e os organismos sociais.


O segundo nível é o das informações (tratadas de maneira ainda informal) e é caracterizado por relatórios escritos em uma linguagem natural (Português, Inglês, etc.). Esse nível, denominado modelo descritivo, contém a descrição de um universo totalmente inteligível para as pessoas que interagem normalmente com ele. Não há regras formais para se desenvolver esse modelo, pois tanto o mundo real quanto o próprio modelo descritivo não são formais.


O terceiro nível é o das informações formais, em que o modelo desenvolvido passa a ser estritamente formal. Como o objetivo é chegar-se, mais a frente em um modelo computacional, o formalismo a ser adotado é o da matemática. Esses modelos são denominados modelos conceituais, caracterizando-os por símbolos, que devem ter uma conceituação rigorosa.

Nos modelos conceituais aparecem dois aspectos distintos, em geral, misturados nos modelos descritivos: tratam-se das estruturas e da manipulação das informações.

As informações podem ser organizadas estruturalmente. Por exemplo: as informações sobre fornecedores contêm partes referentes ao endereço, que por sua vez é estruturado em local, CEP e cidade, sendo o local subdividido em rua, número e complemento.


O quarto nível é o nível dos dados, que são os símbolos a serem introduzidos no computador, tanto na descrição de estruturas (meta-dados, isto é, os dados que descrevem os dados) quanto naqueles que constituem os dados a serem processados pela máquina.


O quinto e último nível é o nível da máquina, não mais do ponto de vista do usuário, mas dos aspectos internos, ou seja, das representações internas dos dados e programas. O usuário não toma conhecimento desses detalhes. Este nível está ligado a atividade de administração de banco de dados.


Recapitulando:

  • Modelo Descritivo: Pode ser considerada como descrição de uma realidade, não possui nenhum formalismo. Este é o problema a ser tratado.

  • Modelo Conceitual: Descrição da realidade sob um aspecto mais formal, apontando informações. É usada como representação de alto nível e considera exclusivamente o ponto de vista do usuário criador dos dados.

  • Modelo Lógico: Modelo Lógico agrega mais alguns detalhes de implementação.

  • Modelo Físico: Implementação no banco de dados. Demonstra como os dados são fisicamente armazenados.

Modelar significa criar um modelo que explique as características de funcionamento e comportamento de um software a partir do qual ele será criado, facilitando seu entendimento e seu projeto, através das características principais que evitarão erros de programação, projeto e funcionamento. É uma parte importante do desenho de um sistema de informação. Os modelos de dados são ferramentas que permitem demonstrar como serão construídas as estruturas de dados que darão suporte aos processos de negócio, como esses dados estarão organizados e quais os relacionamentos que pretendemos estabelecer entre eles.


E na engenharia de banco de dados, o processo de criação de uma base, deveria seguir uma cadeia de processos organizada similarmente ao fluxograma abaixo:


Modelo Descritivo


O modelo descritivo auxilia a documentar informações que poderiam passar despercebidas.

Por não ter técnicas específicas, devemos procurar neste momento pensar em sujeitos (pessoas, empresas ou pessoas exercendo uma atividade, por exemplo médico), e devemos escrever sobre eles no modelo descritivo. Outra técnica é a de descrever objetos que fazem parte do contexto (por exemplo Nota Fiscal, ou mesmo produtos vendidos pela empresa).

O foco deve ser o de retratar informações existentes no levantamento das necessidades.

O modelo descritivo servirá de base para o modelo conceitual. Este por sua vez deve ser mais estruturado, porém, ainda não tem uma apresentação visual obrigatória, servindo ainda para um maior detalhamento de informações a serem documentadas para a criação dos modelos lógico e Físico.


Exemplo de Modelo Descritivo

  • Clínica Médica

Em uma clínica trabalham médicos e existem pacientes internados. 
Cada médico é identificado pelo seu CRM, possui um nome e recebe um salário na clínica.
Um médico tem formação em diversas especialidades (ortopedia, traumatologia, etc), mas só exerce uma delas na clínica. 
Para todo paciente internado na clínica são cadastrados alguns dados pessoais: nome, RG, CPF, endereço, telefone(s) para contato e data do nascimento. 
Um paciente tem sempre um determinado médico como responsável (com um horário de visita diário predeterminado), porém vários outros médicos podem participar do seu tratamento. 
Pacientes estão sempre internados em quartos individuais, que são identificados por um número e ficam em um andar da clínica. 
A clínica possui duas filiais que estão em outros bairros da cidade de São Paulo. 
A clínica possui também terapias complementares aos tratamentos médicos, tais como acupuntura, massagem e Fisioterapia. 
Alguns profissionais são empregados da clinica e outros são prestadores de serviço.

Modelo conceitual


O modelo conceitual deve detalhar as informações sem a necessidade de apresentar as informações sob o ponto de vista visual.

Este modelo muitas vezes acaba sendo mesclado com o modelo descritivo tornando um documento único. A importância desse modelo é grande, pois aqui o nível de detalhamento das informações deve ser maior. Este é o modelo de alto nível em que contém o detalhe menos granular, mas estabelece o escopo global do que está para ser incluído dentro do conjunto do modelo.


Exemplo

A clinica possui as seguintes informações:

  • Nome

  • Endereço

  • Telefone

  • Email

Os pacientes possuem as seguintes informações:

  • Nome

  • Identidade

  • Endereço

  • Email

  • Telefone


Componentes de Modelagem de Dados


O modelo de dados é formado por três componentes:


Entidade

O mundo está cheio de “coisas” e nós abstraímos coisas semelhantes e chamamos essas abstrações de objetos ou entidades.

O nosso conceito, do que constituem os critérios apropriados para determinar a semelhança, é que eles dependem dos objetos que nós visamos.

Entidades são objetos modelados em função dos papéis que desempenham em um sistema específico.

  • Uma única entidade do mundo real pode desempenhar papéis diferentes em sistemas diferentes.

  • Entidades diferentes do mundo real podem desempenhar o mesmo papel em um sistema.

  • Uma única entidade do mundo real pode desempenhar mais de um papel em um mesmo sistema