Chaves primárias, chaves estrangeiras e chaves exclusivas no Warehouse no Microsoft Fabric

Aplica-se a:✅ ponto final de analítica SQL e Warehouse no Microsoft Fabric

Conheça as restrições de tabela no ponto final de análise SQL e no Warehouse do Microsoft Fabric, incluindo a chave primária, as chaves externas e as chaves únicas.

Importante

Para adicionar ou remover chave primária, chave estrangeira ou restrições únicas, use ALTER TABLE. Não podes criar estas restrições em linha dentro de uma CREATE TABLE instrução.

Restrições de tabela

O endpoint de análise SQL e o Warehouse no Microsoft Fabric suportam a adição destas restrições de tabela às tabelas existentes:

  • PRIMARY KEY só é suportado quando se usa NONCLUSTERED e NOT ENFORCED.
  • FOREIGN KEY só é suportado quando se usa NOT ENFORCED.
  • UNIQUE a restrição só é suportada quando se usa NONCLUSTERED e NOT ENFORCED.

Para sintaxe, verifique ALTER TABLE.

  • O ponto de extremidade de análise SQL e o Warehouse não oferecem suporte a restrições padrão no momento.
  • Para mais informações sobre tabelas, consulte Tabelas em Fabric Data Warehouse.

Importante

Existem limitações ao adicionar restrições de tabela ou colunas usando o Git Integration para o desenvolvimento do Fabric Warehouse.

Exemplos

Crie uma tabela do Microsoft Fabric Warehouse com uma chave primária:

CREATE TABLE PrimaryKeyTable (c1 INT NOT NULL, c2 INT);

ALTER TABLE PrimaryKeyTable ADD CONSTRAINT PK_PrimaryKeyTable PRIMARY KEY NONCLUSTERED (c1) NOT ENFORCED;

Crie uma tabela do Microsoft Fabric Warehouse com uma restrição exclusiva:

CREATE TABLE UniqueConstraintTable (c1 INT NOT NULL, c2 INT);

ALTER TABLE UniqueConstraintTable ADD CONSTRAINT UK_UniqueConstraintTablec1 UNIQUE NONCLUSTERED (c1) NOT ENFORCED;

Crie uma tabela do Microsoft Fabric Warehouse com uma chave estrangeira:

CREATE TABLE ForeignKeyReferenceTable (c1 INT NOT NULL);

ALTER TABLE ForeignKeyReferenceTable ADD CONSTRAINT PK_ForeignKeyReferenceTable PRIMARY KEY NONCLUSTERED (c1) NOT ENFORCED;

CREATE TABLE ForeignKeyTable (c1 INT NOT NULL, c2 INT);

ALTER TABLE ForeignKeyTable ADD CONSTRAINT FK_ForeignKeyTablec1 FOREIGN KEY (c1) REFERENCES ForeignKeyReferenceTable (c1) NOT ENFORCED;