/* Genprefs: Tablas de preferencias (Octubre 2005) */
prompt Borrar las tablas si existen!
drop table genprefsval;
drop table genprefscla;
drop table genprefsobj;

create table genprefsobj
(
  modulo      varchar2(10) not null,
  objeto      varchar2(20) not null,
  descripcion varchar2(256) not null,
  constraint  genprefsobj_pk primary key (modulo, objeto)
);


create table genprefscla
(
  modulo      varchar2(10) not null,
  objeto      varchar2(20) not null,
  clave       varchar2(20) not null,
  descripcion varchar2(256) not null,
  constraint  genprefscla_pk primary key (modulo, objeto, clave)
);


create table genprefsval
(
  modulo      varchar2(10) not null,
  instancia   varchar2(20) not null,
  clave       varchar2(20) not null,
  objeto      varchar2(20) not null,
  valor       varchar2(256),
  constraint  genprefsval_pk primary key (modulo, instancia, clave, objeto)
);

alter table genprefscla add constraint
   genprefsobj_prefscla_fk foreign key(modulo, objeto)
   references genprefsobj(modulo, objeto);

alter table genprefsval add constraint
   genprefscla_prefsval_fk foreign key(modulo, objeto, clave)
   references genprefscla(modulo, objeto, clave);
