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

Aplica-se a:✅ endpoint de análise SQL e Warehouse no Microsoft Fabric

Saiba mais sobre as restrições de tabela no ponto de extremidade de análise SQL e no Warehouse do Microsoft Fabric, incluindo chave primária, chaves externas e chaves exclusivas.

Importante

Para adicionar ou remover restrições de chave primária, chave estrangeira ou única, use ALTER TABLE. Você não pode criar essas restrições dentro de uma CREATE TABLE sentença.

Restrições de tabela

O endpoint de análise SQL e o Warehouse no Microsoft Fabric oferecem suporte à adição das seguintes restrições de tabela às tabelas existentes:

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

Para sintaxe, marque ALTER TABLE.

  • O endpoint de análise SQL e o Warehouse não oferecem suporte a restrições DEFAULT no momento.
  • Para mais informações sobre tabelas, veja 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;