Migración de claves para el modelado lógico de datos

Al modificar las propiedades de una clave primaria o una relación en un modelo lógico de datos, también se modifican las propiedades de todas las claves externas 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. Al realizar una acción de migración de claves, los iconos que representan objetos de datos en los diagramas visuales o en el Explorador de proyectos de datos cambian de forma apropiada.
Acción de usuario Resultados de la migración de claves
Añadir un atributo a una clave primaria

Si la clave primaria forma parte de una relación, el atributo se migra a la entidad hijo como un atributo de clave externa.

Si la relación es una relación de identificación, el atributo migrado también se incluye como parte de los atributos de clave primaria de la entidad hijo.

Si el atributo ya es parte de una clave externa, el resto de los atributos de clave externa son ya parte de una clave primaria, y la relación es de no identificación, entonces la relación se cambia a una relación de identificación.

Eliminar un atributo de una clave primaria

Si la clave primaria forma parte de la relación, el atributo migrado a la entidad hijo como una clave externa se elimina de la lista de atributos de clave externa hijos.

Si la relación es una relación de identificación, el atributo migrado también se elimina de la lista de atributos de clave primaria de la entidad hijo.

Si el atributo ya es parte de una clave externa y la relación es una relación de identificación, entonces la relación se cambia a una relación de no identificación.

Cambiar el orden de los atributos de una clave primaria Si la clave primaria es parte de una relación, los atributos migrados en la clave externa se reordenan de forma que coincidan con la clave primaria.
Suprimir una clave primaria Si la clave primaria forma parte de varias relaciones, se mantienen las claves externas vacías y las relaciones asociadas.
Modificar el tipo de datos de un atributo Si el atributo es parte de una clave primaria y la clave primaria forma parte de una relación, también se cambia el tipo de datos del atributo migrado en la entidad hijo.
Modificar la longitud, precisión o escala de un tipo de datos de un atributo Si el atributo es parte de una clave primaria y la clave primaria forma parte de una relación, también se cambia la longitud, la precisión o la escala del tipo de datos del atributo migrado en la entidad hijo.
Suprimir un atributo

Si el atributo es parte de una clave primaria o clave alternativa y la clave primaria o la clave alternativa forman parte de una relación, se elimina el atributo migrado de la entidad hijo de la lista de atributos de clave externa hijos.

Si la relación es una relación de identificación, también se elimina el atributo migrado en la entidad hijo de la lista de atributos de clave primaria hijos.

Añadir un atributo a una clave alternativa

Si la clave alternativa forma parte de una relación, el atributo se migra a la entidad hijo como un atributo de clave externa.

Si la relación es una relación de identificación, el atributo migrado también se incluye como parte de los atributos de la clave alternativa de la entidad hijo.

Si el atributo ya es parte de una clave externa, el resto de los atributos de clave externa son ya parte de una clave alternativa, y la relación es de no identificación, entonces la relación se cambia a una relación de identificación.

Cambiar el orden de los atributos de una clave alternativa No hay migración de claves.
Eliminar un atributo de una clave alternativa

Si la clave primaria forma parte en una relación, el atributo migrado en la entidad hijo se elimina de la lista de atributos de clave externa hijos.

Si la relación es una relación de identificación, se elimina el atributo migrado en la entidad hijo de la lista de atributos de clave primaria de la entidad hijo.

Suprimir una clave alternativa Si la clave alternativa forma parte de varias relaciones, se mantienen las claves externas vacías y las relaciones asociadas.
Añadir un atributo a una clave externa No hay migración de claves.
Cambiar el orden de los atributos de una clave externa No hay migración de claves.
Eliminar un atributo de una clave externa Si el atributo es parte de una clave primaria o clave alternativa y la clave primaria o la clave alternativa forman parte de una relación, se elimina el atributo migrado de la entidad hijo de la lista de atributos de clave externa hijos. De lo contrario, no se realiza ninguna acción de migración de claves.
Suprimir una clave externa Se suprime la relación asociada de la entidad hijo.
Añadir una relación

Si la relación es una relación de identificación, los atributos migrados pasan a formar parte de la clave externa y la clave primaria de la entidad hijo.

Si la relación es una relación de no identificación, los atributos migrados pasan a formar parte de la clave externa de la entidad hijo.

Si la relación es una relación de muchos con muchos, no hay migración de claves.

