v4 Atualização da v4 disponível — framework refeito do zero. Ver novidades

Docs
Voltar ao blog
SQL Server

15 de August de 2026

Guia Prático de SQL Server: O que são Tabelas, Colunas e como Estruturar o seu Banco de Dados

Aprenda os fundamentos essenciais do SQL Server: entenda o conceito de tabelas, colunas, tipos de dados e os comandos básicos para criar e manipular suas estruturas.

Guia Prático de SQL Server: Tabelas, Colunas e Estrutura de Banco de Dados

Se você administra servidores de jogos ou desenvolve sistemas conectados a bancos de dados, entender como o SQL Server armazena e organiza as informações é um dos primeiros passos para criar aplicações estáveis, seguras e com boa performance.

Neste guia para iniciantes, você vai aprender os conceitos fundamentais de:

  • Tabelas.
  • Colunas.
  • Tipos de dados.
  • Chaves primárias.
  • Valores padrão.
  • Criação de tabelas.
  • Alteração de estruturas existentes.
  • Inserção de registros.
  • Consulta de dados.

1. O que é uma Tabela?

Uma tabela é uma estrutura utilizada para armazenar informações dentro de um banco de dados.

Uma maneira simples de entender uma tabela é compará-la a uma planilha:

Tabela
│
├── Colunas
│   ├── Nome
│   ├── Nível
│   └── Classe
│
└── Registros
    ├── Player 1
    ├── Player 2
    └── Player 3

Cada tabela normalmente representa um determinado assunto ou entidade do sistema.

Em servidores de MuOnline, por exemplo, é comum encontrar tabelas como:

  • MEMB_INFO — informações das contas.
  • Character — personagens.
  • Guild — guildas.
  • MEMB_STAT — informações relacionadas ao status das contas.

Linhas e Registros

Cada linha representa um registro armazenado na tabela.

Por exemplo:

Name cLevel Class
DragonKnight 400 1
DarkWizard 350 2
ElfMaster 300 3

Cada linha representa um personagem diferente.


2. O que é uma Coluna?

Uma coluna define uma informação que será armazenada para cada registro.

No exemplo abaixo:

Character
│
├── Name
├── cLevel
├── Class
├── Money
└── ResetCount

Temos cinco colunas diferentes.

Cada coluna possui:

  1. Um nome.
  2. Um tipo de dado.
  3. Regras que determinam quais valores podem ser armazenados.

Por exemplo:

Name VARCHAR(10)

Significa que a coluna Name armazenará texto com tamanho variável de até 10 caracteres.


3. Principais Tipos de Dados do SQL Server

O SQL Server possui diversos tipos de dados. Alguns dos mais utilizados em sistemas e servidores de jogos são:

VARCHAR

Utilizado para armazenar textos de tamanho variável.

VARCHAR(50)

Exemplos:

Nome do personagem
Login
E-mail
Nome da guild
Nome do evento

INT

Utilizado para números inteiros.

INT

Exemplos:

Level
Reset
Master Reset
Dinheiro
Pontuação
Quantidade

SMALLINT

Também armazena números inteiros, porém utiliza menos espaço que INT.

SMALLINT

Pode ser útil para valores que possuem uma faixa menor de números.


TINYINT

Utilizado para números inteiros pequenos.

TINYINT

É bastante comum para valores como:

Status
Classe
Tipo
Flags
Opções booleanas

DATETIME

Armazena data e horário.

DATETIME

Exemplo:

2026-08-15 17:00:00

Pode ser utilizado para:

  • Data de criação.
  • Último login.
  • Data de eventos.
  • Data de pagamentos.
  • Registro de logs.

DECIMAL

Utilizado quando precisamos trabalhar com números decimais com maior controle de precisão.

DECIMAL(10,2)

Por exemplo:

1500.50

É especialmente útil para valores financeiros.


FLOAT

Também trabalha com números decimais, porém possui características diferentes de precisão em relação ao DECIMAL.

Pode ser utilizado em situações onde a precisão exata de valores financeiros não seja necessária.


4. NULL e NOT NULL

Ao definir uma coluna, podemos determinar se ela aceita ou não valores nulos.

NULL

Indica que a coluna pode não possuir um valor.

Email VARCHAR(100) NULL

Nesse caso, o registro pode ser criado sem informar um e-mail.

NOT NULL

Indica que o valor é obrigatório.

Name VARCHAR(50) NOT NULL

Nesse caso, um registro não poderá ser criado sem informar o nome.


5. Criando uma Tabela

Para criar uma nova tabela utilizamos:

CREATE TABLE

Por exemplo:

CREATE TABLE GameEvents (
    EventID INT IDENTITY(1,1) PRIMARY KEY,
    PlayerName VARCHAR(50) NOT NULL,
    EventName VARCHAR(100) NOT NULL,
    Score INT DEFAULT 0,
    CreatedAt DATETIME DEFAULT GETDATE()
);

Essa tabela possui quatro conceitos importantes.


PRIMARY KEY

PRIMARY KEY

Define a chave primária da tabela.

A chave primária identifica exclusivamente cada registro.

No exemplo:

EventID INT PRIMARY KEY

Cada evento terá um identificador único.


IDENTITY

IDENTITY(1,1)

Faz com que o SQL Server gere automaticamente os valores numéricos.

Neste exemplo:

EventID INT IDENTITY(1,1)

Os registros poderão receber:

1
2
3
4
5
...

O primeiro 1 representa o valor inicial.

