VISITAS (Un Click es bien recibido)

jueves, 22 de septiembre de 2011

Jerarquía de Tiempos II (Creación de las tablas en Mysql)


Generación de las tablas:
Mi intención es generar este pequeño ejemplo en Oracle, pero tuve un pequeño problema con el servidor así es que lo he generado momentáneamente para Mysql y he usado poco este gestor asi es que he copiado solo la parte de la sentencias que crean las tablas, nada del esquema y demás; cuando lo pase a Oracle estará más completo. Seguramente se pueda hacer mucho mejor, así es que admito todas las sugerencias que me hagáis.
-- -----------------------------------------------------
-- Table `T_Year`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `t_year` (
  `idYear` INT(11) NOT NULL ,
  `Num_dias_Anyo` SMALLINT(6) NULL DEFAULT NULL ,
  `Bisiesto` TINYINT(1) NULL DEFAULT NULL ,
  `idYearPrevio` INT(11) NULL DEFAULT NULL ,
  `idYearSiguiente` INT(11) NULL DEFAULT NULL ,
  PRIMARY KEY (`idYear`) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = latin1,
COMMENT = 'Tabla que almacena los años' ;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `T_Trimestre`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `t_trimestre` (
  `idTrimestre` INT(11) NOT NULL ,
  `Descripcion_Trimestre` VARCHAR(45) NOT NULL ,
  `idTrimestrePrevio` INT(11) NULL DEFAULT NULL ,
  `IdTrimestreSiguiente` INT(11) NULL DEFAULT NULL ,
  `idYear` INT(11) NOT NULL ,
  `NTrimestre` TINYINT(4) NOT NULL ,
  PRIMARY KEY (`idTrimestre`) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = latin1,
COMMENT = 'Dimension Trimestre' ;

SHOW WARNINGS;
CREATE INDEX `fk_Trimestre_Year` ON `t_trimestre` (`idYear` ASC) ;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `T_Cuatrimestre`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `t_cuatrimestre` (
  `idCuatrimestre` INT(11) NOT NULL ,
  `Descripcion_cuatrimestre` VARCHAR(45) NOT NULL ,
  `idCuatrimestrePrevio` INT(11) NULL DEFAULT NULL ,
  `IdCuatrimestreSiguiente` INT(11) NULL DEFAULT NULL ,
  `idYear` INT(11) NOT NULL ,
  `NCuantrimestre` TINYINT(4) NOT NULL ,
  PRIMARY KEY (`idCuatrimestre`) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = latin1;

SHOW WARNINGS;
CREATE INDEX `fk_Cuatrimestre_Year` ON `t_cuatrimestre` (`idYear` ASC) ;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `T_Mes`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `t_mes` (
  `idMes` INT(11) NOT NULL ,
  `Descripcion_Mes` VARCHAR(12) NULL DEFAULT NULL ,
  `idYear` INT(11) NULL DEFAULT NULL ,
  `NMes` TINYINT(4) NULL DEFAULT NULL ,
  `NumDiasMes` TINYINT(4) NULL DEFAULT NULL ,
  `idMesPrevio` INT(11) NULL DEFAULT NULL ,
  `idMesSiguiente` INT(11) NULL DEFAULT NULL ,
  `idTrimestre` INT(11) NULL DEFAULT NULL ,
  `idCuatrimestre` INT(11) NULL DEFAULT NULL ,
  `PrimerDiaMes` TINYINT(4) NULL DEFAULT NULL ,
  `UltimoDiaMes` TINYINT(4) NULL DEFAULT NULL ,
  PRIMARY KEY (`idMes`) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = latin1;

SHOW WARNINGS;
CREATE INDEX `fk_Mes_T_Trimestre1` ON `t_mes` (`idTrimestre` ASC) ;

SHOW WARNINGS;
CREATE INDEX `fk_Mes_T_Cuatrimestre1` ON `t_mes` (`idCuatrimestre` ASC) ;

SHOW WARNINGS;

-- -----------------------------------------------------
-- Table `T_Dia`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `t_dia` (
  `idDia` INT(11) NOT NULL ,
  `Fecha` DATE NULL DEFAULT NULL ,
  `Descripcion_Dia` VARCHAR(45) NULL DEFAULT NULL ,
  `IdDiaPrevio` INT(11) NULL DEFAULT NULL ,
  `idDiaSiguiente` INT(11) NULL DEFAULT NULL ,
  `Festivo` TINYINT(1) NULL DEFAULT NULL ,
  `FinSemana` TINYINT(1) NULL DEFAULT NULL ,
  `Semana` TINYINT(4) NULL DEFAULT NULL ,
  `idMes` INT(11) NULL DEFAULT NULL ,
  `DiaDelAnio` SMALLINT(6) NULL DEFAULT NULL ,
  PRIMARY KEY (`idDia`) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = latin1;
SHOW WARNINGS;
CREATE INDEX `fk_Dia_Mes1` ON `t_dia` (`idMes` ASC) ;
SHOW WARNINGS;

No hay comentarios: