entity-relationship

entity relationship - ¿La opcionalidad(obligatoria, opcional) y la participación(total, parcial) son iguales?



entity-relationship (1)

Comencemos con definiciones y ejemplos de cada uno de los conceptos:

Participación total y parcial:

La participación total (indicada por una línea de asociación doble o gruesa) significa que todas las entidades en un conjunto de entidades deben participar en la relación. La participación parcial (indicada por una sola línea delgada) significa que puede haber entidades en el conjunto de entidades que no participan en la relación.

Medicine participa totalmente en la relación de Produce , lo que significa que la Medicine no puede existir a menos que sea Produced por un Laboratory . En contraste, un Laboratory puede existir sin Producing Medicine : el Laboratory participa parcialmente en la relación de Produce .

Roles obligatorios y opcionales:

En una relación, los roles pueden ser opcionales u obligatorios. Esto afecta si una instancia de relación puede existir sin una entidad en un rol determinado. Los roles obligatorios se indican con una línea de asociación sólida, los roles opcionales se indican con una línea de puntos.

Los roles no se mencionan a menudo en los tutoriales de bases de datos, pero son un concepto importante. Considere un matrimonio: una relación con dos roles obligatorios cubiertos por el mismo conjunto de entidades. En la mayoría de las relaciones, los conjuntos de entidades también definen los roles, pero cuando un conjunto de entidades aparece varias veces en una sola relación, los distinguimos en diferentes roles.

En el ejemplo anterior, un Patient puede Purchase Medicine con o sin Prescription . Una Purchase no puede existir sin un Patient y un Medicine , pero una Prescription es opcional (en general, aunque puede ser necesaria en casos específicos).

Relación de identificación / entidad débil:

Una entidad débil es una entidad que no puede identificarse por sus propios atributos y, por lo tanto, tiene la clave de otra entidad como parte de la suya. Una relación de identificación es la relación entre una entidad débil y su entidad matriz. Tanto la relación de identificación como la entidad débil se indican con bordes dobles. Los conjuntos de entidades débiles necesariamente deben participar totalmente en su relación de identificación.

En este ejemplo, una Prescription contiene LineItems que se identifican con la clave de la Prescription y un número de línea. En otras palabras, la tabla LineItems tendrá una clave compuesta (Prescription_ID, Line_Number) .

Para ver ejemplos de relaciones no identificables, consulte los ejemplos anteriores. Si bien Medicine participa totalmente en la relación Produce , tiene su propia identidad (por ejemplo, una clave sustituta, aunque no la indiqué). Tenga en cuenta que las claves sustitutas siempre implican entidades regulares.

Obligatorio / opcional vs participación total / parcial

Los roles obligatorios u opcionales indican si se requiere un determinado rol (con su conjunto de entidades asociado) para que exista la relación. La participación total o parcial indica si se requiere cierta relación para que una entidad exista.

Participación parcial obligatoria: ver arriba: un Laboratory puede existir sin producir ningún medicamento, pero los Medicine no pueden producirse sin un Laboratory .

Participación total obligatoria: ver arriba: la Medicine no puede existir sin ser Produced , y un Laboratory no puede Produce algo sin especificar.

Participación parcial opcional: Ver más arriba: una Prescription puede existir sin haber sido Purchased , y una Purchase puede existir sin Prescription .

Eso deja una participación total opcional, que tuve que pensar un poco para encontrar un ejemplo:

Algunos Patients Die por una Cause desconocida, pero una Cause de muerte no puede existir sin que un Patient Dying por ello.

Participación total / parcial versus relaciones de identificación / no identificación

Como dije antes, los conjuntos de entidades débiles siempre participan totalmente en su relación de identificación. Ver arriba: un LineItem debe estar Contained en una Prescription , su identidad y existencia dependen de eso. La participación parcial en una relación de identificación no es posible.

La participación total no implica una relación de identificación: la Medicine no puede existir sin ser Produced por un Laboratory pero la Medicine se identifica por sus propios atributos.

La participación parcial en una relación no identificativa es muy común. Por ejemplo, la Medicine puede existir sin ser Purchased , y la Medicine se identifica por sus propios atributos.

Relaciones obligatorias / opcionales vs identificativas / no identificativas

Es inusual que una relación tenga menos de dos roles obligatorios. Las relaciones de identificación son relaciones binarias, por lo que los roles padre e hijo serán obligatorios: la relación Contain entre Prescription y LineItem no puede existir sin ambas entidades.

Los roles opcionales generalmente solo se encuentran en relaciones ternarias y superiores (aunque vea el ejemplo de pacientes que mueren por causas), y no están involucrados en la identificación. Una alternativa a un rol opcional es una relación en una relación:

Al convertir la Purchase en una entidad asociativa, podemos hacer que participe en una relación de Fill con Prescription . Para mantener la misma semántica que la anterior, especifiqué que una Purchase solo puede Fill una Prescription .

Modelado fisico

Si traducimos del modelo conceptual al físico (omitiendo el modelado lógico / normalización adicional), haciendo tablas separadas para cada entidad y relación, las cosas se ven bastante similares, aunque debe saber cómo leer los indicadores de cardinalidad en las líneas clave externas para recuperar el Semántica ER.

Sin embargo, es común desnormalizar tablas con las mismas claves primarias, lo que significa que las relaciones uno a muchos se combinan con la tabla de entidades en el lado múltiple:

Una relación se representa físicamente como dos o más claves de entidad en una tabla. En este caso, las claves de entidad - patient_id y cause_of_death_id se encuentran en la tabla de Patient . Muchas personas piensan que la línea de clave externa representa la relación, pero esto proviene de confundir el modelo de relación de entidad con el antiguo modelo de datos de red.

Este es un punto crucial: para comprender los diferentes tipos de relaciones y las restricciones en las relaciones, es esencial comprender qué relaciones son primero. Las relaciones en ER son asociaciones entre claves, no entre tablas. Una relación puede tener cualquier número de roles de diferentes conjuntos de entidades, mientras que las restricciones de clave externa imponen una restricción de subconjunto entre dos columnas de un conjunto de entidades. Ahora, armado con este conocimiento, lea toda mi respuesta nuevamente. ;)

Espero que esto ayude. No dude en hacer preguntas.

Como sé, opcionalidad significa la cardinalidad mínima de una relación que se denota como opcional a opcional, obligatoria a opcional, obligatoria a obligatoria.

Y la participación se denota como línea en negrita y una línea normal.

En Internet, algunos refieren la participación como la dependencia de la entidad a la relación, que también parece una relación de identificación y no identificación.

y algunos lo refieren como la cardinalidad mínima

¿Cuáles son las definiciones correctas de esas relaciones y cuál es la diferencia?