A chave primária é responsável em manter a integridade da tabela no banco de dados e o índice de maior eficiência disponível.
Deveríamos ter uma regra obrigatória:
“NAO PODE DEIXAR DE INDICAR A CHAVE PRIMÁRIA”
Para localizar as tabelas que não possuem chave primária executar:
[code lang=”SQL”]
SELECT RDB$RELATION_NAME AS Tabela
FROM RDB$RELATIONS
WHERE RDB$RELATION_TYPE IN (0, 4, 5)
AND (RDB$SYSTEM_FLAG = 0 OR RDB$SYSTEM_FLAG IS NULL)
AND RDB$RELATION_NAME NOT IN
(SELECT RDB$RELATION_NAME FROM RDB$RELATION_CONSTRAINTS
WHERE RDB$CONSTRAINT_TYPE = ‘PRIMARY KEY’)
ORDER BY RDB$RELATION_NAME;
[/code]
fonte: Firebird Conference 2014 – Ivan Prenosil