Compartilhar via


Tabelas no Fabric Data Warehouse

Aplica-se a:✅ Warehouse no Microsoft Fabric

Este artigo detalha os principais conceitos para criar tabelas no Microsoft Fabric.

Nas tabelas, os dados são organizados de maneira lógica em um formato de linha-e-coluna semelhante ao de uma planilha. Cada linha representa um registro exclusivo e cada coluna representa um campo no registro.

  • No Warehouse, as tabelas são objetos de banco de dados que contêm todos os dados transacionais.

Determinar a categoria da tabela

Um esquema em estrela organiza dados em tabelas de fatos e tabelas de dimensões. Algumas tabelas são usadas para dados de integração ou de preparo antes de irem para uma tabela de fatos ou dimensões. Ao criar uma tabela, decida se os dados da tabela pertencem a uma tabela de integração, de dimensão ou de fato. Essa decisão informa a distribuição e a estrutura da tabela apropriadas.

  • As Tabelas de fatos contêm dados quantitativos normalmente gerados em um sistema transacional e, depois, carregados no data warehouse. Por exemplo, uma empresa de varejo gera transações de vendas todos os dias e, em seguida, carrega os dados para uma tabela de fatos do data warehouse para análise.

  • As Tabelas de dimensões contêm dados de atributo que podem ser alterados, mas essas alterações são raras. Por exemplo, um nome e endereço do cliente são armazenados em uma tabela de dimensões e atualizados somente quando o perfil do cliente é alterado. Uma tabela de fatos grande pode ser minimizada: não é preciso deixar o nome e o endereço do cliente em todas as linhas. Em vez disso, a tabela de fatos e a tabela de dimensões podem compartilhar uma ID do cliente. Uma consulta pode unir as duas tabelas para associar o perfil e as transações de um cliente.

  • As Tabelas de integrações oferecem um local para dados de preparo ou integração. Por exemplo, é possível carregar dados em uma tabela de preparo, executar transformações nos dados de preparo e, em seguida, inserir os dados em uma tabela de produção.

Uma tabela armazena dados no OneLake como parte do Warehouse. A tabela e os dados persistem, estando uma sessão aberta ou não.

Tabelas no armazém

Para mostrar a organização das tabelas, você pode usar fact, dim, ou int como prefixos para os nomes das tabelas. A tabela a seguir mostra alguns dos nomes de esquema e tabela para o data warehouse de amostra WideWorldImportersDW.

Nome da tabela de origem WideWorldImportersDW Tipo de Tabela Nome da Tabela do SQL Data Warehouse
Cidade Dimensão wwi.DimCity
Pedido Fato wwi.FactOrder
  • Os nomes de tabela não podem conter / ou \ ou terminar com um ..

Criar uma tabela

Você pode criar uma tabela como uma nova tabela vazia. Você também pode criar e popular uma tabela com os resultados de uma instrução de seleção. A seguir estão os comandos T-SQL para criar uma tabela.

Instrução T-SQL Descrição
CREATE TABLE Cria uma tabela vazia com a definição de todas as opções e colunas da tabela.
CRIAR TABELA COMO SELEÇÃO Popula uma tabela nova com os resultados de uma instrução selecionada. Os tipos de dados e colunas de tabela baseiam-se nos resultados da instrução selecionada. Para importar dados, essa instrução pode selecionar de uma tabela externa.

Esse exemplo cria uma tabela com duas colunas.

CREATE TABLE MyTable (col1 int, col2 int );  

Nomes do esquema

O Warehouse é compatível com a criação de esquemas personalizados. Os esquemas são uma boa maneira de agrupar objetos usados de forma semelhante. O código a seguir cria um esquema definido pelo usuário chamado wwi.

  • Os nomes de esquema diferenciam minúsculas e maiúsculas.
  • Os nomes de esquema não podem conter / ou \ ou terminar com um ..
CREATE SCHEMA wwi;

Tipos de dados

O Microsoft Fabric é compatível com os tipos de dados mais usados.

Ordenação

Latin1_General_100_BIN2_UTF8 é a ordenação padrão para tabelas e metadados.

Você pode criar um armazém com a ordenação CI, que não diferencia maiúsculas de minúsculas Latin1_General_100_CI_AS_KS_WS_SC_UTF8. Para obter mais informações, consulte Como criar um armazém com ordenamento sem diferenciação entre maiúsculas e minúsculas.

