top of page

Consultar tipo de dado, PK e FK

  • Foto do escritor: Amanda Nascimento
    Amanda Nascimento
  • 29 de nov. de 2023
  • 2 min de leitura

Atualizado: 27 de mai.



Consultar tipo de dado em uma tabela:


ree

SELECT

COLUMN_NAME,

DATA_TYPE,

CHARACTER_MAXIMUM_LENGTH

FROM

INFORMATION_SCHEMA.COLUMNS

WHERE

TABLE_NAME = 'nomedatabela';



Saída:

ree















Uma opção mais completa:


ree


SELECT

c.name AS 'Nome da Coluna',

tp.name AS 'Tipo de Dado',

c.max_length AS 'Tamanho Máximo',

c.precision AS 'Precisão',

c.scale AS 'Escala',

c.is_nullable AS 'Permite Nulo',

c.is_identity AS 'É Identity',

ISNULL((

SELECT 'PRIMARY KEY'

FROM sys.key_constraints kc

INNER JOIN sys.index_columns ic ON kc.parent_object_id = ic.object_id

WHERE

kc.parent_object_id = c.object_id AND

kc.type = 'PK' AND

ic.column_id = c.column_id

), '') AS 'Constraint'

FROM

sys.columns c

INNER JOIN

sys.types tp ON c.user_type_id = tp.user_type_id

INNER JOIN

sys.tables t ON c.object_id = t.object_id

WHERE

t.name = 'NOME_DA_SUA_TABELA'

ORDER BY

c.column_id;



Chaves PK e FK

Termo

Significado

Onde é usado

PK

Chave primária

Identifica de forma única

FK

Chave estrangeira

Cria vínculo entre tabelas

A chave primária (PK) é uma coluna (ou conjunto de colunas) que identifica de forma única cada registro em uma tabela.


Características:


  • Não pode conter valores nulos (NULL).

  • Os valores devem ser únicos (não podem se repetir).

  • Cada tabela pode ter apenas uma chave primária.

  • Geralmente é usada como referência por outras tabelas (através de chaves estrangeiras).



FK – Foreign Key (Chave Estrangeira)


A chave estrangeira é uma coluna (ou conjunto de colunas) que estabelece uma ligação entre duas tabelas. Ela faz referência à chave primária de outra tabela.


Características:


  • Garante a integridade referencial (os dados relacionados devem existir na tabela referenciada).

  • Pode aceitar valores nulos (dependendo da regra de negócio).

  • Uma tabela pode ter várias chaves estrangeiras.


Conceito

PK (Primary Key)

FK (Foreign Key)

Função

Identificar registros de forma única

Relacionar tabelas através de uma referência

Valores

Únicos e não nulos

Podem se repetir e podem ser nulos (em alguns casos)

Número por tabela

Apenas uma

Várias

Relacionamento

Não depende de outras tabelas

Depende de outra tabela


Para saber conceitos sobre chaves, clique aqui e veja os posts relacionados.



Consultar chave primária de uma tabela


A chave primária é a identificação única de cada linha (registro) em uma tabela.


Regras:


  • Não pode ser nula (NULL)

  • Não pode ter valores repetidos

  • Cada tabela pode ter apenas uma chave primária


Opção 1

ree

ree

Opção 2



ree

-- Chave Primária

SELECT

COLUMN_NAME,

DATA_TYPE,

CHARACTER_MAXIMUM_LENGTH

FROM

INFORMATION_SCHEMA.COLUMNS

WHERE

TABLE_NAME = 'pfunc'

AND COLUMN_NAME IN (

SELECT

COLUMN_NAME

FROM

INFORMATION_SCHEMA.KEY_COLUMN_USAGE

WHERE

TABLE_NAME = 'pfunc'

AND CONSTRAINT_NAME LIKE 'PK_%'

);



Saída:

ree







Criar chave primária de uma tabela PK


CREATE TABLE funcionarios (

id INT PRIMARY KEY,

nome VARCHAR(100),

cargo VARCHAR(50)

);


Neste exemplo, id é a chave primária — cada funcionário tem um id único.

id como nome da coluna, INT como número inteiro, e PRIMARY KEY definindo esta coluna como chave primária. PK — Primary Key (Chave Primária).




Consultar chave estrangeira de uma tabela



ree

-- Chaves Estrangeiras

SELECT

CONSTRAINT_NAME,

COLUMN_NAME,

TABLE_NAME

FROM

INFORMATION_SCHEMA.KEY_COLUMN_USAGE

WHERE

TABLE_NAME = 'pfunc'

AND CONSTRAINT_NAME LIKE 'FK_%';



ree


Criar chave primária de uma tabela FK



CREATE TABLE departamentos (

id INT PRIMARY KEY,

nome VARCHAR(50)

);


CREATE TABLE funcionarios (

id INT PRIMARY KEY,

nome VARCHAR(100),

departamento_id INT,

FOREIGN KEY (departamento_id) REFERENCES departamentos(id)

);


Neste exemplo:


  • departamento_id em funcionarios é uma FK

  • Ela aponta para id da tabela departamentos

  • Isso garante que só existam funcionários ligados a departamentos válidos


A chave estrangeira é uma referência a uma chave primária de outra tabela. Ela cria relacionamentos entre tabelas.


Regras:


  • O valor da FK deve existir na tabela referenciada (ou ser NULL, se permitido)

  • Garante a integridade referencial

© 2017-2025  Criado e desenvolvido por Amanda Nascimento

  • Discord
  • GitHub
  • youtube
  • LinkedIn Amanda
bottom of page