From: | Carlos Beltran Villamizar <carlos(dot)beltran(at)datalog(dot)com(dot)co> |
---|---|
To: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | ¿Cuál es la mejor práctica para definir la generalización entre dos tablas de tal forma que se hereden los atributos de la tabla padre? |
Date: | 2009-10-15 16:19:33 |
Message-ID: | 1255623573.3826.11.camel@cbeltran |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Señores de la lista buenos días.
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.
Nota. Por error había enviado este mail a la lista general.
From | Date | Subject | |
---|---|---|---|
Next Message | liss RR | 2009-10-15 18:18:37 | Encoding |
Previous Message | Yadisnel Galvez Velazquez | 2009-10-15 15:53:52 | Sobre llaves primarias y triggers |