CREATE TABLE CONT_EJERCICIOS ( ID TIPO_ID NOT NULL, NOMBRE VARCHAR(255), FECHA_INICIO DATE, FECHA_FIN DATE, ESTADO VARCHAR(255), LONG_SUB_CUENTA SMALLINT, ID_ASIENTO_APERTURA TIPO_ID, ID_ASIENTO_PERYGAN TIPO_ID, ID_ASIENTO_CIERRE TIPO_ID); ALTER TABLE CONT_EJERCICIOS ADD CONSTRAINT PK_CONT_EJERCICIOS PRIMARY KEY (ID); CREATE TABLE CONT_CUENTAS_ESPECIALES ( ID TIPO_ID NOT NULL, REFERENCIA varchar(6), descripcion varchar(255)); ALTER TABLE CONT_CUENTAS_ESPECIALES ADD CONSTRAINT PK_CONT_CUENTAS_ESPECIALES PRIMARY KEY (ID); CREATE TABLE CONT_EPIGRAFES ( ID TIPO_ID NOT NULL, REF_EPIGRAFE VARCHAR(6), ID_PADRE TIPO_ID, descripcion varchar(255), ID_EJERCICIO TIPO_ID); ALTER TABLE CONT_EPIGRAFES ADD CONSTRAINT PK_CONT_EPIGRAFES PRIMARY KEY (ID); CREATE TABLE CONT_BALANCES ( ID TIPO_ID NOT NULL /* TIPO_ID = INTEGER */, REF_BALANCE VARCHAR(255), NATURALEZA VARCHAR(255), NIVEL1 tipo_perfil, DESCRIPCION1 varchar(255), NIVEL2 TIPO_PERFIL, DESCRIPCION2 varchar(255), NIVEL3 TIPO_PERFIL, DESCRIPCION3 varchar(255)); ALTER TABLE CONT_BALANCES ADD CONSTRAINT PK_CONT_BALANCES PRIMARY KEY (ID); CREATE TABLE CONT_CUENTAS ( ID TIPO_ID NOT NULL /* TIPO_ID = INTEGER */, REF_CUENTA VARCHAR(10), ID_EJERCICIO TIPO_ID /* TIPO_ID = INTEGER */, ID_EPIGRAFE TIPO_ID /* TIPO_ID = INTEGER */, DESCRIPCION VARCHAR(255), ID_BALANCE TIPO_ID /* TIPO_ID = INTEGER */, ID_CUENTA_ESPECIAL TIPO_ID /* TIPO_ID = INTEGER */ ); ALTER TABLE CONT_CUENTAS ADD CONSTRAINT PK_CONT_CUENTAS PRIMARY KEY (ID); CREATE TABLE CONT_SUBCUENTAS ( ID TIPO_ID NOT NULL /* TIPO_ID = INTEGER */, REF_SUBCUENTA VARCHAR(15), DESCRIPCION VARCHAR(255), ID_CUENTA TIPO_ID /* TIPO_ID = INTEGER */, ID_EJERCICIO TIPO_ID /* TIPO_ID = INTEGER */ ); ALTER TABLE CONT_SUBCUENTAS ADD CONSTRAINT PK_CONT_SUBCUENTAS PRIMARY KEY (ID); CREATE TABLE CONT_ASIENTOS ( ID TIPO_ID NOT NULL /* TIPO_ID = INTEGER */, ID_ASIENTO_COMPENSADO TIPO_ID, ID_SUBCUENTA TIPO_ID, FECHA_ASIENTO date, CONCEPTO VARCHAR(255), PUNTEADO SMALLINT, DEBE TIPO_IMPORTE, HABER TIPO_IMPORTE ); ALTER TABLE CONT_ASIENTOS ADD CONSTRAINT PK_CONT_ASIENTOS PRIMARY KEY (ID); CREATE VIEW V_CONT_EPIGRAFES( ID, REF_EPIGRAFE, DESCRIPCION, ID_EJERCICIO, ID_PADRE, EPIGRAFE_PADRE) AS select CONT_EPI1.ID, CONT_EPI1.REF_EPIGRAFE, CONT_EPI1.DESCRIPCION, CONT_EPI1.ID_EJERCICIO, CONT_EPI1.ID_PADRE, CONT_EPI2.DESCRIPCION as EPIGRAFE_PADRE from CONT_EPIGRAFES CONT_EPI1 left join CONT_EPIGRAFES CONT_EPI2 on (CONT_EPI2.ID = CONT_EPI1.ID_PADRE) ; CREATE VIEW V_CONT_CUENTAS( ID, REF_CUENTA, ID_EJERCICIO, DESCRIPCION, ID_EPIGRAFE, EPIGRAFE, ID_BALANCE, BALANCE, ID_CUENTA_ESPECIAL, CUENTA_ESPECIAL) AS select CONT_CUENTAS.ID, CONT_CUENTAS.REF_CUENTA, CONT_CUENTAS.ID_EJERCICIO, CONT_CUENTAS.DESCRIPCION, CONT_CUENTAS.ID_EPIGRAFE, CONT_EPIGRAFES.DESCRIPCION as EPIGRAFE, CONT_CUENTAS.ID_BALANCE, CONT_BALANCES.REF_BALANCE as BALANCE, CONT_CUENTAS.ID_CUENTA_ESPECIAL, CONT_CUENTAS_ESPECIALES.DESCRIPCION as CUENTA_ESPECIAL from CONT_CUENTAS left join CONT_EPIGRAFES on (CONT_EPIGRAFES.ID = CONT_CUENTAS.ID_EPIGRAFE) left join CONT_BALANCES on (CONT_BALANCES.ID = CONT_CUENTAS.ID_BALANCE) left join CONT_CUENTAS_ESPECIALES on (CONT_CUENTAS_ESPECIALES.ID = CONT_CUENTAS.ID_CUENTA_ESPECIAL) ;