La herencia en un modelo Entidad-Relación (E/R) se utiliza para representar una relación jerárquica entre una superentidad y sus subentidades. Este modelo es común cuando tenemos una entidad general que comparte atributos con entidades más específicas.
Supongamos un sistema para gestionar personas en una institución educativa. Tenemos una entidad general Persona y subentidades especializadas: Estudiante y Profesor.
La herencia en bases de datos relacionales se puede implementar de varias maneras: Tabla única, Tabla por jerarquía o Tabla por subentidad. Aquí usaremos Tabla por subentidad, donde cada subentidad tiene su propia tabla y está relacionada con la superentidad.
Tabla de Superentidad (Persona
)
CREATE TABLE Personas (
id INT PRIMARY KEY,
Nombre VARCHAR(100),
Direccion VARCHAR(255)
);
Tabla de Subentidad (Estudiante
)
CREATE TABLE Estudiantes (
fk_persona INT PRIMARY KEY,
Carrera VARCHAR(100),
FOREIGN KEY (fk_persona) REFERENCES Personas(id)
);
Tabla de Subentidad (Profesor
)
CREATE TABLE Profesores (
fk_persona INT PRIMARY KEY,
Especialidad VARCHAR(100),
FOREIGN KEY (fk_persona) REFERENCES Personas(id)
);