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:
- Um nome.
- Um tipo de dado.
- 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 COLUMNremove 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.