Suprimir una relación de identificación Se suprime la clave externa asociada de la entidad hijo.
Suprimir una relación de no identificación Se suprime la clave externa asociada de la entidad hijo.
Suprimir la entidad padre de una relación Se eliminan todos los atributos de clave migrados de la clave externa de la entidad hijo.
Modificar el tipo de una relación

Si se cambia la relación de una relación de identificación a una relación de no identificación, se eliminan los atributos de clave externa de la clave primaria de la entidad hijo.

Si la relación se cambia de una relación de no identificación a una relación de identificación, se añaden los atributos de clave externa a la clave primaria de la entidad hijo.

Crear una generalización entre dos entidades
  1. Los atributos de clave primaria de la entidad de supertipo se migran a la entidad de subtipo.
  2. Si la entidad de subtipo participa como supertipo en generalizaciones que ya existen, se migran los atributos de clave junto con las generalizaciones, siguiendo los pasos anteriores.
  3. Si la entidad de subtipo es un padre en las relaciones que ya existen, se migran los atributos de clave junto con las relaciones.
Suprimir una generalización
  1. Se eliminan los atributos de clave migrados de la entidad de subtipo.
  2. Si la entidad de subtipo participa como un supertipo en generalizaciones existentes, se migra la supresión del atributo de clave junto con las generalizaciones, siguiendo los pasos anteriores.
  3. Si la entidad de subtipo participa como un padre en relaciones que ya existen, se migra la supresión de atributo de clave junto con las relaciones.
Suprimir una entidad de supertipo
  1. Se suprimen todas las generalizaciones que hacen referencia a la entidad de supertipo.
  2. Se eliminan los atributos de clave migrados de la entidad de subtipo.
  3. Si la entidad de subtipo participa como un supertipo en generalizaciones existentes, se migra la supresión del atributo de clave junto con las generalizaciones, siguiendo los pasos anteriores.
  4. Si la entidad de subtipo participa como un padre en relaciones que ya existen, se migra la supresión de atributo de clave junto con las relaciones.
Suprimir una clave primaria de supertipo
  1. Se eliminan los atributos de clave migrados de la entidad de subtipo.
  2. Si la entidad de subtipo participa como un supertipo en generalizaciones existentes, se migra la supresión del atributo de clave junto con las generalizaciones, siguiendo los pasos anteriores.
  3. Si la entidad de subtipo participa como un padre en relaciones que ya existen, se migra la supresión de atributo de clave junto con las relaciones.
Suprimir un atributo de clave primaria de una entidad de supertipo
  1. Se elimina el atributo de clave migrado de la entidad de subtipo.
  2. Si la entidad de subtipo participa como un supertipo en generalizaciones que ya existen, se migra la supresión del atributo de clave junto con las generalizaciones, siguiendo los pasos anteriores.
  3. Si la entidad de subtipo participa como un padre en relaciones que ya existen, se migra la supresión de atributo de clave junto con las relaciones.
Añadir un nuevo atributo de clave primaria a una entidad de supertipo
  1. El nuevo atributo de clave de la entidad de supertipo se migra a la entidad de subtipo.
  2. Si el subtipo de entidad participa como un supertipo en generalizaciones que ya existen, se migra el nuevo atributo de clave junto con las generalizaciones, siguiendo los pasos anteriores.
  3. Si la entidad de subtipo participa como padre en relaciones que ya existen, se migra el nuevo atributo de clave junto con las relaciones.
Modificar un atributo de clave primaria de una entidad de supertipo
  1. La modificación que se realiza al atributo de clave de la entidad de supertipo se migra al atributo equivalente en la entidad de subtipo.
  2. Si el subtipo de entidad participa como un supertipo en generalizaciones que ya existen, se migra la modificación que se realizó al atributo de clave junto con las generalizaciones, siguiendo los pasos anteriores.
  3. Si la entidad de subtipo participa como un padre en relaciones que ya existen, se migra la modificación que se realizó al atributo de clave junto con las relaciones.
Cambiar el orden de un atributo de clave primaria de una entidad de supertipo
  1. La posición en el cambio que se realizó al atributo de clave de la lista de claves primarias de la entidad de supertipo se aplica al atributo de clave migrado en la lista de atributos de la clave foránea que está asociada con la generalización.
  2. Si el subtipo de entidad participa como un supertipo en generalizaciones que ya existen, se migra el cambio en la posición que se realizó al atributo clave junto con las generalizaciones, siguiendo el paso anterior.
  3. Si la entidad de subtipo participa como un padre en relaciones que ya existen, se migra el cambio de posición que se realizó al atributo de clave junto con las relaciones.

Comentarios