As ordenações com suporte na API são:

  • Latin1_General_100_BIN2_UTF8 (padrão)
  • Latin1_General_100_CI_AS_KS_WS_SC_UTF8

Depois que a ordenação for definida durante a criação do banco de dados, todos os objetos subsequentes (tabelas, colunas etc.) herdarão essa ordenação padrão.

Estatísticas

O otimizador de consulta usa estatísticas de nível de coluna quando cria o plano para executar uma consulta. Para melhorar o desempenho de consulta, é importante criar estatísticas em colunas individuais, especialmente nas colunas usadas em junções de consulta. O Warehouse é compatível com a criação automática de estatísticas.

A atualização estatística não ocorre automaticamente. Atualize as estatísticas depois que um número significativo de linhas for adicionado ou alterado. Por exemplo, atualize as estatísticas depois de uma carga. Para obter mais informações, consulte Estatísticas no Fabric Data Warehouse.

Chave primária, chave estrangeira e chave exclusiva

Para Warehouse, a restrição PRIMARY KEY e UNIQUE só têm suporte quando NONCLUSTERED e NOT ENFORCED são usados.

Há suporte para a restrição UNIQUE somente quando NOT ENFORCED é usado.

#tabelas temporárias

Tabelas temporárias com escopo de sessão (#temp) podem ser criadas no Fabric Data Warehouse.

Essas tabelas existem somente dentro da sessão em que são criadas e perduram pelo tempo dessa sessão. Eles não são visíveis para outros usuários ou sessões e são removidos automaticamente do sistema quando a sessão termina ou a tabela #temp é descartada. Essas tabelas são acessíveis a todos os usuários sem a necessidade de permissão específica no nível do item.

Dois tipos de tabelas de #temp podem ser criados com base em casos de uso específicos, não distribuídos e distribuídos.

  • Tabela de #temp não distribuída (com suporte mdf) é o tipo padrão. A sintaxe para criar e usar tabelas de #temp não distribuídas no Fabric Data Warehouse é semelhante às tabelas de usuário, mas você precisa prefixar o nome da tabela temporária com #.

     CREATE TABLE #table_name (
       Col1 data_type1,
       Col2 data_type2
     );
    
  • Tabelas temporárias distribuídas (com suporte de Parquet) podem ser criadas com a DISTRIBUTION=ROUND_ROBIN keyword:

    CREATE TABLE #table_name ( 
    Col1 data_type1, 
    Col2 data_type2
    ) WITH (DISTRIBUTION=ROUND_ROBIN);
    

No script anterior, data_type1 e data_type2 são espaços reservados para tipos de dados com suporte no Fabric Data Warehouse.

As tabelas de #temp distribuídas são recomendadas, pois se alinham com tabelas de usuário normais; eles têm armazenamento ilimitado, suporte a tipos de dados e operações T-SQL. A sintaxe para manipulação e definição de dados é idêntica às tabelas de usuário no Fabric Data Warehouse, com prefixo # adicionado ao nome da tabela.

Alinhar dados de origem com o data warehouse

As tabelas do data warehouse são populadas pelo carregamento de dados de outra fonte de dados. Para obter uma carga bem-sucedida, o número e os tipos de dados das colunas nos dados de origem devem se alinhar com a definição da tabela no armazém de dados.

Se os dados forem provenientes de vários armazenamentos de dados, você poderá portar os dados no warehouse e armazená-los em uma tabela de integração. Depois que os dados estiverem na tabela de integração, você poderá usar o poder do warehouse para implementar operações de transformação. Quando os dados estiverem preparados, será possível inseri-los nas tabelas de produção.

Limitações

O Warehouse oferece suporte a muitos, mas não a todos, os recursos de tabela oferecidos por outros bancos de dados.

  • Atualmente, não há suporte para tabelas temporárias globais.

A lista a seguir mostra alguns dos recursos de tabela que não têm suporte no momento.

  • Máximo de 1024 colunas por planilha
  • Colunas computadas
  • Exibições indexadas
  • Tabelas particionadas
  • Sequência
  • Colunas esparsas
  • Chaves substitutas em sequências numéricas com colunas de identidade
  • Sinônimos
  • Gatilhos
  • Índices exclusivos
  • Tipos definidos pelo usuário
  • Tabelas externas

Importante

Existem limitações com a adição de restrições de tabela ou colunas ao ser usado o controle do código-fonte com o Warehouse.