1. Entidades y Atributos Básicos

Cuando partimos de un Modelo Entidad-Relación (M.E.R.), la primera regla es muy simple:

Regla de Entidades Por cada entidad se crea una tabla.
Por cada atributo simple se crea una columna.

¿Qué hacemos con los atributos compuestos (como la Dirección)?
Se aplana la estructura. Se crean tantas nuevas columnas como atributos simples lo compongan.

// SINTAXIS (Fíjate en el atributo Dirección aplanado):
PERSONA(Cedula, Prim_Nom, Prim_Ape, ciudad, calle, numero)

Repaso de Claves (Gira las tarjetas)

Clave Primaria (PK)

¿Cómo se subraya?

Siempre va subrayada de forma continua y selecciona el atributo determinante.

Clave Foránea (FK)

¿Qué es y cómo se marca?

Es un "puente" hacia otra tabla. Solemos marcarla con línea punteada.

Desafío 1

Tienes la entidad VEHICULO con la clave Matricula y un atributo compuesto Motor(Nro_Serie, Cilindrada). ¿Cómo queda la tabla?

2. Atributos Multivaluados

Un atributo multivaluado es cuando puedes tener varios valores (ejemplo: varios Teléfonos). No puedes guardarlos todos en la misma columna.

Regla para Multivaluados Por cada atributo multivaluado se crea una tabla NUEVA.

La Clave Primaria está formada por todos los atributos de esa nueva tabla (la PK de la entidad original + el valor en sí).
// PERSONA tiene la PK Cedula. Y tiene varios Teléfonos:
PERSONA(Cedula, Prim_Nom, Prim_Ape, ciudad, calle, numero)
TEL_PERSONA(Cedula, Telefono)

Desafío: Arrastrar y Soltar

La entidad fuerte PROYECTO tiene una PK compuesta: (Cod_Sede, Num_Proy).
Esta entidad tiene un atributo multivaluado llamado Idioma.

Arrastra sólo los atributos necesarios para formar la Clave Primaria (PK) de la nueva tabla del multivaluado.

Cod_Sede
Num_Proy
Idioma
Nombre_Proy

Tabla Nueva (PK Resultante):

Arrastra aquí...

3. Relaciones Binarias 1:1

En las relaciones de uno a uno (1:1), la forma de pasarlas a tablas depende totalmente de las participaciones (si son totales o parciales).

Ambos lados Totales

Todos participan obligatoriamente

Se fusionan en UNA SOLA TABLA. No hay necesidad de tenerlas separadas.

Un lado Total, otro Parcial

Ej: Todo departamento tiene un jefe (Total), pero no todo empleado es jefe (Parcial)

La clave del lado Parcial pasa como Clave Foránea (FK) a la tabla del lado Total.

Prueba Rápida

Si la entidad A es TOTAL y la entidad B es PARCIAL, ¿dónde coloco la Clave Foránea?

4. Relaciones Binarias N:1

Aquí hay que dividir en dos casos súper claros: Con totalidad del lado N, y Sin totalidad del lado N.

1. Con totalidad del lado N (Participación Obligatoria) NO se crea tabla nueva.
Se agregan los atributos clave del lado 1 en la tabla de la entidad del lado N.

Ejemplo: Todo Docente dicta obligatoriamente una Materia. El código de la materia (lado 1) se guarda en la tabla del Docente (lado N).

Docente(ci_doc, nom_docente, cod_materia)
Materia(cod_materia, nom_materia)
2. Sin totalidad del lado N (Participación Parcial) SÍ se crea tabla nueva.
Para evitar que queden espacios nulos, se hace una tabla intermedia. Su clave primaria (PK) es ÚNICAMENTE la clave del lado N.

Ejemplo: Un Docente dicta, o no, una Materia.

Docente(ci_doc, nom_docente)
Materia(cod_materia, nom_materia)
Dicta(ci_doc, cod_materia, cant_horas)

Completar Espacios

Estamos en un caso Sin Totalidad (parcial). VEHICULO(Patente) (Lado N) puede pertenecer o no a una SUCURSAL(id_suc) (Lado 1).

VEHICULO(Patente, Modelo)
SUCURSAL(id_suc, Direccion)

// Completa las claves de la tabla intermedia (recuerda la regla de la PK para "Sin Totalidad"):
PERTENECE(, )

5. Relaciones Binarias N:N

En las relaciones de muchos a muchos (N:N), la solución es directa y siempre igual.

Regla para N:N Para cada relación binaria N:N se crea una tabla.

¿Cuál es su clave primaria? Está formada por la UNIÓN de las claves primarias de las entidades participantes.

Sintaxis del Ejemplo de Clase: SALA y EMPLEADO en la relación TRABAJA.

SALA(Nom_sala, #camas)
EMPLEADO(#emp, salario, Nombre)
TRABAJA(Nom_sala, #emp)

Desafío 5

Tenemos ALUMNO(ci) y CURSO(cod_curso, cod_sede) (Ojo, el curso tiene clave compuesta). La relación N:N es INSCRITO.

¿Cómo queda la clave primaria de la tabla INSCRITO?

6. Entidades Débiles

Una entidad débil no puede existir por sí sola. Por ejemplo, un SALON no existe si no está dentro de un INSTITUTO.

Regla para Entidad Débil Por cada entidad débil se crea una tabla.

Su clave primaria: Clave primaria de la entidad "fuerte" + el atributo identificador parcial de la débil.
INSTITUTO(nombre, direccion)
// nombreInst hereda de la fuerte y forma la PK junto con numero:
SALON(nombreInst, numero, capacidad)

Desafío de Jerarquía Débil

La entidad fuerte es LIBRO(ISBN). Tiene una entidad débil CAPITULO(Num_Cap).
¿Cuál es la PK exacta de la tabla CAPITULO?

7. Agregación

No debemos olvidar que en el M.E.R. el operador de agregación transforma a las relaciones en entidades.

Regla para Agregación La tabla nueva que se conecta a la agregación debe incluir como Clave Foránea (FK) toda la clave primaria completa de la relación que fue agregada.

Ejemplo del Material: La relación Dicta(ci_doc, cod_materia) es supervisada por un Inspector.

Dicta(ci_doc, cod_materia)
Inspector(ced_inspector, nom_inspector)

// Supervisa toma la PK del inspector y la PK completa de "Dicta":
Supervisa(ced_inspector, ci_doc, cod_materia)

8. Categorización (Herencia)

Hay otros casos, pero en este curso usamos la solución que FUNCIONA SIEMPRE.

La Solución Universal • Un esquema de relación (tabla) para la súper entidad.
• Un esquema de relación por cada sub entidad con referencia a la súper entidad.
FUNCIONARIO(ci, Nombre, Dir)
// ciFunc es PK propia y también es FK hacia FUNCIONARIO:
CHOFER(ciFunc, NumLibreta, Categoría)
ADMINIST(ciFunc)
TECNICO(ciFunc, Especialidad)

Desafío Final

Si la súper entidad VEHICULO tiene la clave Matricula, y la sub entidad MOTO tiene atributos propios como Manillar. Siguiendo la regla de oro que "Funciona Siempre", ¿qué tabla creas para MOTO?