Cuando tenemos muchas tablas, verificar si cada tabla tiene la Primary Key correcta puede ser muy tedioso si debemos estar mirando una por una. La siguiente consulta nos facilitará esa tarea:

Listado 1.

SELECT
   I.RDB$FIELD_NAME      AS NOMBRE_COLUMNA,
   R.RDB$RELATION_NAME   AS NOMBRE_TABLA,
   R.RDB$CONSTRAINT_TYPE AS TIPO_RESTRICCION,
   I.RDB$INDEX_NAME      AS NOMBRE_RESTRICCION
FROM
   RDB$RELATION_CONSTRAINTS R
JOIN
   RDB$INDEX_SEGMENTS       I
      ON R.RDB$CONSTRAINT_NAME = I.RDB$INDEX_NAME
WHERE
   R.RDB$CONSTRAINT_TYPE = 'PRIMARY KEY'

PRIMARYS01

Captura 1. Si haces clic en la imagen la verás más grande

En la Captura 1. podemos ver los nombres de cada tabla, los nombres de las columnas que están incluidas en la Primary Key, y los nombres de las Primary Key.

De esta manera nos resultará fácil saber si todas las tablas tienen las Primary Key que deberían tener, o si a alguna de ellas le está sobrando o faltando alguna columna.

Artículos relacionados:

El índice del blog Firebird21

El foro del blog Firebird21