Guia do iniciante para escrever esquemas de banco de dados mySQL

Guia do iniciante para escrever esquemas de banco de dados mySQL

Ao desenvolver um projeto de software, um dos aspectos mais importantes, fundamentais e intrínsecos é um esquema de banco de dados devidamente estruturado. É o equivalente a quando construir uma casa, você precisa garantir que os alicerces sejam colocados corretamente, caso contrário, as chances de construir uma casa de qualidade são drasticamente reduzidas.





Surpreendentemente mais fácil do que se poderia pensar, vamos aprender as várias facetas usadas para escrever um esquema de banco de dados bem arquitetado.





lista de tarefas que sincroniza com o Google Agenda

Sintaxe CREATE TABLE

Para começar, abra seu editor de texto favorito. A criação de um esquema de banco de dados não requer nada mais do que um arquivo de texto simples. Um banco de dados consiste em várias tabelas, cada uma consistindo em colunas, e a sintaxe CREATE TABLE é usada para criar uma única tabela. Aqui está um exemplo básico:






CREATE TABLE users (
id INT NOT NULL,
is_active TINY INT NOT NULL,
full_name VAR CHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL
);

Como você pode ver, isso criará uma tabela de banco de dados chamada Comercial que consiste em quatro colunas. Esta deve ser uma instrução SQL bastante direta começando com CRIAR A TABELA , seguido pelo nome das tabelas do banco de dados e, entre parênteses, as colunas da tabela separadas por uma vírgula.

Use os tipos de coluna corretos

Conforme mostrado acima, as colunas em que a tabela consistirá são separadas por vírgulas. Cada definição de coluna é composta pelas três partes:



COL_NAME TYPE [OPTIONS]

O nome da coluna, seguido pelo tipo de coluna e, a seguir, quaisquer parâmetros opcionais. Entraremos nos parâmetros opcionais mais tarde, mas concentrando-nos no tipo de coluna, a seguir lista os tipos de coluna mais comumente usados ​​disponíveis:

Para todos os efeitos, os tipos de coluna acima são tudo o que você precisa para escrever esquemas de banco de dados mySQL bem construídos.





Definir opções de coluna

Ao definir colunas, também existem várias opções que você pode especificar. Abaixo está outro exemplo do CRIAR A TABELA demonstração:


CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100) NOT NULL UNIQUE,
status ENUM('active','inactive') NOT NULL DEFAULT 'active',
balance DECIMAL(8,2) NOT NULL DEFAULT 0,
date_of_birth DATETIME,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

O texto acima pode parecer um pouco assustador, mas não se preocupe, é bastante simples. Detalhado, aqui está o que está acontecendo na declaração acima:





  • Você deve sempre usar NOT NULL em todas as colunas possíveis para ajudar na velocidade e desempenho da tabela. Isso simplesmente especifica que a coluna não pode ser deixada vazia / nula quando uma linha é inserida.
  • Sempre tente manter o tamanho da coluna tão pequeno quanto realisticamente possível, pois isso ajuda a melhorar a velocidade e o desempenho.
  • o Eu iria coluna é um inteiro, também é a chave primária da tabela, o que significa que é única, e aumentará em um cada vez que um registro for inserido. Isso geralmente deve ser usado em todas as tabelas que você cria para que você possa referenciar facilmente qualquer linha única dentro da tabela.
  • o status coluna é um ENUM e deve ter um valor de 'ativo' ou 'inativo'. Se nenhum valor for especificado, uma nova linha começará com o status de 'ativo'.
  • o balançado coluna começa em 0 para cada nova linha e é um valor formatado com duas casas decimais.
  • o data de nascimento coluna é simplesmente uma DATA, mas também permite um valor nulo, pois a data de nascimento pode não ser conhecida no momento da criação.
  • Por último, o criado em coluna é um TIMESTAMP e o padrão é a hora atual quando a linha foi inserida.

O exemplo acima é um exemplo de uma tabela de banco de dados bem estruturada e deve ser usado como exemplo no futuro.

Uma das maiores vantagens de usar bancos de dados relacionais, como mySQL é o seu excelente suporte para restrições de chave estrangeira e cascateamento. Isso ocorre quando você vincula duas tabelas por uma coluna, formando um relacionamento pai-filho, de modo que, quando a linha pai é excluída, as linhas filho necessárias também são excluídas automaticamente.

Aqui está um exemplo:


CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100) NOT NULL UNIQUE,
full_name VARCHAR(100) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) engine=InnoDB;
CREATE TABLE orders (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
userid INT NOT NULL,
amount DECIMAL(8,2) NOT NULL,
product_name VARCHAR(200) NOT NULL,
FOREIGN KEY (userid) REFERENCES users (id) ON DELETE CASCADE
) engine=InnoDB;

Você notará a cláusula FOREIGN KEY como a última linha. Esta linha simplesmente afirma que esta tabela contém linhas filhas que são vinculadas pelo ID do usuário coluna para sua linha pai, que é o Eu iria coluna do Comercial tabela. O que isso significa é que sempre que uma linha é excluída do Comercial tabela, mySQL excluirá automaticamente todas as linhas correspondentes do ordens tabela ajudando a garantir a integridade estrutural em seu banco de dados.

Observe também o motor = InnoDB no final da declaração acima. Embora InnoDB agora seja o tipo de tabela mySQL padrão, nem sempre foi, então isso deve ser adicionado apenas para ficar no lado seguro, já que o cascateamento só funciona com tabelas InnoDB.

como acessar a dark web com segurança

Projete com confiança

Agora você está no caminho certo para arquitetar esquemas de banco de dados mySQL sólidos e bem estruturados. Usando o conhecimento acima, você agora pode escrever esquemas bem organizados que fornecem desempenho e integridade estrutural.

Com seu esquema implementado, certifique-se de saber como usá-lo com esses comandos SQL essenciais .

Compartilhado Compartilhado Tweet O email Como consultar várias tabelas de banco de dados ao mesmo tempo com associações SQL

Aprenda a usar junções SQL para agilizar consultas, economizar tempo e fazer você se sentir um usuário avançado de SQL.

Leia a seguir
Tópicos relacionados Sobre o autor Matt Dizak(18 artigos publicados) Mais de Matt Dizak

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever