Uma chave primária e uma referência de chave estrangeira devem ter o mesmo tamanho de coluna no sql server 2008? alguém poderia me indicar um link para uma documentação explicando isso?
Obrigado pela ajuda.
Uma chave primária e uma referência de chave estrangeira devem ter o mesmo tamanho de coluna no sql server 2008? alguém poderia me indicar um link para uma documentação explicando isso?
Obrigado pela ajuda.
Sim. Está nas páginas de documentação do MSDN: Relações de chave estrangeira
Essa página não fornece muito mais detalhes, mas o teste revela que "mesmo tipo de dados" significa mesmo tipo e mesmo tamanho. Além disso, se alguém tentar fazer uma
FOREIGN KEY
restrição entre, por exemplo, aVARCHAR(20)
e umaVARCHAR(30)
coluna,obtemos o erro explicativo :
Observe também que alguns DBMS (como Oracle, MySQL, Postgres) permitem chaves estrangeiras entre colunas do mesmo tipo de dados (ou seja,
VARCHAR
ouCHAR
), mas de tamanhos diferentes.O Postgres é ainda menos rigoroso. Ele permite chaves estrangeiras entre colunas de
CHAR
ouVARCHAR
tiposTEXT
de dados em qualquer combinação.