Modelagem de dados

A primeira coisa que se faz ao criar um banco de dados é decidir quais dados do negócio vão ser guardados e em que formato. Esse projeto se chama modelagem de dados. Este guia começa pelas etapas da modelagem e pelo jeito de desenhar um DER, passa pela definição de entidades, atributos, relacionamentos e identificadores, chega ao refinamento com a normalização e termina na desnormalização, que cria redundância de propósito em nome do desempenho. Os exemplos usam situações comuns do dia a dia, como funcionários, departamentos e pedidos, e cada capítulo tem uma figura que você pode manipular. O SQL que lê os dados das tabelas criadas assim fica no guia Fundamentos de SQL.

01

Modelagem de dados e DER: a planta que leva o negócio para os dados

Ninguém constrói uma casa começando direto pelos tijolos. Primeiro vem a planta: quantos cômodos, onde ficam as portas. Com o banco de dados é igual. Desenhar antes quais dados o negócio tem e como eles se ligam é a modelagem de dados, e o resultado é o modelo de dados.

A modelagem tem três características.

  • Abstração: tira o que há de comum entre os inúmeros fatos do mundo real e representa isso num formato definido
  • Simplificação: usa uma notação definida para que qualquer pessoa entenda com facilidade
  • Clareza: elimina as ambiguidades para que só exista uma leitura possível

Também há três pontos de vista sobre o negócio: o que se controla (perspectiva de dados), o que se faz (perspectiva de processos) e como esse trabalho afeta os dados (perspectiva da relação entre dados e processos). Na modelagem de dados, o centro é a perspectiva de dados.

Conceitual → lógico → físico: três etapas de detalhamento

Uma planta também começa pelo quadro geral e vai ganhando detalhes. A modelagem se divide em três etapas.

EtapaO que se fazCaracterísticas
Modelagem conceitualEncontra as entidades centrais do negócio inteiro e os relacionamentos entre elasO nível de abstração mais alto. O quadro geral, na visão da empresa toda
Modelagem lógicaDefine com precisão chaves, atributos e relacionamentos e faz a normalizaçãoNão depende de um SGBD específico. A maior reusabilidade
Modelagem físicaDefine tabelas, tipos de coluna e índices de acordo com o SGBD realLeva em conta desempenho e espaço de armazenamento. O nível de abstração mais baixo

Os três níveis de esquema e a independência de dados

Os mesmos dados precisam aparecer de jeitos diferentes para cada pessoa. A arquitetura ANSI/SPARC divide o banco de dados em três níveis. O objetivo dessa divisão é que mudar um nível afete o mínimo possível os outros — ou seja, a independência de dados.

NívelVisão de quemDescrição
Esquema externoUsuários e aplicaçõesA parte que cada um precisa ver (view). Pode haver vários
Esquema conceitualA organização inteiraTodos os dados e relacionamentos integrados num só. Existe um só
Esquema internoDispositivo de armazenamentoComo os dados são guardados de fato (estrutura de arquivos e índices)

Como o nível externo e o conceitual são separados, o esquema conceitual pode mudar sem que a tela do usuário mude: isso é a independência lógica. Como o conceitual e o interno são separados, o jeito de armazenar pode mudar sem mexer no esquema conceitual: isso é a independência física.

Os problemas de uma modelagem malfeita também se resumem a três: a redundância, quando os mesmos dados ficam em vários lugares; a inflexibilidade, quando uma pequena mudança no negócio obriga a refazer boa parte do modelo; e a inconsistência, quando dados relacionados deixam de bater entre si.

DER: o desenho feito de entidades, relacionamentos e atributos

