On 21/01/15 17:38, Andres Yepez wrote:
Buenos días con todos de la lista.
Tengo una inquitud.
Estoy realizando el diagrama de base de datos de un nuevo sistema,
para la generación del modelo conceptual y fisico utilizo la
Herramienta Power Designer.
Al momento de generar el script para postgresql
Tengo la creacion de la tabla y la secuencia de forma independiente
pero en ninguna parte de script me indica que campo utiliza la
secuencia es decir
¿Para qué quieres un id autoincrementado? ¿No puede ser usr_usuario
PK? Si es así, esto es una clave natural, y debe usarse como PK, la
secuencia sobra.
No te sumes a la SSSKA
(http://www.slideshare.net/PGExperts/keyvil-lightning-talk)
Saludos,
Álvaro
--
Álvaro Hernández Tortosa
-----------
8Kdata
Ejemplo
- Sequence: seguridad.seq_seg_usuario
-- DROP SEQUENCE seguridad.seq_seg_usuario;
CREATE SEQUENCE seguridad.seq_seg_usuario
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
ALTER TABLE seguridad.seq_seg_usuario
OWNER TO postgres;
COMMENT ON SEQUENCE seguridad.seq_seg_usuario
IS 'Secuencia que se utiliza para la generación de la clave primaria ';
------tabla
CREATE TABLE seguridad.seg_usuario
(
usr_codigo integer NOT NULL, -- PK
usr_usuario character varying(50) NOT NULL, -- nombre del usuario
que ingresa al sistema
usr_contrasenia character varying(50) NOT NULL, -- contraseña
definida por el usuario
usr_estado integer NOT NULL, -- Estado general...
usr_fecha_creacion date NOT NULL, -- Fecha de creación del registro
dep_codigo integer, -- Código del departamento al cual pertenece el
usuario
per_codigo_fk integer, -- codigo de la persona FK
usr_fecha_ultimo_acceso date, -- Fecha de último de acceso
usr_conectado integer, -- Bandera que indica si el usuario esta
conectado...
CONSTRAINT pk_seg_usuario PRIMARY KEY (usr_codigo)
)
WITH (
OIDS=FALSE
);
ALTER TABLE seguridad.seg_usuario
OWNER TO postgres;
-- Entonces lo que me toca hacer de forma manual es indicar que
usr_codigo utilice la secuencia seguridad.seq_seg_usuario
alter table seguridad.seg_usuario
alter column usr_codigo set default nexval('seguridad.seq_seg_usuario');
para una tabla esta bien, pero estoy generando unas 50 tablas y
realizar este proceso manual no es optimo.
Es posible a través de la herramienta "Power Designer" solucionar este
inconveniente o en su defecto existe otra herramienta que me pueda
ayudar a solucionar este inconveniente
Gracias por su pronta respuesta.
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda