Análisis de integridad referencial

La función de integridad referencial comprueba que cada valor de datos de clave foránea, sea de columna única o de varias columnas (concatenado), pueda acceder a la clave primaria de una tabla relacionada.

Función

La función se utiliza para confirmar la integridad referencial de las tablas que tiene claves foráneas definidas en sus metadatos importados y para comprobar la integridad referencial de los candidatos de clave foránea antes de su selección como clave. Esta función, utilizada conjuntamente con la función de análisis de clave foránea, se utiliza para seleccionar una clave foránea nueva.

Técnica

El enfoque para el análisis de integridad referencial está basado en la comparación de los valores de datos distintos de la distribución de frecuencia de la clave foránea con los valores de datos distintos encontrados en la distribución de frecuencia de la clave primaria.

Si la clave primaria es una columna única, el sistema utiliza las distribuciones de frecuencia de las respectivas columnas, clave foránea y clave primaria, para llevar a cabo la comparación.

Sin embargo, si la clave primaria con varias columnas, el sistema crea primera una distribución de frecuencia para la clave foránea basada en los valores de datos concatenados de la combinación de columnas de la clave foránea. Posteriormente, el sistema utiliza las distribuciones de frecuencia (por ejemplo, valores concatenados) de la clave foránea y la clave primaria para llevar a cabo la comparación.

En la comparación, el sistema determina si no se puede encontrar alguno de los valores de datos distintos de la clave foránea en la distribución de frecuencia de la clave primaria (por ejemplo, una violación de la integridad referencial). El sistema calcula también el número de valores de datos distintos de clave primaria que no se utilizan como valor de datos de clave foránea. Ello puede suponer o no un problema dependiendo de la relación lógica (por ejemplo, de 1 a n) de las dos tablas.

Opción del sistema

Inicie el análisis de integridad referencial seleccionando un candidato de clave foránea o una clave foránea definida.

Si la clave foránea es una columna única, el sistema lleva a cabo una comparación de los valores de datos de distribución de frecuencia de la columna de clave foránea con los valores de datos distintos de distribución de frecuencia de la columna de clave primaria.

Sin embargo, si la clave foránea son varias columnas, el sistema crea primera una distribución de frecuencia de valores de datos concatenados para la clave foránea. Esta acción es necesario para compararla con la distribución de frecuencia de los valores de datos concatenados para la clave primaria creada en la función de comprobación de duplicados.

La comparación de distribuciones de frecuencia produce estadísticas resumen de la integridad de clave foránea-clave primaria, y la situación de clave primaria-clave foránea. Las estadísticas están también representadas gráficamente en un diagrama de Venn generado por el sistema. Finalmente, el sistema produce una lista con los valores de datos de clave foránea que constituyen violaciones de la integridad referencial.

Responsabilidad del usuario

Inicie la función de integridad referencial para una clave foránea definida o seleccionada.

Si la clave foránea a analizar es una clave de varias columnas, el sistema le avisará de que debe crear una distribución de frecuencia de varias columnas de los valores de datos concatenados. Llegados a este punto, puede secuenciar la combinación de columnas en un orden de columnas concreto. Esta acción se realiza, de ser necesaria, para que los valores de datos concatenados de clave foránea coincidan con los valores de datos concatenados de clave primaria creados durante la función de comprobación de duplicados.

El sistema muestra los resultados, incluido un resumen estadístico con la integridad referencial de clave foránea-clave primaria, información de clave primaria-clave foránea y una lista de las violaciones de la integridad referencial. Si los resultados de la integridad referencial son satisfactorios, puede aceptar la columna o la combinación de columnas como clave foránea. De lo contrario, puede volver a la función de análisis de clave foránea para buscar otra columna de clave foránea.

Interpretación de los resultados

La revisión del análisis de integridad referencial es prácticamente directo.

Si no hay ninguna violación de la integridad referencial entre el candidato de clave foránea y la clave primaria, es una buena indicación de que se puede aceptar el candidato de clave foránea como clave foránea. En caso de que haya relativamente pocas violaciones de la integridad referencial, estas deben investigarse a fin de determinar su causa raíz y saber si se pueden corregir. Sin embargo, si el número de violaciones de la integridad referencial es elevado, no debe aceptar el candidato como clave foránea.

Además, si tiene en cuenta que debe existir una relación 1-a-1 o 1-a-n entre la tabla de clave primaria y la tabla de clave foránea, deberá investigar la integridad de los resultados de clave primaria-clave foránea.

Decisiones y acciones

Solamente tiene una decisión fundamental que tomar en relación con el análisis de integridad referencial de cada candidato de clave foránea. Puede aceptar las columnas como clave foránea, o bien no hacerlo.

En el caso de candidatos de clave foránea de varias columnas, también puede secuenciar las columnas de la combinación en el orden que desee. Esta acción debe realizarse, de ser necesaria, para asegurar que los valores de datos de clave foránea están concatenados de la misma forma en que lo estaba la clave primaria.

Consideraciones de rendimiento

No hay consideraciones de rendimiento significativas para la función de integridad referencial cuando esta implica a una clave foránea de columna única.

En el caso de las claves foráneas de varias columnas, el sistema necesita crear una nueva distribución de frecuencia que utiliza los valores de datos concatenados a partir de la combinación de columnas del candidato de clave foránea. El tiempo de ejecución para esta tarea viene determinado por el número de filas de la tabla de origen.