Projeto de banco de dados. Melhores práticas

Em antecipação ao início do próximo fluxo à taxa "Base de dados" Preparamos um pequeno material de autoria com dicas importantes para a concepção de um banco de dados. Esperamos que este material seja útil para você.

Projeto de banco de dados. Melhores práticas

Os bancos de dados estão por toda parte: desde os blogs e diretórios mais simples até sistemas de informação confiáveis ​​e grandes redes sociais. Se o banco de dados é simples ou complexo não é tão importante quanto projetá-lo corretamente. Quando um banco de dados é projetado impensadamente e sem uma compreensão clara da finalidade, ele não apenas é ineficaz, mas o trabalho posterior com o banco de dados será um verdadeiro tormento, uma floresta impenetrável para os usuários. Aqui estão algumas dicas de design de banco de dados que o ajudarão a criar um produto útil e fácil de usar.

1. Determine para que serve a mesa e qual é sua estrutura

Projeto de banco de dados. Melhores práticas

Hoje, métodos de desenvolvimento como Scrum ou RAD (Rapid Application Development) ajudam as equipes de TI a desenvolver bancos de dados rapidamente. Porém, na busca do tempo, é muito grande a tentação de mergulhar direto na construção de uma base, imaginando vagamente qual é o objetivo em si, quais devem ser os resultados finais.
 
É como se a equipe estivesse focada em um trabalho eficiente e rápido, mas isso é uma miragem. Quanto mais rápido você se aprofundar no projeto, mais tempo levará para identificar e alterar erros no design do banco de dados.

Portanto, a primeira coisa que você precisa decidir é definir a finalidade do seu banco de dados. Para que tipo de aplicação o banco de dados está sendo desenvolvido? O usuário trabalhará apenas com registros e precisará ficar atento às transações ou está mais interessado em análise de dados? Onde a base deve ser implantada? Ele rastreará o comportamento do cliente ou simplesmente gerenciará o relacionamento com o cliente? 

Quanto mais cedo a equipe de design responder a essas perguntas, mais tranquilo será o processo de design do banco de dados.

2. Que dados devo escolher para armazenamento?

Projeto de banco de dados. Melhores práticas

Planejar com antecedência. Pensamentos sobre o que o site ou sistema para o qual o banco de dados está sendo projetado fará no futuro. É importante ir além dos simples requisitos das especificações técnicas. Só por favor, não comece a pensar em todos os possíveis tipos de dados que um usuário irá armazenar. Em vez disso, pense se os usuários poderão escrever postagens, fazer upload de documentos ou fotos ou trocar mensagens. Se for esse o caso, será necessário alocar espaço para eles no banco de dados.

Trabalhe com a equipe, departamento ou organização para a qual a base de design será apoiada no futuro. Comunique-se com pessoas de diferentes níveis, desde especialistas em atendimento ao cliente até chefes de departamento. Dessa forma, com a ajuda do feedback, você terá uma ideia clara das necessidades da empresa. 

Inevitavelmente, as necessidades dos usuários, mesmo dentro do mesmo departamento, entrarão em conflito. Se você encontrar isso, não tenha medo de confiar em sua própria experiência e encontrar um compromisso que atenda a todas as partes e satisfaça o objetivo final do banco de dados. Fique tranquilo: no futuro você receberá +100500 em carma e uma montanha de biscoitos.

3. Modele os dados com cuidado

Projeto de banco de dados. Melhores práticas

Existem vários pontos-chave aos quais prestar atenção ao modelar dados. Como dissemos anteriormente, o propósito do banco de dados determina quais métodos usar na modelagem. Se estivermos projetando um banco de dados para processamento de registros online (OLTP), ou seja, para criação, edição e exclusão de registros, usamos modelagem de transações. Se o banco de dados precisar ser relacional, então é melhor usar modelagem multidimensional.

Durante a modelagem, são construídos modelos de dados conceituais (CDM), físicos (PDM) e lógicos (LDM). 

Os modelos conceituais descrevem entidades e os tipos de dados que incluem, bem como os relacionamentos entre eles. Divida seus dados em partes lógicas – isso torna a vida muito mais fácil.
O principal é moderação, não exagere.