O modelo de dados costuma ser desenhado como um DER (diagrama entidade-relacionamento, ou ERD em inglês). Ele tem três componentes: entidades, relacionamentos e atributos. As notações mais usadas são a notação IE, que desenha a ponta da linha do relacionamento como um pé de galinha, e a notação de Barker, que desenha o relacionamento opcional com linha tracejada. A ordem de desenho costuma ser esta.

  1. Desenhar as entidades
  2. Posicionar bem as entidades — as importantes no canto superior esquerdo
  3. Ligar as entidades com relacionamentos
  4. Escrever o nome do relacionamento
  5. Indicar quantos participam do relacionamento (um ou vários)
  6. Indicar se o relacionamento precisa existir (obrigatório ou opcional)

Na figura abaixo, avance pelas etapas e veja como o DER de Departamento e Funcionário vai ficando pronto. Dá para trocar o mesmo modelo para a notação de Barker também.

DepartamentoPKCód. do Depto.Nome do Depto.LocalizaçãoFuncionárioPKNº do FuncionárioNomeTelefoneCód. Depto. (FK)contémpertence aOpcionalidade (○ opcional, | obrigatório)

6. Marcar a opcionalidade — notação IE

Leitura
Cada departamento pode conter vários funcionários / cada funcionário deve pertencer a exatamente um departamento

Avance pelas etapas de desenho de um DER e depois troque o mesmo modelo para a notação de Barker. O verde marca o que é novo em cada etapa.

Marque se o relacionamento é obrigatório. Todo funcionário precisa pertencer a um departamento, então o lado de Departamento ganha um traço (obrigatório). Um departamento pode não ter funcionários, então o lado de Funcionário ganha um círculo (opcional). Agora dá para ler “cada departamento pode conter vários funcionários” e “cada funcionário deve pertencer a exatamente um departamento”.

Se a questão disser… → escolha isto

  • “A modelagem com o nível de abstração mais alto”Modelagem conceitual
  • “O modelo que não depende do SGBD e tem a maior reusabilidade”Modelo lógico
  • “A etapa que adapta o modelo ao SGBD pensando em desempenho e armazenamento”Modelagem física
  • “O esquema conceitual muda, mas a tela do usuário continua igual”Independência lógica de dados
  • “A estrutura de armazenamento muda, mas o esquema conceitual continua igual”Independência física de dados
  • “Os três componentes do DER”Entidade, relacionamento e atributo
  • “O lugar da entidade importante no DER”Canto superior esquerdo

Publicidade

02

Entidades e atributos

Cada caixa do DER é uma entidade, e o que vai escrito dentro dela são os atributos. O primeiro passo é decidir o que vira entidade e o que vira atributo.

Entidade: o conjunto das coisas que o negócio controla

Uma entidade é algo de que o negócio precisa e que deve ser controlado de forma contínua: coisas que dá para nomear, como funcionário, departamento ou pedido. O ponto importante é que uma entidade não é um item avulso, e sim um conjunto. A entidade Funcionário não é um funcionário, mas todos eles juntos, e cada um deles se chama instância.

Para ser uma entidade, é preciso cumprir estas condições.

  • É uma informação de que o negócio precisa e que se quer controlar
  • Tem um identificador que distingue cada instância
  • Tem duas ou mais instâncias — se houver uma só, não há motivo para ser entidade
  • Os processos do negócio usam a entidade (criam, leem ou alteram)
  • Tem atributos
  • Tem pelo menos um relacionamento com outra entidade — com exceções, como entidades de código ou de estatística, em que o relacionamento é omitido de propósito

As entidades se classificam por dois critérios.

CritérioClassificaçãoExemplos
Tem forma física?Entidade tangível — tem forma físicaFuncionário, produto, instrutor
Entidade conceitual — não tem forma, mas é um conceito a controlarOrganização, produto de seguro
Entidade de evento — surge com a operação do negócioPedido, cobrança, inscrição em curso
Quando surge?Entidade básica (chave) — surge sozinha, sem depender de outras entidadesCliente, produto, departamento
Entidade central — surge de entidades básicas e é o centro do negócioPedido, contrato
Entidade de ação — surge de dois ou mais pais, muda com frequência e cresce em volumeItem do pedido, histórico de alterações

