por ejemplo:
Código SQL:
Ver originalpruebas=> CREATE TABLE persona(codigo INTEGER PRIMARY KEY,nombre_completo TEXT,direccion TEXT,telefo
no TEXT);
NOTICE: CREATE TABLE / PRIMARY KEY will CREATE implicit INDEX "persona_pkey" FOR TABLE "persona"
CREATE TABLE
pruebas=> CREATE TABLE profesor(materias TEXT) INHERITS (persona);
CREATE TABLE
pruebas=> CREATE TABLE monitor(materia TEXT) INHERITS (persona);
CREATE TABLE
pruebas=> INSERT INTO profesor VALUES(2,'DIEGO LOPEZ','CRA 23 NO. 74B -28','465664534','algebra');
INSERT 0 1
pruebas=> INSERT INTO monitor VALUES(2,'DIEGO LOPEZ','CRA 23 NO. 74B -28','465664534','filosofia');
INSERT 0 1
Fijate que las tablas heredadas solo tienen campos que son unicos. Y hereda todo lo que una persona pudiera tener.
En este caso, diego lopez es monitor y profesor al mismo tiempo (un ejemplo rapido) y todo hace parte de una super tabla llamada persona.
Que ventajas trae trabajar de esta forma?
Imaginate que diego lopez sea coordinador, profesor y padre de familia. Se ha cambiado de casa y deben actualizar la información. En un esquema normal, tendrías que ir a cambiar en cada tabla donde haya un registro para diego lopez y actualizar la información. De esta forma, el cambio lo haces unicamente desde la tabla persona y hereda todos los cambios a sus tablas hijas.
Código SQL:
Ver originalpruebas=> SELECT *FROM ONLY monitor;
codigo | nombre_completo | direccion | telefono | materia
--------+-----------------+--------------------+-----------+-----------
2 | DIEGO LOPEZ | CRA 23 NO. 74B -28 | 465664534 | filosofia
(1 fila)
si cambiamos el telefono en la tabla persona y consultamos las tablas monitor y profesotr los cambios son heredados.
Código SQL:
Ver originalpruebas=> UPDATE persona SET telefono = '567890' WHERE codigo=2;
UPDATE 2
pruebas=> SELECT *FROM monitor;
codigo | nombre_completo | direccion | telefono | materia
--------+-----------------+--------------------+----------+-----------
2 | DIEGO LOPEZ | CRA 23 NO. 74B -28 | 567890 | filosofia
(1 fila)
pruebas=> SELECT *FROM profesor;
codigo | nombre_completo | direccion | telefono | materias
--------+-----------------+--------------------+----------+----------
2 | DIEGO LOPEZ | CRA 23 NO. 74B -28 | 567890 | algebra
(1 fila)
algo así sería.
saludos