O segundo 1 representa o incremento.


DEFAULT

O DEFAULT define um valor padrão caso nenhum valor seja informado.

Por exemplo:

Score INT DEFAULT 0

Se o registro for criado sem informar Score, o SQL Server utilizará:

0

Outro exemplo:

CreatedAt DATETIME DEFAULT GETDATE()

Nesse caso, o SQL Server preencherá automaticamente a data e o horário atuais.


6. Alterando uma Tabela Existente

Depois que o servidor está funcionando, é muito comum surgir a necessidade de adicionar novas funcionalidades.

Você pode precisar adicionar:

  • Sistema VIP.
  • Pontos.
  • Tags.
  • Ranking.
  • Informações de eventos.
  • Novas configurações.

Não é necessário recriar a tabela.

Para alterar uma tabela existente utilizamos:

ALTER TABLE

6.1. Adicionando uma Coluna

Para adicionar uma nova coluna utilizamos:

ALTER TABLE Character
ADD VIPLevel INT DEFAULT 0 NOT NULL;

Agora a tabela Character terá uma nova coluna:

VIPLevel

Com valor padrão:

0

6.2. Alterando uma Coluna

Para alterar uma coluna existente utilizamos:

ALTER TABLE MEMB_INFO
ALTER COLUMN mail_addr VARCHAR(100) NOT NULL;

Esse comando aumenta o tamanho permitido para o campo mail_addr.

Antes:

VARCHAR(50)

Depois:

VARCHAR(100)

Atenção: antes de alterar o tipo ou as regras de uma coluna existente, verifique os dados que já estão armazenados. Uma alteração incompatível pode causar erros ou perda de informação.


6.3. Removendo uma Coluna

Para remover uma coluna que não é mais utilizada:

ALTER TABLE Character
DROP COLUMN OldColumnName;

Atenção: DROP COLUMN remove a coluna e os dados armazenados nela. Faça uma cópia de segurança antes de executar esse tipo de alteração em um banco de produção.


7. Inserindo Dados

Depois de criar a tabela, podemos inserir registros utilizando:

INSERT INTO

Por exemplo:

INSERT INTO GameEvents (
    PlayerName,
    EventName,
    Score
)
VALUES (
    'GamerMaster',
    'BloodCastle',
    1500
);

O SQL Server armazenará um novo registro na tabela.

Como EventID utiliza IDENTITY, não precisamos informar esse campo manualmente.

Da mesma forma, CreatedAt será preenchido automaticamente pelo DEFAULT GETDATE().


8. Consultando Dados

Para consultar registros utilizamos:

SELECT

Para buscar todos os registros:

SELECT *
FROM GameEvents;

Consultando Colunas Específicas

Também podemos selecionar somente as informações necessárias:

SELECT
    EventName,
    Score,
    CreatedAt
FROM GameEvents;

Isso evita retornar dados que não são necessários para determinada consulta.


9. Utilizando WHERE

O WHERE permite filtrar os resultados.

Por exemplo:

SELECT
    EventName,
    Score,
    CreatedAt
FROM GameEvents
WHERE PlayerName = 'GamerMaster';

Nesse caso, serão retornados somente os eventos registrados para:

GamerMaster

Outro exemplo:

SELECT *
FROM Character
WHERE cLevel >= 400;

Esse comando retorna personagens com nível igual ou superior a 400.


10. Estrutura Básica de um Banco de Dados

Uma aplicação normalmente trabalha com várias tabelas relacionadas.

Em um servidor de jogo, podemos ter algo semelhante a:

Banco de Dados
│
├── MEMB_INFO
│   └── Contas
│
├── Character
│   └── Personagens
│
├── Guild
│   └── Guildas
│
├── MEMB_STAT
│   └── Status das contas
│
└── GameEvents
    └── Eventos

Cada tabela possui uma responsabilidade específica.

A aplicação pode então consultar essas tabelas para construir funcionalidades maiores.


11. Banco de Dados e a MuCRM

A MuCRM trabalha diretamente com os dados armazenados no banco para construir as funcionalidades da aplicação.

Por exemplo:

SQL Server
     │
     ▼
   Tabelas
     │
     ▼
   Models
     │
     ▼
   Controllers
     │
     ▼
   Views / API

Isso permite que funcionalidades como:

  • Players Online.
  • Rankings.
  • Personagens.
  • Guildas.
  • Eventos.
  • Contas.
  • Sistemas administrativos.

sejam construídas utilizando os dados existentes no banco.


Conclusão

Entender como o SQL Server organiza tabelas, colunas, registros e tipos de dados é fundamental para trabalhar com sistemas conectados a banco de dados.

Os comandos apresentados neste guia formam uma base importante:

CREATE TABLE
      ↓
ALTER TABLE
      ↓
INSERT INTO
      ↓
SELECT
      ↓
WHERE

Com esses conceitos, você já consegue criar novas estruturas, modificar tabelas existentes, inserir informações e consultar os dados utilizados pelas aplicações.

À medida que o projeto cresce, novos conceitos como JOIN, índices, chaves estrangeiras, relacionamentos, views, procedures e otimização de consultas passam a ser importantes para manter o banco organizado e performático.

Pronto para colocar o servidor no ar?

Licença Master a partir de R$ 24,99/mês.

Ver planos

Presente exclusivo

7 dias grátis

Crie sua conta agora e ganhe acesso completo por 7 dias.

Ao criar sua conta, você concorda com nossos Termos e Políticas.