La barra de herramientas vertical se muestra en la barra lateral izquierda cuando se selecciona una ficha de diagrama EER. Las herramientas de esta barra de herramientas ayudan a crear diagramas EER.
Barra de herramientas vertical |
Las cinco herramientas de relación se utilizan para representar las siguientes relaciones:
- Relaciones no identificables de uno a muchos
- Relaciones no identificadas uno a uno
- Relaciones de identificación de uno a muchos
- Relaciones de identificación uno a uno
- Relaciones de identificación de muchos a muchos
NOTAS DE REFERENCIA ADICIONAL
Please explain identifying/non-identifying relationships(Re: Por favor explique las relaciones de identificación / no-identificación)
Identificar la relación - donde la identidad / existencia de la entidad secundaria depende únicamente de la entidad matriz. Ninguna entidad principal significa ninguna entidad secundaria. Por ejemplo, si elimina un pedido (tabla de pedidos), es probable que también desaparezcan todas las líneas de pedido del pedido (order_line_item), ya que las líneas de pedido sin orden no tienen sentido. Por lo tanto, la identidad de un elemento de línea de pedido solo depende de una orden de concordancia existente.
Para una relación de identificación, coloque la columna de clave principal del padre en la columna de clave principal del niño (junto con otras columnas necesarias para proporcionar unicidad).
Para una relación no identificadora, se coloca la columna de clave principal del padre en la tabla del niño, pero no en la clave principal.
https://forums.mysql.com/read.php?125,590251,594011
------------------------------------------------------------------------------------------------------
¿Cuál es la diferencia entre identificar y no identificar relaciones?(What's the difference between identifying and non-identifying relationships?)
- Una relación de identificación es cuando la existencia de una fila en una tabla secundaria depende de una fila en una tabla primaria. Esto puede ser confuso porque es práctica común en estos días para crear un pseudokey para una tabla secundaria, pero no convertir la clave externa en la parte primaria de la clave principal del niño. Formalmente, la forma "correcta" de hacerlo es hacer que la clave extranjera sea parte de la clave primaria del niño. Pero la relación lógica es que el niño no puede existir sin el padre.
- Ejemplo: A Persontiene uno o más números de teléfono. Si tuvieran sólo un número de teléfono, podríamos simplemente almacenarlo en una columna de Person. Dado que queremos apoyar varios números de teléfono, hacemos una segunda tabla PhoneNumbers, cuya clave principal incluye la person_idreferencia a la Persontabla.
- Podemos pensar que los números de teléfono pertenecen a una persona, aunque se modelen como atributos de una tabla separada. Esta es una pista fuerte de que esta es una relación de identificación (incluso si no incluimos literalmente person_iden la clave primaria de PhoneNumbers).
- Una relación de no identificación es cuando los atributos de clave primaria del padre no deben convertirse en atributos clave primario del niño. Un buen ejemplo de esto es una tabla de búsqueda, como una clave externa en la Person.statereferencia a la clave principal de States.state. Persones una tabla de niño con respecto a States. Pero una fila en Personno se identifica por su stateatributo. Es decir, stateno es parte de la clave primaria de Person.
- Una relación de no identificación puede ser opcional o obligatoria , lo que significa que la columna de clave externa permite NULL o no permite NULL, respectivamente.
https://stackoverflow.com/questions/762937/whats-the-difference-between-identifying-and-non-identifying-relationships
--------------------------------------------------------------------------------------------------------------------------
Relación Identificadora (Identifying Relationship): En una relación identificadora (identifying relationship), la clave primaria de una entidad fuerte es absorbida por una entidad débil. Se dice que es una entidad débil, porque por sí misma no tiene modo de identificarse de forma única (no tiene clave primaria).
Un ejemplo: tenemos una aplicación que registra el ingreso de los empleados a las instalaciones de la organización. he aquí el modelo:
empleado { id_empleado, nombre, apellido, departamento, cargo }
ingreso_a_instalaciones { id_empleado, hora_ingreso, puerta }
En este caso, existe una relación identificadora porque cada registro de ingreso_a_instalaciones *requiere* que se especifique la id_empleado. De no especificarse, no se podría saber quién ingresó a las instalaciones. Eso convierte a cada ingreso_a_instalaciones en una entidad débil, que depende de la existencia de otra entidad (el empleado)
Relación No Identificadora (Non-Identifying Relationship): En una relación no identificadora (non-identifying relationship) no depende de la existencia de otra, porque tiene su propia clave principal.
Un ejemplo: tenemos una aplicación que lleva la nómina:
empleado { id_empleado, nombre, apellido, cargo, departamento, id_empleado_jefe }
En este caso, yo puedo usar la clave foránea id_empleado_jefe para establecer qué otro empleado es jefe de un empleado en particular, pero en sí, cada empleado tiene su id_empleado, por lo que la relación con el *empleado jefe* no tiene para nada que ver con la existencia del empleado común.
http://www.marcossarmiento.com/2017/05/05/como-crear-relaciones-entre-tablas-en-mysql-con-workbench/
http://www.marcossarmiento.com/2017/05/05/como-crear-relaciones-entre-tablas-en-mysql-con-workbench/
No hay comentarios.:
Publicar un comentario