image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
Matheo Ferreira
Matheo Ferreira26/09/2023 15:13
Compartilhe

Boas Práticas para a Criação de Tabelas em Bancos de Dados SQL

  • #Banco de dados relacional

A criação de um banco de dados em SQL é um passo crucial no desenvolvimento de sistemas e aplicativos que dependem de armazenamento de dados. É nesse momento em que as decisões sobre a estrutura e as configurações do banco de dados são tomadas, e é fundamental realizar de maneira adequada desde o início para garantir a eficiência, a integridade dos dados e a clareza do código SQL. 

O que você vai ver neste artigo:

  • O significado das "boas práticas" ao criar um banco de dados.
  • As principais práticas recomendadas para iniciantes na criação de bancos de dados.
  • A importância de documentar o código que você está escrevendo.

Afinal o que é boas praticas ?

Ao aprender sobre como criar tabelas em bancos de dados relacionais, você provavelmente ja se deparou com as tão faladas "boas práticas". Mas o que são essas **boas práticas**? Vamos esclarecer isso.

Boas práticas significam criar um padrão de trabalho que resulta em código limpo, compreensível e íntegro. Melhorando a performance e o gerenciamento desse banco de dados. Neste artigo, exploraremos algumas **boas práticas** que podem ser aplicadas ao criar tabelas em bancos de dados SQL.

1. Nomes de Tabelas no Plural

Uma das primeiras decisões a serem tomadas ao criar uma tabela em SQL é escolher um nome apropriado. Uma pratica altamente recomendada é optar por nomes de tabelas no plural, como "Clientes" em vez de "Cliente". Essa prática ajuda a tornar o código SQL mais compreensível e significativo, facilitando a compreensão da estrutura do banco de dados.

CREATE TABLE Clientes;
CREATE TABLE Fornecedores;
CREATE TABLE Compras;

2. Padrão de Nomenclatura de Coluna

Para manter a uniformidade e a clareza no código SQL, é importante nomear as colunas de forma padronizada facilitando assim uma futura manutencao no banco de dados. Um padrão comum é o uso de letras minúsculas e palavras separadas por sublinhados, conhecido como "snake_case" ou CamelCase/PascalCase, no qual as palavras iniciais de cada parte são maiúsculas. Isso torna o código mais legível e organizado, simplificando a manutenção futura do banco de dados.

