Migración de claves para el modelado de datos físicos

Cuando se modifican las propiedades de una columna clave o de una relación en un modelo de datos físicos, también se modifican las propiedades de las claves externas relacionadas.

La tabla siguiente describe las acciones sobre un objeto que hacen que se produzcan acciones de migración de claves. Cuando se producen acciones de migración de claves, los iconos que decoran objetos de datos en los diagramas visuales o en el Explorador de proyectos de datos cambian de forma correspondiente.
Acción del usuario Resultado de la migración de claves
Añadir una columna a una clave primaria

Si la clave primaria forma parte de una relación, la columna se migra a la tabla hijo en forma de columna de clave externa.

Si la relación es de identificación, la columna migrada también se incluye como parte de las columnas de la clave primaria de la entidad hijo.

Si la columna ya forma parte de una clave externa, el resto de las columnas de la clave externa ya forman parte de la clave primaria, y la relación es de no identificación, entonces la relación pasa a ser de identificación.

Eliminar una columna de una clave primaria

Si la clave primaria forma parte de una relación, la columna que se había migrado a la tabla hijo como clave externa se elimina de la lista de columnas de la clave externa.

Si la relación es de identificación, la columna migrada también se elimina de la lista de columnas de la clave primaria de la tabla hijo.

Si la columna ya forma parte de una clave externa y la relación es de identificación, la relación pasa a ser de no identificación.

Volver a ordenar las columnas de una clave primaria Si la clave primaria forma parte de una relación, las columnas migradas de la clave externa se vuelven a ordenar para que coincidan con la clave primaria.
Suprimir una clave primaria Si la clave primaria participa en las relaciones, se mantienen las relaciones asociadas y las claves externas vacías.
Modificar el tipo de datos de una columna Si la columna forma parte de una clave primaria y la clave primaria forma parte de una relación, también cambia el tipo de datos de la columna migrada en la tabla hijo.
Modificar la longitud, precisión o escala del tipo de datos de una columna Si la columna forma parte de una clave primaria y la clave primaria forma parte de una relación, también cambia la longitud, precisión o escala del tipo de datos de la columna migrada en la tabla hijo.
Suprimir una columna

Si la columna forma parte de la restricción de clave primaria o de clave de unicidad y la restricción de clave primaria o de clave de unicidad participa en una relación, la columna migrada en la tabla hijo se elimina de la lista de columnas de la clave externa hijo.

Si la relación es de identificación, la columna migrada en la tabla hijo también se elimina de la lista de columnas de la clave primaria hijo.

Añadir una columna a una restricción de clave de unicidad

Si la restricción de clave de unicidad forma parte de una relación, la columna se migra a la tabla hijo en forma de columna de clave externa.

Si la relación es de identificación, la columna migrada también se incluye como parte de las columnas de restricción de clave de unicidad de la tabla hijo.

Si la columna ya forma parte de una clave externa, el resto de las columnas de la clave externa ya forman parte de la restricción de clave de unicidad, y la relación es de no identificación, entonces la relación pasa a ser de identificación.

Volver a ordenar las columnas de una restricción de clave de unicidad No se produce ninguna migración de claves
Eliminar una columna de una restricción de clave de unicidad

Si la clave primaria forma parte de una relación, la columna migrada en la tabla hijo se elimina de la lista de columnas de la clave externa hijo.

Si la relación es de identificación, la columna migrada en la tabla hijo se elimina de la lista de columnas de la clave primaria hijo.

Suprimir una restricción de clave de unicidad Si la restricción de clave de unicidad participa en las relaciones, se mantienen las relaciones asociadas y las claves externas vacías.
Añadir una columna a una clave externa No se produce ninguna migración de claves
Volver a ordenar las columnas de una clave externa No se produce ninguna migración de claves
Eliminar una columna de una clave externa Si la columna forma parte de una clave primaria o de una restricción de clave y la clave primaria o la restricción de clave participa en una relación, la columna migrada en la tabla hijo se elimina de la lista de columnas de la clave externa hijo. En caso contrario, no se produce ninguna migración.
Suprimir una clave externa La relación asociada se suprime de la tabla hijo.
Añadir una relación

Si la relación es una relación de identificación, las columnas migradas pasan a formar parte de la clave externa y de la clave primaria de la tabla hijo.

Si la relación es una relación de no identificación, las columnas migradas pasan a formar parte de la clave externa de la tabla hijo.

Suprimir una relación de identificación La clave externa asociada se suprime de la tabla hijo.
Suprimir una relación de no identificación La clave externa asociada se suprime de la tabla hijo.
Suprimir la tabla padre de una relación Todas las columnas de la clave migrada se eliminan de la clave externa de la tabla hijo.
Modificar el tipo de una relación

Si la relación cambia de identificación a no identificación, las columnas de la clave externa se eliminan de la clave primaria de la tabla hijo.

Si la relación cambia de no identificación a identificación, las columnas de la clave externa se añaden a la clave primaria de la tabla hijo.


Comentarios