Se for muito difícil classificar uma entidade em uma palavra ou frase, então é hora de usar subtipos (entidades filhas).

Se uma entidade leva sua própria vida, possui atributos que descrevem seu comportamento e sua aparência, bem como relacionamentos com outros objetos, então você pode usar com segurança não apenas um subtipo, mas também um supertipo (entidade pai). 

Se você negligenciar esta regra, outros desenvolvedores ficarão confusos em seu modelo e não compreenderão totalmente os dados e as regras de como coletá-los.

Os modelos conceituais são implementados por meio de modelos lógicos. Esses modelos são como um roteiro para o design de banco de dados físico. No modelo lógico, as entidades de dados de negócios são identificadas, os tipos de dados são determinados e o status da chave de regra que rege os relacionamentos entre os dados é determinado.

Em seguida, o Modelo de Dados Lógicos é comparado com a plataforma SGBD (sistema de gerenciamento de banco de dados) pré-selecionada e um Modelo Físico é obtido. Ele descreve como os dados são armazenados fisicamente.

4. Use os tipos de dados corretos

Projeto de banco de dados. Melhores práticas

Usar o tipo de dados errado pode resultar em dados menos precisos, dificuldades na união de tabelas, dificuldade na sincronização de atributos e tamanhos de arquivo inchados.
Para garantir a integridade das informações, um atributo deve conter apenas tipos de dados que sejam aceitáveis ​​para ele. Se a idade for inserida no banco de dados, certifique-se de que a coluna armazene números inteiros com no máximo 3 dígitos.

Crie um mínimo de colunas vazias com valor NULL. Se você criar todas as colunas como NULL, isso será um grande erro. Se você precisar de uma coluna vazia para executar uma função comercial específica, quando os dados são desconhecidos ou ainda não fazem sentido, fique à vontade para criá-la. Afinal, não podemos preencher as colunas “Data do falecimento” ou “Data da demissão” antecipadamente; não somos preditores apontando o dedo para o céu :-).

A maioria dos softwares de modelagem (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) data permite criar protótipos de regiões de dados. Isso garante não apenas o tipo de dados correto, a lógica do aplicativo e o bom desempenho, mas também que o valor seja necessário.

5. Seja natural

Projeto de banco de dados. Melhores práticas

Ao decidir qual coluna de uma tabela usar como chave, sempre considere quais campos o usuário pode editar. Nunca escolha-os como chave - uma má ideia. Tudo pode acontecer, mas você deve garantir que seja único.

É melhor usar uma chave natural ou comercial. Tem um significado semântico, portanto você evitará duplicação no banco de dados. 

A menos que a chave comercial seja única (nome, sobrenome, posição) e se repita em diferentes linhas da tabela ou deva ser alterada, a chave artificial gerada deve ser designada como chave primária.

6. Normalize com moderação

Projeto de banco de dados. Melhores práticas

Para organizar eficazmente os dados em um banco de dados, você precisa seguir um conjunto de diretrizes e normalizar o banco de dados. Existem cinco formas normais a seguir.
Com a normalização, você evita redundância e garante a integridade dos dados utilizados em sua aplicação ou site.

Como sempre, tudo deve ser com moderação, até mesmo a normalização. Se houver muitas tabelas no banco de dados com as mesmas chaves exclusivas, você se empolgou e normalizou demais o banco de dados. A normalização excessiva afeta negativamente o desempenho do banco de dados.

7. Teste cedo, teste frequentemente

Projeto de banco de dados. Melhores práticas

O plano de teste e os testes adequados devem fazer parte do design do banco de dados.

A melhor forma de testar seu banco de dados é através da Integração Contínua. Simule um cenário de “dia na vida de um banco de dados” e verifique se todos os casos extremos são tratados e quais interações do usuário são prováveis. Quanto mais cedo você encontrar bugs, mais economizará tempo e dinheiro.

Estas são apenas sete dicas que você pode usar para projetar um banco de dados de grande produtividade e eficiência. Se você os seguir, evitará muitas dores de cabeça no futuro. Essas dicas são apenas a ponta do iceberg na modelagem de banco de dados. Há um grande número de hacks de vida. Quais você usa?

Fonte: habr.com

Adicionar um comentário