DROP TABLE IF EXISTS `PILO_ENTITY` CASCADE;
DROP TABLE IF EXISTS `TiposDeMotivo` CASCADE;
DROP TABLE IF EXISTS `XDF_ENTIDADES` CASCADE;
DROP TABLE IF EXISTS `Estados` CASCADE;
DROP TABLE IF EXISTS `Motivos` CASCADE;


CREATE TABLE PILO_ENTITY
(
	`ENT_ID` BIGINT NOT NULL COMMENT 'Identificador único del tipo de la entidad, secuencial auto generado.',
	`ENT_NAME` VARCHAR(50) NOT NULL COMMENT 'Nombre de la entidad.',
	`ENT_DESC` VARCHAR(50) NOT NULL COMMENT 'Descripción de la entidad',
	CONSTRAINT `PK_Entidades` PRIMARY KEY (`ENT_ID` ASC)
)
COMMENT='Catálogo de entidades del sistema'

;

CREATE TABLE `Estados`
(
	`idEstado` BIGINT NOT NULL,
	`idEntidad` BIGINT 	 NULL,
	`codEstado` BIGINT 	 NULL,
	`aliasEstado` VARCHAR(20) 	 NULL,
	`descEstado` VARCHAR(50) 	 NULL,
	CONSTRAINT `PK_Estados` PRIMARY KEY (`idEstado` ASC)
)

;

CREATE TABLE `Motivos`
(
	`idMotivo` BIGINT NOT NULL COMMENT 'Identificador de motivo, secuencial auto generado.',
	`codMotivo` BIGINT 	 NULL COMMENT 'Código de motivo para el negocio.',
	`descMotivo` VARCHAR(50) 	 NULL COMMENT 'Descripción motivo.',
	`idTipoDeMotivo` BIGINT 	 NULL,
	CONSTRAINT `PK_Motivos` PRIMARY KEY (`idMotivo` ASC)
)
COMMENT='Motivos para usos varios.'

;

CREATE TABLE `TiposDeMotivo`
(
	`idTipoDeMotivo` BIGINT NOT NULL COMMENT 'Identificador único del tipo de motivo, secuencial auto generado.',
	`codTipoDeMotivo` BIGINT NOT NULL COMMENT 'Código del tipo de motivo para el negocio.',
	`descTipoDeMotivo` VARCHAR(50) NOT NULL COMMENT 'Descripción del tipo de motivo.',
	`aliasTipoDeMotivo` VARCHAR(20) NOT NULL COMMENT 'Alias del tipo de motivo para uso desde el sistema.',
	CONSTRAINT `PK_TiposDeMotivo` PRIMARY KEY (`idTipoDeMotivo` ASC)
)
COMMENT='Agrupan los motivos.'

;