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.
| Etapa | O que se faz | Características |
|---|---|---|
| Modelagem conceitual | Encontra as entidades centrais do negócio inteiro e os relacionamentos entre elas | O nível de abstração mais alto. O quadro geral, na visão da empresa toda |
| Modelagem lógica | Define com precisão chaves, atributos e relacionamentos e faz a normalização | Não depende de um SGBD específico. A maior reusabilidade |
| Modelagem física | Define tabelas, tipos de coluna e índices de acordo com o SGBD real | Leva 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ível | Visão de quem | Descrição |
|---|---|---|
| Esquema externo | Usuários e aplicações | A parte que cada um precisa ver (view). Pode haver vários |
| Esquema conceitual | A organização inteira | Todos os dados e relacionamentos integrados num só. Existe um só |
| Esquema interno | Dispositivo de armazenamento | Como 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.
- Desenhar as entidades
- Posicionar bem as entidades — as importantes no canto superior esquerdo
- Ligar as entidades com relacionamentos
- Escrever o nome do relacionamento
- Indicar quantos participam do relacionamento (um ou vários)
- 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.
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ério | Classificação | Exemplos |
|---|---|---|
| Tem forma física? | Entidade tangível — tem forma física | Funcionário, produto, instrutor |
| Entidade conceitual — não tem forma, mas é um conceito a controlar | Organização, produto de seguro | |
| Entidade de evento — surge com a operação do negócio | Pedido, cobrança, inscrição em curso | |
| Quando surge? | Entidade básica (chave) — surge sozinha, sem depender de outras entidades | Cliente, produto, departamento |
| Entidade central — surge de entidades básicas e é o centro do negócio | Pedido, contrato | |
| Entidade de ação — surge de dois ou mais pais, muda com frequência e cresce em volume | Item 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_NO | NAME | DEPT_CODE | SALARY |
|---|---|---|---|
| 101 | Ana | D10 | 300 |
| 102 | Bruno | D10 | 250 |
| 103 | Caio | D20 | 400 |
| 104 | Débora | D20 | 350 |
Entidade = tabela
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ério | Classificação | Descrição |
|---|---|---|
| Característica | Atributo básico | Valor que o negócio já usa — nome, data do pedido |
| Atributo de projeto | Valor criado durante o projeto — código do produto, número sequencial | |
| Atributo derivado | Valor calculado a partir de outros atributos — total do pedido. Pode ficar diferente do valor original, então quanto menos, melhor | |
| Composição | Atributo PK / atributo FK / atributo comum | É identificador, veio de outra entidade ou nenhum dos dois |
| Pode ser dividido? | Atributo simples / atributo composto | Um só, como a idade / divide-se em vários, como o endereço (cidade, bairro, rua) |
| Quantos valores? | Atributo monovalorado / atributo multivalorado | Um 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.
- 03Relacionamentos e identificadores
- 04Normalização
- 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.