User Tools

Site Tools


ver_relacion_de_claves_foraneas_en_bbdd_mysql

Visualizar la relación de tablas MySQL InnoDB que utilizan claves foraneas (FOREIGN KEY Constraints)

En el contexto de bases de datos relacionales, una clave foránea o clave ajena (o Foreign Key FK) es una limitación referencial entre dos tablas. La clave foránea identifica una columna o grupo de columnas en una tabla (tabla hija o referendo) que se refiere a una columna o grupo de columnas en otra tabla (tabla maestra o referenciada). Las columnas en la tabla referendo deben ser la clave primaria u otra clave candidata en la tabla referenciada.

Los valores en una fila de las columnas referendo deben existir solo en una fila en la tabla referenciada. Así, una fila en la tabla referendo no puede contener valores que no existen en la tabla referenciada. De esta forma, las referencias pueden ser creadas para vincular o relacionar información. Esto es una parte esencial de la normalización de base de datos. Múltiples filas en la tabla referendo pueden hacer referencia, vincularse o relacionarse a la misma fila en la tabla referenciada. Mayormente esto se ve reflejado en una relación uno (tabla maestra o referenciada) a muchos (tabla hija o referendo).

Documentación: http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html

Consulta MySQL para mostrar la relación entre tablas InnoDB con “FOREIGN KEY Constraints” en Mysql.

SELECT
  ke.referenced_table_name parent,
  ke.table_name child,
  ke.constraint_name
FROM
  information_schema.KEY_COLUMN_USAGE ke
WHERE
  ke.referenced_table_name IS NOT NULL
ORDER BY
  ke.referenced_table_name;

Ejemplo de relación entre tablas Mysql para una base de datos dada.

+---------------------+----------------------------+------------------------------+
| parent              | child                      | constraint_name              |
+---------------------+----------------------------+------------------------------+
| cwd_application     | cwd_application_alias      | fk_alias_app_id              |
| cwd_application     | cwd_app_dir_mapping        | fk_app_dir_app               |
| cwd_application     | cwd_application_address    | fk_application_address       |
| cwd_application     | cwd_application_attribute  | fk_application_attribute     |
| cwd_application     | cwd_app_dir_group_mapping  | fk_app_dir_group_app         |
| cwd_application     | cwd_webhook                | fk_webhook_app               |
| cwd_app_dir_mapping | cwd_app_dir_operation      | fk_app_dir_mapping           |
| cwd_app_dir_mapping | cwd_app_dir_group_mapping  | fk_app_dir_group_mapping     |
| cwd_directory       | cwd_user_attribute         | fk_user_attr_dir_id          |
| cwd_directory       | cwd_directory_attribute    | fk_directory_attribute       |
| cwd_directory       | cwd_membership             | fk_membership_dir            |
| cwd_directory       | cwd_app_dir_mapping        | fk_app_dir_dir               |
| cwd_directory       | cwd_user                   | fk_user_dir_id               |
| cwd_directory       | cwd_directory_operation    | fk_directory_operation       |
| cwd_directory       | cwd_group_attribute        | fk_group_attr_dir_id         |
| cwd_directory       | cwd_app_dir_group_mapping  | fk_app_dir_group_dir         |
| cwd_directory       | cwd_group                  | fk_directory_id              |
| cwd_group           | cwd_group_attribute        | fk_group_attr_id_group_id    |
| cwd_user            | cwd_user_credential_record | fk_user_cred_user            |
| cwd_user            | cwd_user_attribute         | fk_user_attribute_id_user_id |
+---------------------+----------------------------+------------------------------+
ver_relacion_de_claves_foraneas_en_bbdd_mysql.txt · Last modified: 2020/12/25 22:57 by 127.0.0.1