Entidad-asociación y modelo relacional
Cada entidad tiene unas propiedades particulares denominadas atributos. Un atributo es una característica o cualidad de una entidad o asociación. Puede tomar uno (o varios) valor(es). Ejemplo: el nombre de un animal, de una persona.
Y sí, como en programación, no escribimos nada de cualquier manera 🙂 Las entidades y los atributos se escriben en singular, sin acentos, en minúsculas y las palabras se separan por guiones bajos. Ejemplo : color_pelaje.
Nota #2: puedes utilizar tipos sin signo con la opción UNSIGNED para almacenar números que sabes que son siempre positivos. En este caso, el valor mínimo de la columna será 0 y el valor máximo será el del tipo con signo multiplicado por 2 + 1.
Para claves primarias, es conveniente indicar que el motor de la base de datos asigne automáticamente el valor del identificador, incrementándolo en 1 por cada nueva fila. Esto se indica con la palabra clave AUTO_INCREMENT.
Base de datos del modelo entidad-asociación
El objeto es una entidad con existencia propia. La asociación es un vínculo o relación entre objetos sin existencia propia. La propiedad es la información más pequeña que describe un objeto o una asociación.
Las personas, los libros y los coches son ejemplos de tipos de entidad. En el caso de una persona, por ejemplo, la información asociada (es decir, las propiedades), como el nombre y los apellidos, no cambia de naturaleza.
Definición 8 – Identificador, clave – Un identificador (o clave) de un tipo de entidad o tipo de asociación consiste en uno o más de sus atributos que deben tener un valor único para cada entidad o asociación de ese tipo.
Esta colección contiene al menos un tipo de entidad (véase la sección 2.3.2 Asociación reflexiva), pero puede contener más, hablamos entonces de tipo de asociación n-ario (cuando n=2 hablamos de tipo de asociación binario, cuando n=3 de tipo de asociación ternario…).
Figura 2.6: Ejemplo de asociaciones plurales entre un tipo de entidad Persona y un tipo de entidad Libro. En este diagrama, un tipo de asociación nos permite modelar que las personas escriben libros y otro que las personas critican (en el sentido de crítica literaria) libros.
Ejemplo de modelo de entidad-asociación
Una asociación es un vínculo que tiene un significado específico entre varias entidades. En nuestro ejemplo, la asociación pedido es un vínculo evidente entre las entidades artículos y clientes, mientras que la asociación entrega establece el vínculo semántico entre las entidades artículos y proveedores.
También en nuestro ejemplo (Figura 3), el precio unitario es un atributo de la entidad artículo, el apellido es un atributo de la entidad cliente, la cantidad del pedido es un atributo de la asociación pedido y la fecha de entrega es un atributo de la asociación entrega.
Una cardinalidad mínima de 1 debe estar justificada por el hecho de que los individuos de la entidad en cuestión necesitan la asociación para existir (un cliente no existe hasta que ha pedido algo, por lo que la cardinalidad mínima de la entidad cliente en la asociación pedido es 1). En todos los demás casos, la cardinalidad mínima es 0 (es el caso, por ejemplo, de una lista preestablecida de artículos).
Dicho esto, la discusión sobre una cardinalidad mínima de 0 o 1 sólo es realmente interesante cuando la cardinalidad máxima es 1. Veremos de hecho durante la traducción hacia un esquema relacional (sección “Traducción de un MCD a un MLDR”), que cuando la cardinalidad máxima es n, no podemos hacer la diferencia entre una cardinalidad mínima de 0 y una cardinalidad mínima de 1.
Entidad de base de datos
Si no tiene ninguna razón específica para utilizar clases de datos intermedias, le recomendamos que opte por el tipo de retorno multi-mapa. Para obtener más información sobre este enfoque, consulte Devolución multimapa.
Por ejemplo, su clase Usuario puede incluir un campo de tipo Dirección, que representa una composición de campos denominados calle, ciudad, estado y código postal. Para almacenar las columnas compuestas por separado en la tabla, incluya un campo Dirección en la clase Usuario, anotado con @Embedded, como se muestra en el siguiente fragmento de código:
El contenido y los ejemplos de código de esta página están sujetos a las licencias descritas en la Licencia de contenido. Java y OpenJDK son marcas comerciales o marcas registradas de Oracle y/o sus filiales.