Módulo 2:
Criando tipos de
dados e tabelas
Visão geral do módulo
Criando tipos de dados
Criando tabelas
Criando tabelas particionadas
Lição 1: Criando tipos de dados
O que são tipos de dados fornecidos pelo sistema?
Usando tipos de dados fornecidos pelo sistema
O que são tipos de dados de alias?
Prática: Criando tipos de dados
O que são tipos de dados fornecidos pelo sistema?
Categoria
Números inteiros
Exatos
Numéricos
Aproximados
Monetários
int, bigint, smallint, tinyint
decimal, numeric
float, real
money, smallmoney
datetime, smalldatetime
Data e hora
Caractere
Tipos de dados
não-Unicode
char, varchar, varchar(max), text
Unicode
nchar, nvarchar, nvarchar(max), ntext
Binários
binary, varbinary, varbinary(max)
Imagem
image
Identificador global
uniqueidentifier
XML
xml
Especiais
bit, cursor, timestamp, sysname, table, sql_variant
Usando tipos de dados fornecidos pelo sistema
Tipos de dados numéricos exatos e aproximados
Exatos – decimal, numeric
Aproximados – float, real
Tipos de dados de caracteres
Fixos – nchar
Variáveis – nvarchar
Dados de data e hora
Datas e horas – datetime, smalldatetime
Versão de linha – timestamp
Valores de dados grandes
Tipo de objetos grandes – text, image
Especificador max – varchar(max), nvarchar(max), varbinary(max)
O que são tipos de dados de alias?
Baseados em tipos fornecidos pelo sistema
Usados para elementos de dados comuns
com um formato específico
Criados usando a instrução CREATE TYPE
CREATE TYPE dbo.StateCode
FROM char(2)
NULL
Prática: Criando tipos de dados
Nesta prática, você irá:
Criar um tipo de dados usando
o SQL Server Management Studio
Criar um tipo de dados usando
Transact-SQL
Lição 2: Criando tabelas
Como o SQL Server organiza dados em linhas
Como o SQL Server organiza valores de dados grandes
Considerações para a criação de tabelas
Gerando Scripts do Transact-SQL
Prática: Criando tabelas
Como o SQL Server organiza dados em linhas
Data
Cabeçalho
Dados fixos
NB
VB
Dados variáveis
4 Bytes
Bloco
de nulos
2 Bytes
10111001
Número
de colunas
Bit de nulidade
por coluna
(primeiras 8 colunas)
…
Mais bits
de coluna
conforme
necessário
Bloco
de variáveis
2 Bytes
2 Bytes
Número de
colunas de
tamanho variável
…
Ponteiro adicional
por coluna variável
Ponteiro para final do primeiro
dado da coluna variável
Como o SQL Server organiza valores de dados grandes
Tipos de valores grandes fora da linha opção ON
Linha de dados
nvarchar(max) [ < 8K]
nvarchar(max) [ > 8K]
Tipos de valores grandes fora da linha opção OFF
Linha de dados nvarchar(max) [ < 8K]
nvarchar(max) [ > 8K]
Considerações para a criação de tabelas
Agrupamento de colunas
Nulidade da coluna
Tipos de coluna especiais
Colunas computadas
Colunas de identidade
colunas de carimbo de hora
colunas de identificador exclusivo
CREATE TABLE Sales.CustomerOrders
(OrderID int IDENTITY NOT NULL,
OrderDate datetime NOT NULL,
CustomerID int NOT NULL,
Notes nvarchar(200) NULL)
Gerando Scripts do Transact-SQL
Object Explorer
1 Conecte-se a uma instância do SQL Server Database Engine
2 Expanda Object Explorer e localize o objeto
com o botão direito do mouse e depois clique
3 Clique
em Script <object type> as
Generate Scripts Wizard
Clique com o botão direito do mouse em um banco de
1 dados, aponte para Tarefas e clique em Generate Scripts
2 Siga as etapas fornecidas pelo assistente
Prática: Criando tabelas
Nesta prática, você irá:
Criar uma tabela usando
o SQL Server Management Studio
Criar uma tabela usando Transact-SQL
Gerar um script do Transact-SQL
Lição 3: Criando tabelas particionadas
O que são tabelas particionadas?
O que são funções de partição?
O que é um esquema de partição?
Demonstração: Criando uma tabela particionada
Quais operações podem ser executadas em dados
particionados?
O que são tabelas particionadas?
Os dados são particionados horizontalmente por intervalo
< 2003
2003 -- 2004
2004 -- 2005
Sales.Orders
> 2005
O que são funções de partição?
As funções de partição definem os limites da partição
Podem ser atribuídos valores limite a LEFT ou RIGHT
< 2003
2003 -- 2004
2004 -- 2005
> 2005
CREATE PARTITION FUNCTION pf_OrderDate (datetime)
AS RANGE RIGHT
FOR VALUES ('01/01/2003', '01/01/2004', 01/01/2005')
O que é um esquema de partição?
Um esquema de partição atribui partições a grupos de arquivos
O “próximo” grupo de arquivos também pode ser definido
< 2003
2003 -- 2004
2004 -- 2005
CREATE PARTITION SCHEME ps_OrderDate
AS PARTITION pf_OrderDate
TO (fg1, fg2, fg3, fg4, fg5)
> 2005
Demonstração: Criando uma tabela particionada
Nesta demonstração, você verá como:
Criar uma função de partição
Criar um esquema de partição
Criar uma tabela particionada
Exibir o comportamento da tabela
particionada
Quais operações podem ser executadas em dados
particionados?
ALTERNAR: Troca uma tabela ou partição
preenchida por uma tabela ou partição vazia
MESCLAR: Combina duas partições
adjacentes em uma única partição
DIVIDIR: Insere um limite em uma partição
existente para criar uma nova partição
ALTERNAR
< 2003
MESCLAR
DIVIDIR
2003 -- 2004
2004 -- 2005
2005 -- 2006
> 2006
Laboratório: Criando tipos de dados e tabelas
Exercício 1: Criando tipos de dados
Exercício 2: Criando tabelas
Exercício 3: Criando tabelas
particionadas