Modelo ER - Conceptos básicos
El modelo ER define la vista conceptual de una base de datos. Funciona en torno a entidades del mundo real y las asociaciones entre ellas. A nivel de vista, el modelo ER se considera una buena opción para diseñar bases de datos.
Entidad
Una entidad puede ser un objeto del mundo real, animado o inanimado, que se puede identificar fácilmente. Por ejemplo, en una base de datos escolar, los estudiantes, profesores, clases y cursos ofrecidos pueden considerarse entidades. Todas estas entidades tienen algunos atributos o propiedades que les dan su identidad.
Un conjunto de entidades es una colección de tipos similares de entidades. Un conjunto de entidades puede contener entidades con atributos que comparten valores similares. Por ejemplo, un conjunto de Estudiantes puede contener a todos los estudiantes de una escuela; Asimismo, un conjunto de profesores puede contener a todos los profesores de una escuela de todas las facultades. No es necesario que los conjuntos de entidades estén separados.
Atributos
Las entidades se representan mediante sus propiedades, denominadas attributes. Todos los atributos tienen valores. Por ejemplo, una entidad de estudiante puede tener el nombre, la clase y la edad como atributos.
Existe un dominio o rango de valores que se pueden asignar a los atributos. Por ejemplo, el nombre de un estudiante no puede ser un valor numérico. Tiene que ser alfabético. La edad de un estudiante no puede ser negativa, etc.
Tipos de atributos
Simple attribute- Los atributos simples son valores atómicos, que no se pueden dividir más. Por ejemplo, el número de teléfono de un estudiante es un valor atómico de 10 dígitos.
Composite attribute- Los atributos compuestos están formados por más de un atributo simple. Por ejemplo, el nombre completo de un estudiante puede tener first_name y last_name.
Derived attribute- Los atributos derivados son los atributos que no existen en la base de datos física, pero sus valores se derivan de otros atributos presentes en la base de datos. Por ejemplo, average_salary en un departamento no debe guardarse directamente en la base de datos, sino que puede derivarse. Otro ejemplo, la edad se puede derivar de data_of_birth.
Single-value attribute- Los atributos de valor único contienen un valor único. Por ejemplo, Social_Security_Number.
Multi-value attribute- Los atributos de valores múltiples pueden contener más de un valor. Por ejemplo, una persona puede tener más de un número de teléfono, email_address, etc.
Estos tipos de atributos pueden unirse de una manera como:
- atributos simples de un solo valor
- atributos simples de varios valores
- atributos compuestos de un solo valor
- atributos compuestos de varios valores
Conjunto de entidades y claves
La clave es un atributo o colección de atributos que identifica de forma única una entidad entre el conjunto de entidades.
Por ejemplo, el roll_number de un estudiante lo hace identificable entre los estudiantes.
Super Key - Un conjunto de atributos (uno o más) que identifica colectivamente a una entidad en un conjunto de entidades.
Candidate Key- Una superclave mínima se denomina clave candidata. Un conjunto de entidades puede tener más de una clave candidata.
Primary Key - Una clave primaria es una de las claves candidatas elegidas por el diseñador de la base de datos para identificar de forma única el conjunto de entidades.
Relación
La asociación entre entidades se llama relación. Por ejemplo, un empleadoworks_at un departamento, un estudiante enrollsen un curso. Aquí, Works_at y Enrolls se denominan relaciones.
Conjunto de relaciones
Un conjunto de relaciones de tipo similar se denomina conjunto de relaciones. Como las entidades, una relación también puede tener atributos. Estos atributos se llamandescriptive attributes.
Grado de relación
El número de entidades participantes en una relación define el grado de la relación.
- Binario = grado 2
- Ternario = grado 3
- n-ary = grado
Mapeo de cardinalidades
Cardinality define el número de entidades en un conjunto de entidades, que se puede asociar con el número de entidades de otro conjunto a través del conjunto de relaciones.
One-to-one - Una entidad del conjunto de entidades A puede asociarse como máximo con una entidad del conjunto de entidades B y viceversa.
One-to-many - Una entidad del conjunto de entidades A puede asociarse con más de una entidad del conjunto de entidades B, sin embargo, una entidad del conjunto de entidades B puede asociarse con como máximo una entidad.
Many-to-one - Más de una entidad del conjunto de entidades A se puede asociar con como máximo una entidad del conjunto de entidades B, sin embargo, una entidad del conjunto de entidades B puede asociarse con más de una entidad del conjunto de entidades A.
Many-to-many - Una entidad de A se puede asociar con más de una entidad de B y viceversa.