[Pgsql-ayuda] Claves primarias y Herencia

Pablo Dejuan pdejuan@ucu.edu.uy
Tue, 08 Jul 2003 14:15:13 -0300


Estimados listeros:
Hola  me encuentro con un problema:
Tengo una tabla V con atributos 'vnro' de tipo integer clave primaria y 
'proveedor' de tipo varchar.
Luego creé una nueva tabla de la siguiente manera:
CREATE TABLE V_H (
          contacto varchar(30)
) INHERITS V;

Luego hago un par de INSERT's en este orden

INSERT INTO V( vnro, proveedor) VALUES (11, 'del buceo');
INSERT INTO  V_H(vnro, proveedor, contacto) VALUES (11, 'pepe y cia', 
'pepe muleiro' );

y la siguiente consulta me devuelve:
SELECT * FROM V WHERE vnro=1;
vnro   proveedor
1       'del buceo'
1       'pepe y cia'
Cuando le hice EXPLAIN me dice que hace una búsqueda secuencial de las 
dos tablas, V y V_H, en lugar de acceder por el índice.
Realmente no entiendo,
1) ¿Por qué aceptó el valor 1 en el segundo insert?
2) ¿Por qué el select devuelve los dos valores? y ¿Por qué hace un 
análisis secuencial?

Por último estoy usando la versión de peerDirect de postgresql  7.2.1;

Desde ya les agradezco.
Pablo Dejuan