Señores de la lista buenas noches. Estoy rediseñando un sistema distribuído que tiene múltiples servers masters replicando a un server central y sincronizando a los demás servers las tablas maestras. La Unidad de gestión es la clase que identifica donde se hizo el insert de las clases en répica y sincronización. Así:
CREATE TABLE UnidadGestion ( IdUnidadGestion serial, PRIMARY KEY (IdUnidadGestion), UnidadGestionNombre character varying(60) NOT NULL, UnidadGestionAbreviado character varying(3) NOT NULL, UnidadGestionActiva boolean DEFAULT true ); CREATE TABLE Tercero ( IdUnidadGestionFuente integer REFERENCES UnidadGestion (IdUnidadGestion) NOT NULL, IdTercero bigserial, PRIMARY KEY (IdUnidadGestionFuente, IdTercero), -- Otros atributos TerceroActivo boolean DEFAULT true ); CREATE TABLE Sucursal ( IdUnidadGestionFuente integer REFERENCES UnidadGestion (IdUnidadGestion) NOT NULL, IdSucursal bigserial, PRIMARY KEY (IdUnidadGestionFuente, IdSucursal), IdUnidadGestionTercero integer NOT NULL, IdTercero bigint NOT NULL, FOREIGN KEY (IdUnidadGestionTercero, IdTercero) REFERENCES Tercero(IdUnidadGestionFuente, IdTercero), -- Otros atributos SucursalActiva boolean DEFAULT true ); Como se nota existe asociación entre Tercero y Sucursal con UnidadGestion. También existe asociación de Sucursal con Tercero. Sin embargo el modelo se plantea como una generalización en UML. ¿Cuál es la mejor práctica para definir la generalización entre Sucursal y Tercero de tal forma que al acceder a una sucursal acceda a los atributos de su respectivo tercero? Gracias de antemano. Desde Colombia. Carlos Beltrán V. -- TIP 2: puedes desuscribirte de todas las listas simult�neamente (env�a "unregister TuDirecci�nDeCorreo" a majord...@postgresql.org)