Pular para o conteúdo

Modelar dados pelo significado

Também em 28 idiomas

English · Español · 日本語 · Português (Brasil) · Français · Deutsch · Italiano · 한국어 · 简体中文 · 繁體中文 · Bahasa Indonesia · Türkçe · Polski · Tiếng Việt · ไทย · Nederlands · العربية · עברית · Українська · हिन्दी · Русский · Svenska · Dansk · Norsk bokmål · Suomi · Español (México) · Français (Canada) · Deutsch (Schweiz)

An open sketchbook on a drafting table at dawn, a building sketched on one page and a data model on the other, with a pencil, an eraser, a cup and a lamp.
Imagem gerada com IA

Guia de estudo do capítulo 2 do curso Data Architect. Leia primeiro os seis módulos; esta página ajuda-o a verificar o que ficou.

Sobre este guia de estudo. Foi construído apenas a partir do conteúdo deste curso e da lista de objetivos publicada no guia do exame da Salesforce. Nunca se baseia em perguntas reais do exame e não afirma saber o que sai na prova. Se já fez o exame, por favor não me envie as perguntas: o contrato de certificação proíbe partilhá-las, e decorar respostas é, de qualquer forma, a maneira errada de se tornar arquiteto.

Este capítulo é a base da secção de Modelação de Dados e Design de Bases de Dados do exame, que vale um quarto do exame. Cobre o raciocínio; o próximo capítulo, Arquitetura de dados Salesforce, cobre como a plataforma o constrói. Por isso, a maior parte do que é avaliado sobre objetos, campos e relações precisa dos dois capítulos.

Os pontos deste capítulo com mais probabilidade de importar no exame. Cada um está ligado ao seu objetivo do exame e tem um link para onde é ensinado. Marque à medida que avança.

DM-1: comparar técnicas para projetar um modelo de dados Salesforce

O exame é o chão, não o teto. Estes são os hábitos deste capítulo de que um arquiteto precisa, quer alguma pergunta trate deles ou não.

  • Esqueça o Salesforce por um minuto. Modele o negócio antes de o mapear para Conta e Contacto.
  • Ouça a palavra que esconde duas coisas. Na Steve Trucking, «cliente» era um Parceiro retalhista e um Destinatário.
  • O modelo faz parte da conversa. O seu primeiro modelo não existe para estar certo; existe para mostrar onde está errado.
  • Dê nome às linhas. Dois modelos com as mesmas caixas podem significar coisas diferentes.
  • Pergunte «agora, ou ao longo do tempo?» sobre cada relação.
  • Único, imutável, sem significado, nunca dado pessoal.
  • Ponha um facto onde pertence, depois recue de propósito, e registe porquê.
  • A desnormalização não remove a complexidade; desloca-a. Saiba quem é dono da verdade.
  • Uma fonte da verdade, muitas formas: ecrãs, relatórios, o data warehouse e a IA.
  • Não projete a partir do Setup. Desenhe o modelo antes de clicar em Novo objeto personalizado.
  • Rastreie cada decisão física até algo de que o negócio precisa.
TermoNuma linha
EntidadeUma coisa com que o negócio se importa e sobre a qual guarda dados
Possível entidadeUm substantivo que pode tornar-se uma entidade, depois de perguntar sobre ele
AtributoUm fato que descreve uma entidade
RelaçãoComo duas entidades estão ligadas, com nome na linguagem do negócio
CardinalidadeQuantos de um se relacionam com quantos do outro
OpcionalidadeSe a relação é obrigatória, ou pode ser zero
Pé de galinhaA marca de “muitos” na ponta de uma linha
Objeto de junçãoA forma do Salesforce de construir uma relação muitos-para-muitos: um filho dos dois pais
Modelo conceitualO que existe no negócio e como se relaciona; sem Salesforce
Modelo lógicoOs dados: atributos, IDs únicos e relações, ainda sem ligação a uma plataforma
Modelo físicoComo a plataforma o vai construir: objetos, campos e tipos de relação
Chave naturalUm identificador que já existe no negócio, como o número de quadro (VIN) de um camião
Chave substitutaUm identificador criado só para identificar o registo
Identificador externoO ID de outro sistema para o mesmo registo, guardado e mapeado
Normalização (1FN, 2FN, 3FN)Pôr cada facto onde pertence: um valor por campo, factos sobre a chave inteira, nenhum facto sobre outros factos
DesnormalizaçãoCopiar ou achatar dados de propósito, por um motivo que consegue nomear
Anomalia de atualizaçãoO mesmo facto guardado em muitos lugares, de modo que uma mudança deixa algumas cópias erradas