Os nomes usam as palavras do dia a dia do negócio, sem abreviações, no singular e sem repetição dentro do modelo. Nada de nomes no plural, como ‘Lista de pedidos’ no lugar de ‘Pedido’.

Atributo: a propriedade indivisível que descreve a entidade

O atributo é uma propriedade da entidade de que o negócio precisa e que, pelo significado, não se divide mais. Nome e salário do funcionário são atributos, e o ‘Bruno’ que a instância Bruno tem no atributo nome é o valor de atributo. Os quatro se relacionam assim.

  • Uma entidade é um conjunto de duas ou mais instâncias
  • Uma entidade tem dois ou mais atributos
  • Um atributo tem um valor só por instância — se houver vários valores, separe-os em outra entidade

Na figura abaixo, troque de termo e veja a que parte da tabela corresponde cada palavra do modelo lógico.

Modelo lógico (DER)

Funcionário

PKNº do Funcionário

Nome

Cód. do Depto.

Salário

Modelo físico (tabela) e dados

PKEMP_NONAMEDEPT_CODESALARY
101AnaD10300
102BrunoD10250
103CaioD20400
104DéboraD20350

Entidade = tabela

Termo

Escolha um termo. O destaque verde mostra onde essa palavra do modelo lógico aparece na tabela.

Um conjunto de coisas que o negócio precisa controlar. A entidade “Funcionário” não é um funcionário — é o nome de todos os funcionários juntos. No modelo físico, ela vira uma tabela.

Os atributos também se classificam por alguns critérios.

CritérioClassificaçãoDescrição
CaracterísticaAtributo básicoValor que o negócio já usa — nome, data do pedido
Atributo de projetoValor criado durante o projeto — código do produto, número sequencial
Atributo derivadoValor calculado a partir de outros atributos — total do pedido. Pode ficar diferente do valor original, então quanto menos, melhor
ComposiçãoAtributo PK / atributo FK / atributo comumÉ identificador, veio de outra entidade ou nenhum dos dois
Pode ser dividido?Atributo simples / atributo compostoUm só, como a idade / divide-se em vários, como o endereço (cidade, bairro, rua)
Quantos valores?Atributo monovalorado / atributo multivaloradoUm só, como o CPF / vários, como os telefones — o multivalorado vira entidade

A faixa de valores que um atributo pode assumir é o domínio. Ele é definido pelo tipo de dado, pelo tamanho e pelas restrições. Por exemplo, o domínio de ‘Nota’ são os números inteiros de 0 a 100.

Se a questão disser… → escolha isto

  • “Algo que tem uma instância só”Não vira entidade
  • “Entidade com forma física, como funcionário ou material”Entidade tangível
  • “Entidade que surge com a operação, como pedido ou cobrança”Entidade de evento
  • “Entidade que surge sozinha, sem outras entidades”Entidade básica (chave)
  • “Entidade que surge de dois ou mais pais e não para de crescer”Entidade de ação
  • “Atributo calculado a partir de outros atributos”Atributo derivado — reduzir ao mínimo por causa da integridade
  • “Atributo com vários valores, como o telefone”Atributo multivalorado → separar em entidade
  • “A faixa de valores que um atributo pode assumir”Domínio

Exclusivo Pro

Até aqui vai a parte gratuita

Os outros 3 capítulos estão disponíveis para assinantes Pro. Cada um continua com visuais em 3D e dicas de “se a questão disser…”, e no último capítulo você testa o que aprendeu.

  1. 03Relacionamentos e identificadores
  2. 04Normalização
  3. 05Desnormalização e outras questões do modelo

Publicidade

PasslyExam

Você já leu o conceito. Agora teste com questões de prova

O PasslyExam oferece questões práticas originais, explicações e simulados completos baseados no guia oficial de cada certificação. As explicações mostram por que a opção certa está certa e por que as opções parecidas estão erradas. Cadastre-se e pratique de graça todos os dias.

Mais guias sobre este tema

Guias de outros temas

Ver todos os guias