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

Cuando se modifican las propiedades de una columna clave o de una relación en un modelo de datos físico, también se modifican las propiedades de las claves foráneas relacionadas.
En la tabla que hay a continuación se describen las acciones que realizadas sobre un objeto, originan 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 de usuario Resultados 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 foránea.

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 foránea, el resto de las columnas de la clave foránea 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 foránea se elimina de la lista de columnas de la clave foránea.

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 foránea 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 foránea se vuelven a ordenar para que coincidan con la clave primaria.
Suprimir una clave primaria Si la clave primaria forma parte de varias relaciones, se mantienen las claves foráneas vacías y las relaciones asociadas.
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 foránea 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 foránea.

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 foránea, el resto de las columnas de la clave foránea 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 hay 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 foránea 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 foráneas vacías.
Añadir una columna a una clave foránea No hay migración de claves.
Volver a ordenar las columnas de una clave foránea No hay migración de claves.
Eliminar una columna de una clave foránea 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 foránea hijo. De lo contrario, no se realiza ninguna acción de migración de claves.
Suprimir una clave foránea 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 foránea 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 foránea de la tabla hijo.

Suprimir una relación de identificación La clave foránea asociada se suprime de la tabla hijo.
Suprimir una relación de no identificación La clave foránea 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 foránea 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 foránea 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 foránea se añaden a la clave primaria de la tabla hijo.


Comentarios