buenas tengo dos dudas al respecto de la herencia (generalizacion y especializacion)
estuvee leyendo algunos post y no logre dar con la informacion y me surgen las siguientes dudas 
1-. cuando se inserta el registro en la tabla padre y luego al insertar un registro en la tabla hija con el id(fk) q referencia a la tabla padre el valor que insertas en la tabla hija se duplica en la padre? o hay q agregar alguna reestriccion? 
2- en la especializacion cuando es disjunta total que se agrega el discriminante x tipo? ese atributo es que? que se hace con ese atributo una restriccion una funcion?  
es primera vez q manejo la herencia en la base de datos y pues mas o menos entendi su semantica. de igual forma adjunto el codigo para que vean que si he trabajado sobre el tema..  acepto sugerencias =)     
Código SQL:
Ver originalCREATE TABLE pieza
(
  modelo CHARACTER VARYING(20) NOT NULL,
  nombre CHARACTER VARYING(15),
  fabricante CHARACTER VARYING(15),
  CONSTRAINT pk_modelo PRIMARY KEY (modelo)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE pieza
  OWNER TO postgres;
 
 
CREATE TABLE disco_duro
(
  modelo CHARACTER VARYING(20) NOT NULL,
-- Inherited from table pieza:  nombre character varying(15),
-- Inherited from table pieza:  fabricante character varying(15),
  capacidad text,
  puerto text,
  CONSTRAINT pk_modelo_disco_duro PRIMARY KEY (modelo),
  CONSTRAINT fk_modelo_disco_duro_pieza FOREIGN KEY (modelo)
      REFERENCES pieza (modelo) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE CASCADE
)
INHERITS (pieza)
WITH (
  OIDS=FALSE
);
ALTER TABLE disco_duro
  OWNER TO postgres;
 
 
CREATE TABLE tarjeta_madre
(
  modelo CHARACTER VARYING(20) NOT NULL,
-- Inherited from table pieza:  nombre character varying(15),
-- Inherited from table pieza:  fabricante character varying(15),
  socket text,
  tipo_memoria text,
  max_tamano text,
  CONSTRAINT pk_modelo_tarjeta_madre PRIMARY KEY (modelo),
  CONSTRAINT fk_modelo_tarjeta_madre_pieza FOREIGN KEY (modelo)
      REFERENCES pieza (modelo) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE CASCADE
)
INHERITS (pieza)
WITH (
  OIDS=FALSE
);
ALTER TABLE tarjeta_madre
  OWNER TO postgres;