Título: Diseño Conceptual: Entidades Fuertes Y Entidades Débiles Publicado por: Skar.2007 en 12 Marzo 2022, 19:16 pm SQL Server 2014
Hola a todos En el Diseño Conceptual se indica que una Entidad Débil es aquella que no puede existir si es que previamente no existe otra Entidad (Fuerte). Se debe entender que en las Relaciones de Uno a Varios las Entidades del lado Varios, ¿siempre son Entidades Débiles? Desde ya Muchísimas Gracias. Título: Re: Diseño Conceptual: Entidades Fuertes Y Entidades Débiles Publicado por: K-YreX en 12 Marzo 2022, 20:22 pm No, las relaciones 1-N lo que indican es que cada elemento de la primera entidad puede estar relacionado con varios elementos de la segunda pero cada elemento de la segunda sólo puede estar relacionado con uno de la primera.
Sin embargo, remarco los "puede" porque esas entidades también pueden existir sin tener relación con ningún elemento de la otra entidad. También cabe aclarar que hay diferentes definiciones para "Entidad débil":
Esto como siempre digo depende del diseño que se haga. Hay personas que omiten las entidades débiles y diseñan todas como si de entidades fuertes se trataran o hay quienes no modelan la entidad débil y sus campos los incluyen directamente dentro de la entidad fuerte de la que dependen. Ej: Tienes una base de datos de un centro educativo y quieres guardar: Clase, Estudiante y Dirección (de residencia del estudiante) Voy a seguir la siguiente nomenglatura para diseñar las entidades: ENTIDAD (campos..) // Ejemplos... * Usaré un ID autoincremental como clave primaria (PK) para agilizar las cosas aunque se podrían formar mediante alguno/s de los atributos restantes Código: CLASE (id, curso, letra, mascota_de_la_clase) // [1, 1, A, El calamar Baltasar] | [2, 1, B, El puercoespín Serafín] | [3, 2, A, La rana Gustavo] La relación entre Clase - Estudiante es: 1-N (Cada clase puede tener varios estudiantes pero cada estudiante puede pertenecer a una sola clase) La relación entre Estudiante - Dirección es: 1-1 (Cada estudiante puede tener una sola dirección y cada dirección tiene que estar asociada a un estudiante) "¿Y si 2 estudiantes viven en la misma dirección? ¿La relación no sería 1-N?" Si haces eso y después de un tiempo uno de los estudiantes cambia de dirección, irás a la base de datos buscarás el ID de la dirección de ese estudiante y la actualizarás. Qué habrá pasado? Que el otro estudiante se acaba de mudar también sin darse cuenta :o (porque el ID de sus direcciones son el mismo) Por eso en un caso como este es preferible que la relación sea 1-1. Además nótese que he dicho "cada dirección tiene que estar asociada a un estudiante" y no "cada dirección puede estar asociada a un estudiante". Tendría sentido que un día haya que borrar a un alumno de la base de datos y se quedase su dirección ahí colgando sin saber cómo ha llegado ahí?? Yo diría que no. Por lo tanto la entidad Dirección tiene todas las papeletas para ser una entidad débil y aplicar las siguientes reglas:
Espero que con esto te haya aclarado un poco tus dudas. :-X Título: Re: Diseño Conceptual: Entidades Fuertes Y Entidades Débiles Publicado por: Skar.2007 en 15 Marzo 2022, 00:27 am Gracias K-YreX
Excelente respuesta. Una explicación magistral. Entonces en la relación siguiente... Proveedor 1------------N Producto ... podemos afirmar que, ¿Producto no es una Entidad Débil? Desde ya Muchísimas Gracias Título: Re: Diseño Conceptual: Entidades Fuertes Y Entidades Débiles Publicado por: K-YreX en 15 Marzo 2022, 19:24 pm Las bases de datos siempre dependen mucho de la lógica de negocio, es decir, las reglas propias que apliques a tu problema concreto. Estas reglas de negocio son las que definen las relaciones.
Yo me haría la siguiente pregunta: ¿En mi base de datos quiero permitir que haya productos que no estén asociados a ningún proveedor?
O lo podemos ver de una forma más práctica todavía. Un mismo producto puede ser proporcionado por más de un proveedor? Si la respuesta es "sí", entonces Producto es una entidad débil. ¿Por qué? Tenemos fruteros (proveedores) y frutas (productos). Entonces tenemos las siguientes tablas: Código: PROVEEDOR (id - nombre) Ahora quiero meter el siguiente registro en la tabla Producto: Código: 3 - Manzanas - 2 Entonces para este caso, la entidad Producto debería ser una entidad débil y si borras el "Proveedor 1" de la base de datos, tendrías que borrar sus manzanas pero no las manzanas del "Proveedor 2". Título: Re: Diseño Conceptual: Entidades Fuertes Y Entidades Débiles Publicado por: Skar.2007 en 23 Marzo 2022, 03:10 am Espectacular K-YreX
Sos un groso. Más claro, ni el Agua. Pocas veces las respuestas son tan completas y tan satisfactorias que se tiene la sensación que ya lo aprendiste todo (gracias a tus respuestas, por cierto). Permíteme felicitarte por el esfuerzo y la pasión que pones en tus entregas. Simplemente Extraordinario. Muchísimas Gracias. |