Vamos a hablar del modelo de entidad de relación, en particular de la entidad de los atributos y los vínculos que son los que componen esto. Antes de eso vamos a hablar un poco de lo que es la modelación de una base de datos, cuál es el proceso que tengo que seguir y cómo el modelo de entidad de relación está dentro de este proceso. Antes de construir una base de datos necesitamos diseñarla.
Es decir, la base de datos tiene un aspecto técnico que es la construcción misma y su implementación dentro del sistema de base de datos. pero antes de pasar a ese aspecto técnico viene un aspecto semántico que es el diseño de la base de datos y ese es el aspecto fundamental, es el aspecto de por qué los ingenieros tienen que aprender a hacer base de datos y esto no lo puede usar cualquier persona, porque tienes que tener una mentalidad capaz de diseñar y de modelar esa base de datos de modelar los datos de tal forma que sean eficientes o guardadas y podamos cumplir con todos nuestros requisitos después, al momento que queramos usarlo, por lo tanto lo primero es diseñarlo y lo fundamental La etapa de diseño nos va a permitir expresar lo que queremos registrar de forma clara. Vamos a poder identificar, vamos a poder ver toda la información que queremos guardar, todos los datos que queremos guardar, sus relaciones, y vamos a poder entonces identificar si la solución que estamos planteando es la correcta y si nos va a permitir después obtener las utilidades que estamos buscando. Además, como dice ahí, nos va a permitir evaluar la calidad de nuestra solución y mejorar la calidad de esa evaluación.
de esa modelación ¿cuál es el proceso entonces? el primer paso es estudiar el dominio del problema tenemos que entender sobre lo que estamos hablando cuando hablamos del dominio del problema hablamos de entender los conceptos asociados al problema que queremos modelar y todo lo que está relacionado con ello luego hay que definir los límites del sistema y en los límites estamos hablando de ¿qué cosas queremos que estén involucradas dentro de nuestro sistema? ¿qué cosas no queremos?
¿qué cosas queremos registrar? ¿y qué cosas... no queremos que se registren otras tercer paso expresar estos los elementos que son partícipes del problema y su relación con sencilla eso es el modelo antirrelación lo que se conoce como el modelo conceptual y es lo que el primer paso y lo que vamos a ver ahora definir cuáles son los elementos que son parte de este dominio y que queremos incluir y cómo se relacionan entre ellos el paso 4 es crear un modelo que sea válido con un sistema administrador de base de datos, lo que se llama un modelo lógico, y ahí es cuando vamos a ver el modelo relacional.
Y el paso 5 es ya tomar este modelo lógico e implementarlo en el sistema administrador de base de datos, lo que se conoce como el modelo físico. Entonces entremos de lleno en el modelo de entidad-relación. ¿Por qué ocupar un modelo de entidad-relación? Bueno, en primer lugar porque permite expresar nuestra base de datos en un modelo fácil de entender y analizar. Con fácil nos referimos a que distintas personas, distintos...
tipo de habilidades de personas podrán entender este modelo sin tener que necesidad de mayores niveles técnicos además permite visualizar nuestra base de datos en un solo modelo, esto es lo que se llama el big picture ver la base de datos completa, ver toda la información, ver todos sus vínculos y de esa forma podemos ver rápidamente si nos está faltando algo y finalmente porque facilita la construcción posterior de un modelo relacional es decir, inicialmente es más difícil ir directo al modelo lógico es más fácil pasar por este modelo conceptual para después pasar al modelo lógico probablemente con el tiempo uno va desarrollando una habilidad que te permite ir directo al modelo lógico sin necesidad de pasar por el modelo conceptual los componentes de un modelo de antiderrelación son principalmente tres entidades, atributos y vínculos una entidad es un objeto distinguible del cual queremos guardar datos tomamos el dominio del problema vemos cuáles son estos objetos que queremos distinguir y con ello detenemos la entidad son aquellos que queremos registrar o guardar información sobre ellos generalmente están expresados por los sustantivos, es una muy forma que generalmente se recomienda para partir viendo el tema de las entidades, bueno tomar los enunciados, tomar los dominios y buscar todos los sustantivos que los componen y ahí ya tenemos los candidatos, cierto, para ser entidad además estas entidades van a tener valores a los cuales vamos a llamar instancias de la entidad así por ejemplo si nos vamos al contexto de una universidad tenemos la facultad facultad es una entidad Pero la facultad de ingeniería es una instancia, la facultad de derecho es otra instancia, la facultad de psicología es otra instancia. Entonces cada uno de ellos va a ser una instancia pero de una misma entidad. Las entidades las vamos a clasificar en dos tipos, normales o débiles.
Las normales son entidades que existen por sí mismas. Por su parte las débiles solo existen como función de otra entidad. Es decir, una entidad débil tiene dependencia de vida de otra entidad. Por lo tanto, si X es una entidad débil que depende de una entidad Y, si esa entidad Y desaparece, X también, porque no tiene razón de ser. Su razón de ser es solo porque existe Y.
Si no existe Y, deja de existir X. Tomando el mismo ejemplo de la universidad que les comentaba recién, ¿qué entidades tendríamos? Bueno, facultad, estudiante, profesor, curso, sección, todas esas serían entidades.
¿Cuáles de esas entidades serían débiles? El concepto de normal o débil que vimos recién depende de la semántica y depende del contexto del problema. Entonces una entidad en un contexto puede ser débil y en otro contexto puede ser normal. Si nos vamos por ejemplo al ejemplo de la universidad, podríamos decir que la sección es...
entidad débil. ¿Por qué? Porque tiene dependencia total con curso. Es decir, si curso no existiera, la sección tampoco. Toda sección tiene que pertenecer a un curso.
Y el curso es el que le da la definición a esa sección. Los atributos son las características de una entidad o un vínculo. Tanto la entidad como los vínculos pueden tener este atributo. Y estos son básicamente cuáles son las características, cuáles son los datos que lo hacen distinguible. a una instancia de esa entidad de otra instancia de esa entidad o de otras entidades y a cada uno de estos atributos va a aparecer un dominio que es el conjunto de valores posibles para el atributo es decir, por ejemplo, los números, los números de 1 al 100, o texto, o letras, etc. es decir, tú defines no solo el atributo sino que además uno dice, bueno, cuáles son los valores que son valios para ese atributo los atributos también tienen una clasificación por ejemplo, que son básicamente cuatro posibles valores, normal es un atributo que tiene un solo valor compuesto se compone de muchos valores, es decir, el atributo en sí tiene varios valores que lo definen multivaluado, posibilidad de más de un valor para el atributo la diferencia entre compuesto y multivaluado no es lo mismo, son diferentes el compuesto es un atributo que se compone de varios valores en cambio multivaluado es un atributo que tiene un dominio pero que podría tener muchos valores para eso, es decir, como un arraigo, una lista de valores para ese mismo.
Y derivados, un atributo que se puede calcular en base a otros atributos, tanto de la entidad misma como de otras entidades que son parte del modelo. Por ejemplo, tomemos al estudiante como entidad. Podríamos tener atributos nombres, apellidos, dirección, que podría ser un atributo compuesto, ya que tendría que haber un nombre común.
Correo electrónico podría ser multivaluado si permitimos que tenga más de un correo electrónico el estudiante. Y crédito aprobado podría ser un atributo derivado, que sería una suma de los créditos de los cursos aprobados. Finalmente tenemos los vínculos.
Los vínculos son las relaciones entre dos o más entidades. Donde las entidades no deben ser necesariamente distintas. y en general se espera y recomienda que los vínculos sean binarios, es decir, que solamente en la relación participen dos entidades y no más, aunque pueden participar más, pero eso hace que se complique.
Entonces, un vínculo es fundamental dentro de una entidad de relación porque es el que nos dice cómo cada una de las entidades se va relacionando entre ellas. Generalmente se expresan por verbos o acciones. Acciones que puede realizar una entidad sobre otra o que reúnen a una entidad con otra. Si tomamos el mismo contexto de la universidad, tendríamos que la facultad. posee curso, el posee sería un vínculo.
La facultad ofrece sección, el estudiante inscribe sección, la sección pertenece a curso, el profesor imparte sección. Entonces tenemos un ejemplo de cinco vínculos dentro de este concepto de universidad. Es súper importante entender que una entidad puede tener un vínculo con sí misma. Por ejemplo, si estuviéramos modelando, estuviéramos casas de estudiantes, podríamos hablar del roommate, cierto, del compañero. Podríamos decir que un estudiante es compañero con otro estudiante.
no hay ningún problema al respecto y también que dos entidades o un par de entidades puede tener más de un vínculo que las relacione por ejemplo estudiante inscribe sección, también podríamos tener estudiantes ayudante en sección y ahí tendríamos entre estudiante y sección dos vínculos distintos que las relacionen los vínculos además pueden tener atributos, por ejemplo si tomamos el vínculo estudiante inscribe sección podríamos decir que el inscribe ese vínculo tenga fecha de inscripción, resultado de inscripción la nota que obtuvo el estudiante de la sección, etc. como atributos del vínculo si vemos esos atributos no son del estudiante, no son de la sección sino que son del vínculo entre ellos dos los vínculos además poseen cardinalidades lo cual indica el número de instancias a las que otra entidad puede mapear en un vínculo si tenemos las dos entidades que se relacionan a través del vínculo ya hay una cardinalidad entre ellas que habla sobre cómo se relacionan las instancias entre ellas y ahí tenemos cuatro opciones si tomamos un vínculo entre x e y, donde x e y son entidades, entonces podemos decir que la cardenalidad es 1 a 1 si cada instancia en X se asocia cuando mucho con una instancia de Y y viceversa es decir, cada instancia de Y se asocia cuando mucho con una instancia en X 1 a muchos, decimos que cada instancia en X se puede asociar con muchas instancias de Y pero cada instancia de Y solamente a lo más 1 de X, muchos a 1 al revés de la anterior, ¿cierto? y mucho a mucho donde cada instancia en X se puede hacer con muchas instancias de Y y muchas instancias de Y también con muchas de X volviendo al ejemplo de la universidad entonces la facultad posee cursos decimos que la facultad posee muchos cursos y un curso pertenece a una sola facultad por lo tanto la cardinalidad entre facultad y curso sería uno a muchos la cardinalidad es el vínculo, la facultad posee cursos y además de la cardinalidad dentro de los vínculos es importante la participación indica el grado de participación de las instancias de una entidad en un vínculo. Esto es importante, que la participación no es una propiedad del vínculo, como si es la cardinalía, sino que es una propiedad del par entidad-vínculo.
Es decir, cada entidad que participa de un vínculo tiene una participación definida. Una entidad débil, por ejemplo, que depende de otra entidad y se dice que su participación debe ser total en ese vínculo. Tenemos dos opciones de participación, total o parcial. Total implica que toda instancia debe participar del vínculo. Es decir, que cuando decimos, por ejemplo, que si volvemos al ejemplo anterior, donde decimos facultad posee cursos y si es facultad posee muchos cursos, para ver si esta entidad es total o parcial, yo tengo que ver si es que todas las facultades poseen cursos o no necesariamente.
Es decir, todas las facultades participan del vínculo o no, o todos los cursos participan del vínculo o no. Entonces total, toda instancia debe participar del vínculo y parcial no es necesario que toda instancia sea parte del vínculo. Ejemplo, sección pertenece al curso. Ese es el vínculo.
Toda sección debe pertenecer a un curso total, porque ahora incluso habíamos dicho que sección era débil, y lo que dijimos recientemente, que toda entidad débil debe tener participación total con la otra entidad. Pero por el lado de curso, no todo curso debe tener una sección. por lo tanto es parcial, es decir, pueden haber cursos que todavía no se están dictando, por lo tanto no es necesario para que exista un curso que sea parte del mismo. Estudiante inscribido y sección, lo mismo tenemos que un estudiante puede no inscribir secciones, por lo tanto también su participación es parcial, o que una sección puede no tener estudiante inscrito, por lo tanto también es parcial.
Es muy importante determinar si es total o parcial, porque eso implica bastantes cosas respecto de la existencia. Cuando estamos hablando entonces de una participación total, estamos exigiendo que... que esa instancia, toda instancia de esa entidad que tiene participación total en ese vínculo debe participar del vínculo para existir, o si no, no va a existir.