CREATE TABLE Fornecedores (
  IdFornecedor INT auto_increment primary key ,
  Nome VARCHAR(255) NOT NULL

CREATE TABLE Fornecedores (
  Id_Fornecedor INT auto_increment primary key ,
  Nome VARCHAR(255) NOT NULL,

3. Restrição NOT NULL

Para assegurar a integridade dos dados, é fundamental aplicar a restrição "NOT NULL" às colunas que não podem conter valores nulos. Por exemplo, as colunas "TipoCliente", "Documento", "Nome", "Endereco", "Telefone" e "Email" devem ser configuradas como "NOT NULL". Ao adotar essa prática, garantimos que as informações obrigatórias sejam sempre fornecidas durante a inserção dos dados, prevenindo assim inconsistências nos dados. Isso é especialmente importante em campos que são chaves primárias ou têm restrições de unicidade.

CREATE TABLE Clientes (
  	idCliente INT AUTO_INCREMENT PRIMARY KEY,
  	TipoCliente ENUM('PF', 'PJ') NOT NULL DEFAULT 'PF',
  	Documento VARCHAR(18) NOT NULL ,
  	Nome VARCHAR(100) NOT NULL,,
      Telefone VARCHAR(15) NOT NULL,
        Email VARCHAR(20)NOT NULL ,
        Observacao VARCHAR(255)
);

4. Valores Padrão (DEFAULT)

Em algumas situações, é útil definir valores padrão para as colunas. Isso simplifica a inserção de dados, uma vez que evita a necessidade de especificar um valor toda vez que um novo registro é adicionado à tabela. Por exemplo, o campo "TipoCliente" pode ter um valor padrão de 'PF' (Pessoa Física) usando a cláusula "DEFAULT". Isso permite que o sistema atribua automaticamente o tipo de cliente quando não for especificado, simplificando a interação com o banco de dados e reduzindo a chance de erros na inserção de dados.

CREATE TABLE EMPRESA (
  IdEmpresa INT auto_increment PRIMARY KEY,
  Nome VARCHAR(255),
  TipoEmpresa ENUM('PF', 'PJ') DEFAULT 'PF'
);

5. Tamanho de Campo Ajustado

A definição do tamanho das colunas é fundamental para otimizar o uso de recursos e garantir que o banco de dados seja adequado às necessidades do projeto. Recomenda-se ajustar os tamanhos dos campos de acordo com as expectativas reais. Por exemplo, o campo "Endereco" pode ser definido como VARCHAR(255) para acomodar endereços mais longos, enquanto o campo "Telefone" pode ser limitado a VARCHAR(20), uma vez que a maioria dos números de telefone não requer mais de 15 caracteres.

6. Índices Únicos (UNIQUE)

A integridade dos dados é muito importante em qualquer banco de dados sendo uma das preocupações mais fundamental . Para evitar informações duplicadas e garantir que certos valores sejam únicos, a cláusula "UNIQUE" pode ser aplicada diretamente na definição das colunas relevantes. Por exemplo, as colunas "Documento" e "Email" podem ser configuradas como "UNIQUE", garantindo que não haja valores duplicados nessas colunas. Isso é bastante utilizado em campos que são exclusivos, como numero de identificação (CPF/CNPJ) ou endereços de emails , pois assim ajuda a evitar erros de inserção de dados que poderiam comprometer a integridade do banco de dados.

CREATE TABLE Clientes (
  	idCliente INT AUTO_INCREMENT PRIMARY KEY,
  	TipoCliente ENUM('PF', 'PJ') NOT NULL DEFAULT 'PF',
  	Documento VARCHAR(18) NOT NULL UNIQUE,
  	Email VARCHAR(20)NOT NULL UNIQUE,

7. Chaves Primárias Adequadas

Cada tabela deve ter uma chave primária que identifique de forma exclusiva cada registro na tabela. A escolha de uma chave primária adequada é fundamental. Geralmente, é recomendável usar um identificador único, como um número inteiro autoincrementado, para evitar problemas de duplicação e facilitar a indexação.

CREATE TABLE Fornecedores (
  IdFornecedor INT auto_increment primary key ,
  Nome VARCHAR(255) NOT NULL,

8. Uso de Chaves Estrangeiras

Quando houver uma relação entre duas tabelas, utilize chaves estrangeiras para estabelecer esse relacionamento. Chaves estrangeiras garantem a integridade referencial, o que significa que os dados em uma tabela relacionada estão consistentes com os dados na tabela principal. Dê nomes descritivos às suas chaves estrangeiras para que seu propósito seja claro. O uso adequado de chaves estrangeiras é essencial para garantir a integridade dos dados e a consistência nas operações de banco de dados. 

CREATE TABLE Fornecedores (
  IdFornecedor INT auto_increment primary key ,
  Nome VARCHAR(255) NOT NULL,
  TipoFornecedor ENUM('PF', 'PJ') DEFAULT 'PF',
  Documento VARCHAR(18),
  Endereco VARCHAR(255) NOT NULL,
  Cidade VARCHAR(45) NOT NULL,
  Telefone VARCHAR(20) NOT NULL,
  Observacoes VARCHAR(255),
CONSTRAINT unique_Fornecedor_Documento UNIQUE (Documento),  
CONSTRAINT unique_Fornecedor_Email UNIQUE (Email)

9. Índices para Colunas de Consulta Frequente

Para otimizar o desempenho das consultas, é importante adicionar índices às colunas que são frequentemente usadas em cláusulas WHERE ou JOIN. Isso acelera a recuperação de dados e melhora a eficiência do banco de dados.

CREATE INDEX idx_Cliente_IDCliente
ON Cliente (IDCliente);

10. Comentários Explicativos

Ao criar tabelas e colunas, é uma boa prática adicionar comentários explicativos que descrevam o propósito e o conteúdo de cada elemento. Isso ajuda os desenvolvedores ou ate mesmo quem esta começando nessa grande aventura a entenderem melhor a estrutura do banco de dados, especialmente em projetos colaborativos ou em manutenções futuras.

-- Tabela para entrada do cadastro de fornecedores

Conclusão

A aplicação dessas boas práticas durante a criação de tabelas em banco de dados em SQL pode melhorar significativamente a legibilidade, a integridade dos dados e a eficiência do código SQL. No entanto, é importante lembrar que cada projeto pode ter requisitos específicos, e as configurações do banco de dados devem ser ajustadas de acordo com esses requisitos. Ao seguir essas diretrizes gerais e adapta-las às necessidades individuais do projeto, você estará no caminho certo para criar um banco de dados robusto e eficaz.

Lembrando também que -se de que a criação de um banco de dados é uma etapa crítica no desenvolvimento de aplicativos, que demanda investimento de tempo e esforço na sua concepção para que a longo prazo possamos economizar muito trabalho e evitar problemas no futuro. Portanto, antes de iniciar qualquer projeto que envolva bancos de dados em SQL, reserve um tempo para planejar e seguir boas práticas, garantindo assim uma base sólida para o seu sistema de armazenamento de dados.

Referências:

https://awari.com.br/10-boas-praticas-de-sql-para-otimizar-seu-banco-de-dados/?utm_source=blog&utm_campaign=projeto+blog&utm_medium=10%20Boas%20Pr%C3%A1ticas%20de%20Sql%20para%20Otimizar%20Seu%20Banco%20de%20Dados

https://dba.com.br/2022/02/melhores-praticas-mysql-3

https://learn.microsoft.com/pt-br/sql/relational-databases/tables/primary-and-foreign-key-constraints?view=sql-server-ver16

https://www.devmedia.com.br/sql-aprenda-a-utilizar-a-chave-primaria-e-a-chave-estrangeira/37636

Compartilhe
Comentários (3)

TG

Thaís Gasparino - 26/09/2023 21:38

Parabéns ! Muito interessante.

Isaias Siqueira
Isaias Siqueira - 26/09/2023 15:34

Muito bom, ainda não conhecia essas boas práticas de criação de bando de dados, parabéns pelo artigo!

MR

Milena Ribeiro - 26/09/2023 15:17

Show de Bola , otima explicacao . Bem didatico.