SQL Server para Leigos: Guia Prático para Iniciantes - Parte I: DDL
Introdução ao SQL Server
O SQL Server é um sistema de gerenciamento de banco de dados relacional desenvolvido pela Microsoft. Ele permite armazenar, organizar e manipular dados utilizando a linguagem SQL (Structured Query Language). É conhecido SQL Server por sua robustez, segurança e alta performance, sendo capaz de lidar com grandes volumes de dados em aplicativos de diversos tamanhos. Além disso, oferece funcionalidades avançadas para garantir a integridade dos dados, otimizar consultas e gerenciar permissões de acesso de forma eficiente.
<> São meramente para destacar onde deve ser alterado ao utilizar as linhas no sql server
Tipos de dados principais
Numéricos Exatos:
- int: Inteiro de 4 bytes, o tipo numérico mais comum.
- decimal / numeric: Números com casas decimais, precisão definida.
- bigint: Inteiro maior, 8 bytes, usado quando o int não é suficiente.
- smallint: Inteiro menor, 2 bytes, para economizar espaço.
- tinyint: Inteiro de 1 byte, armazena valores de 0 a 255.
Numéricos Aproximados:
- float: Para números com ponto flutuante (precisão maior).
- real: Também para ponto flutuante, mas com precisão menor que float.
Data e Hora:
- date: Armazena apenas a data.
- datetime: Armazena data e hora.
- time: Armazena apenas a hora.
Cadeias de Caracteres:
- varchar: Cadeia de caracteres de tamanho variável (mais eficiente para textos curtos).
- char: Cadeia de caracteres de tamanho fixo (para dados de tamanho constante, como códigos).
DDL - Data Definition Language - Linguagem de Definição de Dados.
São os comandos que interagem com os objetos do banco.
Criando um banco de dados
CREATE DATABASE <NOME DO BANCO DE DADOS>
Criando tabelas no banco
CREATE TABLE <NOME DA TABELA>(
ID INT, -- Dados dentro da tabela
NOME VARCHAR(100),
ESTRANGEIRO CHAR(1),
PRECO FLOAT)
CONTRAINT <VALIDA_ALGO> CHECK (ESTRANGEIRO IN (‘S’,’N’)) -- Checa se o dado está entre as opções dentro do in
CONTRAINT PK_<NOME DA TABELA> PRIMARY KEY (ID) -- Chave identificadora única de cada dado
CONTRAINT FK_<TABELA1_TABELA2> FOREIGN KEY (ID) -- Chave identificadora de um relacionamento entre tabelas
REFERENCES <TABELA2> (<ID>)
Criando uma Tabela a Partir do Filtro de Outra Tabela
CREATE TABLE <NOME DO FILTRO DE UMA TABELA> AS
SELECT <DADO1>, <DADO2> FROM <NOME DA TABELA> -- Cria uma tabela a partir do filtro de outra tabela
Nos dados da tabela temos outras opções, como:
- ID INT AUTO_INCREMENT -- O auto_increment já cria uma alimentação de início 1 e incrementa de 1 em 1
- ID INT IDENTITY (0,1) -- O identity vai inicializar um número, nesse caso eu iniciei com o 0, e te dá a opção de quantos em quantos devem ser incrementados nessa variável, sendo assim incrementados de 1 em 1 a medida que a tabela é alimentada. A sua vantagem é que dá pra modelar, enquanto o auto_increment não.
- PRIMARY KEY -- É obrigatório, já que no modelo relacional deve haver distinções entre dados da tabela
- FOREIGN KEY -- Não é obrigatório
Alterando a estrutura da tabela
Adicionando nova coluna
ALTER TABLE <NOME DA TABELA>
ADD EMAIL VARCHAR(300) -- Adiciona nova coluna na tabela
Excluindo coluna existente
ALTER TABLE <NOME DA TABELA>
DROP COLUMN <NomeDaColuna>; -- Exclui coluna da tabela
Modificando coluna existente
ALTER TABLE <NOME DA TABELA>
ALTER COLUMN <NomeDaColuna> <NovoTipoDeDado> [Opções]
Excluir uma Tabela Existente
DROP TABLE <NOME DA TABELA>
Este é um resumo sobre a manipulação da estrutura de dados no SQL Server. Para mais detalhes e aprofundamento, consulte a referência ou acesse a documentação oficial do SQL Server.
Referências
W3SCHOOLS. SQL Tutorial. Disponível em: https://www.w3schools.com/sql/default.asp. Acesso em: 17 set. 2024.