Cenários curtos ao estilo do curso. Decida a sua resposta antes de abrir.

1. O negócio diz-lhe que uma equipa conduz um camião. Seis semanas depois, alguém pergunta que equipa estava com o camião 117 num certo dia. O que deveria o modelo ter tido?

Uma Atribuição de equipa: a relação entre equipa e camião como um registo próprio, com data de início, data de fim e a rota. Equipas e camiões são muitos-para-muitos ao longo do tempo, e o negócio importa-se com o histórico. Um campo no camião teria sido sobrescrito. Releia O tempo muda as relações.

2. Uma equipa propõe usar o número de telefone de cada Destinatário como ID único, «porque é único». O que diz?

Chumba nos testes: os números de telefone mudam e são partilhados, por isso não é imutável nem fiavelmente único, e é informação pessoal que seria copiada para todos os sistemas que se ligam ao registo. Use um ID gerado e sem significado, e mantenha o telefone como atributo. Releia Depois temos de falar de IDs únicos.

3. Uma Entrega tem os campos Artigo 1, Artigo 2 e Artigo 3. Chega uma entrega com quatro artigos. Qual é o problema real, e a correção?

O modelo escondeu uma estrutura que se repete dentro de campos (um problema de primeira forma normal). A correção não é um campo Artigo 4; é uma entidade Item de entrega, filha de Entrega, para que cada artigo seja um registo. Releia Primeira forma normal.

4. Cada entrega guarda o nome do gestor do centro de distribuição. O gestor muda. O que correu mal?

Um facto sobre outra coisa (o centro de distribuição) foi guardado na entrega: um problema de terceira forma normal, e agora uma anomalia de atualização em centenas de registos. O gestor pertence ao centro de distribuição; a entrega aponta para o centro de distribuição. Releia Terceira forma normal.

5. O tipo de paragem (só entrega, com instalação, com recolha) precisa de uma duração, das competências da equipa e de uma checklist. Lista de opções ou objeto?

Um objeto. Tem mais do que uma coluna de informação, é gerido pelo negócio e muda ao seu próprio ritmo. O estado de uma entrega, uma lista curta e estável de rótulos, continua a ser uma lista de opções. Releia Relação de pesquisa ou lista de opções?.

6. Os parceiros querem um scorecard de pontualidade por região, e a região vive no centro de distribuição. Copia a região para cada entrega. O que tem de decidir?

Quem é dono da verdade, como a cópia se mantém sincronizada, e se as entregas antigas devem manter a região que era verdade quando aconteceram ou seguir o centro de distribuição se ele mudar. Desnormalizar deslocou a complexidade; não a removeu. Releia Às vezes os relatórios ganham.

7. Um truque como Senta poderia estar ligado a centenas de milhares de pets. Mestre-detalhe ou relação de pesquisa de Truque do pet para Truque?

Uma relação de pesquisa. A orientação da Salesforce é de no máximo 10 mil filhos num único pai, e um truque popular ultrapassaria isso. Mestre-detalhe serve de Truque do pet para Pet, porque o truque de um pet nunca muda de pai e um pet sabe só alguns truques; é também o que permite ao pet totalizar a sua contagem de Truques conhecidos. Releia Senta, fica, modelo.