Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando...

20
Módulo 2: Criando tipos de dados e tabelas

Transcript of Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando...

Page 1: Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.

Módulo 2: Criando tipos de dados e tabelas

Page 2: Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.

Visão geral do módulo

Criando tipos de dadosCriando tabelasCriando tabelas particionadas

Page 3: 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

Page 4: Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.

O que são tipos de dados fornecidos pelo sistema?

Categoria Tipos de dados

Numéricos

Números inteiros int, bigint, smallint, tinyint

Exatos decimal, numeric

Aproximados float, real

Monetários money, smallmoney

Data e hora datetime, smalldatetime

Caracterenã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

Page 5: Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.

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)

Page 6: Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.

O que são tipos de dados de alias?

Baseados em tipos fornecidos pelo sistemaUsados para elementos de dados comuns com um formato específicoCriados usando a instrução CREATE TYPE

CREATE TYPE dbo.StateCodeFROM char(2)NULL

Page 7: Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.

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 usandoTransact-SQL

Page 8: 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 2: Criando tabelas

Como o SQL Server organiza dados em linhas Como o SQL Server organiza valores de dados grandesConsiderações para a criação de tabelasGerando Scripts do Transact-SQLPrática: Criando tabelas

Page 9: Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.

Como o SQL Server organiza dados em linhas

Cabeçalho Dados fixos NB VB Dados variáveis

Blocode nulos

Blocode variáveis

4 Bytes

Data

2 Bytes 10111001 …

Número de colunas

Bit de nulidadepor coluna

(primeiras 8 colunas)

Mais bits de coluna conforme

necessário

2 Bytes 2 Bytes …

Número de colunas de

tamanho variável

Ponteiro para final do primeiro dado da coluna variável

Ponteiro adicional por coluna variável

Page 10: Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.

Tipos de valores grandes fora da linha opção OFF

Tipos de valores grandes fora da linha opção ON

nvarchar(max) [ < 8K]Linha de dados nvarchar(max) [ > 8K]

nvarchar(max) [ < 8K]Linha de dados nvarchar(max) [ > 8K]

Como o SQL Server organiza valores de dados grandes

Page 11: Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.

Agrupamento de colunasNulidade da colunaTipos de coluna especiais

Colunas computadas

Colunas de identidade

colunas de carimbo de hora

colunas de identificador exclusivo

Considerações para a criação de tabelas

CREATE TABLE Sales.CustomerOrders(OrderID int IDENTITY NOT NULL, OrderDate datetime NOT NULL, CustomerID int NOT NULL, Notes nvarchar(200) NULL)

Page 12: Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.

Gerando Scripts do Transact-SQL

Object Explorer

Conecte-se a uma instância do SQL Server Database Engine

Expanda Object Explorer e localize o objeto

Clique com o botão direito do mouse e depois clique em Script <object type> as

1

2

3

Generate Scripts WizardClique com o botão direito do mouse em um banco de dados, aponte para Tarefas e clique em Generate Scripts

Siga as etapas fornecidas pelo assistente

1

2

Page 13: Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.

Prática: Criando tabelas

Nesta prática, você irá:Criar uma tabela usando o SQL Server Management Studio Criar uma tabela usando Transact-SQLGerar um script do Transact-SQL

Page 14: 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 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 particionadaQuais operações podem ser executadas em dados particionados?

Page 15: Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.

O que são tabelas particionadas?

< 2003 2003 -- 2004 2004 -- 2005 > 2005

Sales.Orders

Os dados são particionados horizontalmente por intervalo

Page 16: Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.

As funções de partição definem os limites da partiçãoPodem ser atribuídos valores limite a LEFT ou RIGHT

< 2003 2003 -- 2004 2004 -- 2005 > 2005

CREATE PARTITION FUNCTION pf_OrderDate (datetime)AS RANGE RIGHTFOR VALUES ('01/01/2003', '01/01/2004', 01/01/2005')

O que são funções de partição?

Page 17: Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.

Um esquema de partição atribui partições a grupos de arquivosO “próximo” grupo de arquivos também pode ser definido

CREATE PARTITION SCHEME ps_OrderDateAS PARTITION pf_OrderDate TO (fg1, fg2, fg3, fg4, fg5)

< 2003 2003 -- 2004 2004 -- 2005 > 2005

O que é um esquema de partição?

Page 18: Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.

Demonstração: Criando uma tabela particionada

Nesta demonstração, você verá como:Criar uma função de partiçãoCriar um esquema de partiçãoCriar uma tabela particionadaExibir o comportamento da tabela particionada

Page 19: Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.

Quais operações podem ser executadas em dados particionados?

< 2003 2003 -- 2004 2004 -- 2005 2005 -- 2006 > 2006

ALTERNAR: Troca uma tabela ou partição preenchida por uma tabela ou partição vaziaMESCLAR: Combina duas partições adjacentes em uma única partiçãoDIVIDIR: Insere um limite em uma partição existente para criar uma nova partição

DIVIDIRALTERNAR

MESCLAR

Page 20: Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.

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