gt: 		Table tableSedDataTypes = this.createTable("SED_DATA_TYPES");
context: package parsedcasestudy;
  
  import org.schemaanalyst.sqlrepresentation.Schema;
  import org.schemaanalyst.sqlrepresentation.Table;
  import org.schemaanalyst.sqlrepresentation.datatype.DateTimeDataType;
  import org.schemaanalyst.sqlrepresentation.datatype.IntDataType;
  import org.schemaanalyst.sqlrepresentation.datatype.RealDataType;
  import org.schemaanalyst.sqlrepresentation.datatype.TextDataType;
  
  /*
   * HydatRepaired schema.
   * Java code originally generated: 2013/12/13 10:00:50
   *
   */
  
  @SuppressWarnings("serial")
  public class HydatRepaired extends Schema {
  
  	public HydatRepaired() {
  		super("HydatRepaired");
  
  		Table tableAgencyList = this.createTable("AGENCY_LIST");
  		tableAgencyList.createColumn("AGENCY_ID", new IntDataType());
  		tableAgencyList.createColumn("AGENCY_EN", new TextDataType());
  		tableAgencyList.createColumn("AGENCY_FR", new TextDataType());
  		this.createUniqueConstraint("AGENCY_LIST_PrimaryKey", tableAgencyList, tableAgencyList.getColumn("AGENCY_ID"));
  
  		Table tableAnnualInstantPeaks = this.createTable("ANNUAL_INSTANT_PEAKS");
  		tableAnnualInstantPeaks.createColumn("STATION_NUMBER", new TextDataType());
  		tableAnnualInstantPeaks.createColumn("DATA_TYPE", new TextDataType());
  		tableAnnualInstantPeaks.createColumn("YEAR", new IntDataType());
  		tableAnnualInstantPeaks.createColumn("PEAK_CODE", new TextDataType());
  		tableAnnualInstantPeaks.createColumn("PRECISION_CODE", new IntDataType());
  		tableAnnualInstantPeaks.createColumn("MONTH", new IntDataType());
  		tableAnnualInstantPeaks.createColumn("DAY", new IntDataType());
  		tableAnnualInstantPeaks.createColumn("HOUR", new IntDataType());
  		tableAnnualInstantPeaks.createColumn("MINUTE", new IntDataType());
  		tableAnnualInstantPeaks.createColumn("TIME_ZONE", new TextDataType());
  		tableAnnualInstantPeaks.createColumn("PEAK", new RealDataType());
  		tableAnnualInstantPeaks.createColumn("SYMBOL", new TextDataType());
  		this.createUniqueConstraint("ANNUAL_INSTANT_PEAKS___uniqueindex", tableAnnualInstantPeaks, tableAnnualInstantPeaks.getColumn("STATION_NUMBER"), tableAnnualInstantPeaks.getColumn("DATA_TYPE"), tableAnnualInstantPeaks.getColumn("YEAR"), tableAnnualInstantPeaks.getColumn("PEAK_CODE"));
  
  		Table tableAnnualStatistics = this.createTable("ANNUAL_STATISTICS");
  		tableAnnualStatistics.createColumn("STATION_NUMBER", new TextDataType());
  		tableAnnualStatistics.createColumn("DATA_TYPE", new TextDataType());
  		tableAnnualStatistics.createColumn("YEAR", new IntDataType());
  		tableAnnualStatistics.createColumn("MEAN", new RealDataType());
  		tableAnnualStatistics.createColumn("MIN_MONTH", new IntDataType());
  		tableAnnualStatistics.createColumn("MIN_DAY", new IntDataType());
  		tableAnnualStatistics.createColumn("MIN", new RealDataType());
  		tableAnnualStatistics.createColumn("MIN_SYMBOL", new TextDataType());
  		tableAnnualStatistics.createColumn("MAX_MONTH", new IntDataType());
  		tableAnnualStatistics.createColumn("MAX_DAY", new IntDataType());
  		tableAnnualStatistics.createColumn("MAX", new RealDataType());
  		tableAnnualStatistics.createColumn("MAX_SYMBOL", new TextDataType());
  		this.createUniqueConstraint("ANNUAL_STATISTICS_PrimaryKey", tableAnnualStatistics, tableAnnualStatistics.getColumn("STATION_NUMBER"), tableAnnualStatistics.getColumn("DATA_TYPE"), tableAnnualStatistics.getColumn("YEAR"));
  
  		Table tableConcentrationSymbols = this.createTable("CONCENTRATION_SYMBOLS");
  		tableConcentrationSymbols.createColumn("CONCENTRATION_SYMBOL", new TextDataType());
  		tableConcentrationSymbols.createColumn("CONCENTRATION_EN", new TextDataType());
  		tableConcentrationSymbols.createColumn("CONCENTRATION_FR", new TextDataType());
  		this.createUniqueConstraint("CONCENTRATION_SYMBOLS_PrimaryKey", tableConcentrationSymbols, tableConcentrationSymbols.getColumn("CONCENTRATION_SYMBOL"));
  
  		Table tableDataSymbols = this.createTable("DATA_SYMBOLS");
  		tableDataSymbols.createColumn("SYMBOL_ID", new TextDataType());
  		tableDataSymbols.createColumn("SYMBOL_EN", new TextDataType());
  		tableDataSymbols.createColumn("SYMBOL_FR", new TextDataType());
  		this.createUniqueConstraint("DATA_SYMBOLS_PrimaryKey", tableDataSymbols, tableDataSymbols.getColumn("SYMBOL_ID"));
  
  		Table tableDataTypes = this.createTable("DATA_TYPES");
  		tableDataTypes.createColumn("DATA_TYPE", new TextDataType());
  		tableDataTypes.createColumn("DATA_TYPE_EN", new TextDataType());
  		tableDataTypes.createColumn("DATA_TYPE_FR", new TextDataType());
  		this.createUniqueConstraint("DATA_TYPES_PrimaryKey", tableDataTypes, tableDataTypes.getColumn("DATA_TYPE"));
  
  		Table tableDatumList = this.createTable("DATUM_LIST");
  		tableDatumList.createColumn("DATUM_ID", new IntDataType());
  		tableDatumList.createColumn("DATUM_EN", new TextDataType());
  		tableDatumList.createColumn("DATUM_FR", new TextDataType());
  		this.createUniqueConstraint("DATUM_LIST_PrimaryKey", tableDatumList, tableDatumList.getColumn("DATUM_ID"));
  
  		Table tableDlyFlows = this.createTable("DLY_FLOWS");
  		tableDlyFlows.createColumn("STATION_NUMBER", new TextDataType());
  		tableDlyFlows.createColumn("YEAR", new IntDataType());
  		tableDlyFlows.createColumn("MONTH", new IntDataType());
  		tableDlyFlows.createColumn("FULL_MONTH", new IntDataType());
  		tableDlyFlows.createColumn("NO_DAYS", new IntDataType());
  		tableDlyFlows.createColumn("MONTHLY_MEAN", new RealDataType());
  		tableDlyFlows.createColumn("MONTHLY_TOTAL", new RealDataType());
  		tableDlyFlows.createColumn("FIRST_DAY_MIN", new IntDataType());
  		tableDlyFlows.createColumn("MIN", new RealDataType());
  		tableDlyFlows.createColumn("FIRST_DAY_MAX", new IntDataType());
  		tableDlyFlows.createColumn("MAX", new RealDataType());
  		tableDlyFlows.createColumn("FLOW1", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL1", new TextDataType());
  		tableDlyFlows.createColumn("FLOW2", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL2", new TextDataType());
  		tableDlyFlows.createColumn("FLOW3", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL3", new TextDataType());
  		tableDlyFlows.createColumn("FLOW4", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL4", new TextDataType());
  		tableDlyFlows.createColumn("FLOW5", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL5", new TextDataType());
  		tableDlyFlows.createColumn("FLOW6", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL6", new TextDataType());
  		tableDlyFlows.createColumn("FLOW7", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL7", new TextDataType());
  		tableDlyFlows.createColumn("FLOW8", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL8", new TextDataType());
  		tableDlyFlows.createColumn("FLOW9", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL9", new TextDataType());
  		tableDlyFlows.createColumn("FLOW10", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL10", new TextDataType());
  		tableDlyFlows.createColumn("FLOW11", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL11", new TextDataType());
  		tableDlyFlows.createColumn("FLOW12", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL12", new TextDataType());
  		tableDlyFlows.createColumn("FLOW13", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL13", new TextDataType());
  		tableDlyFlows.createColumn("FLOW14", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL14", new TextDataType());
  		tableDlyFlows.createColumn("FLOW15", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL15", new TextDataType());
  		tableDlyFlows.createColumn("FLOW16", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL16", new TextDataType());
  		tableDlyFlows.createColumn("FLOW17", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL17", new TextDataType());
  		tableDlyFlows.createColumn("FLOW18", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL18", new TextDataType());
  		tableDlyFlows.createColumn("FLOW19", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL19", new TextDataType());
  		tableDlyFlows.createColumn("FLOW20", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL20", new TextDataType());
  		tableDlyFlows.createColumn("FLOW21", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL21", new TextDataType());
  		tableDlyFlows.createColumn("FLOW22", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL22", new TextDataType());
  		tableDlyFlows.createColumn("FLOW23", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL23", new TextDataType());
  		tableDlyFlows.createColumn("FLOW24", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL24", new TextDataType());
  		tableDlyFlows.createColumn("FLOW25", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL25", new TextDataType());
  		tableDlyFlows.createColumn("FLOW26", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL26", new TextDataType());
  		tableDlyFlows.createColumn("FLOW27", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL27", new TextDataType());
  		tableDlyFlows.createColumn("FLOW28", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL28", new TextDataType());
  		tableDlyFlows.createColumn("FLOW29", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL29", new TextDataType());
  		tableDlyFlows.createColumn("FLOW30", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL30", new TextDataType());
  		tableDlyFlows.createColumn("FLOW31", new RealDataType());
  		tableDlyFlows.createColumn("FLOW_SYMBOL31", new TextDataType());
  		this.createUniqueConstraint("DLY_FLOWS_PrimaryKey", tableDlyFlows, tableDlyFlows.getColumn("STATION_NUMBER"), tableDlyFlows.getColumn("YEAR"), tableDlyFlows.getColumn("MONTH"));
  
  		Table tableDlyLevels = this.createTable("DLY_LEVELS");
  		tableDlyLevels.createColumn("STATION_NUMBER", new TextDataType());
  		tableDlyLevels.createColumn("YEAR", new IntDataType());
  		tableDlyLevels.createColumn("MONTH", new IntDataType());
  		tableDlyLevels.createColumn("PRECISION_CODE", new IntDataType());
  		tableDlyLevels.createColumn("FULL_MONTH", new IntDataType());
  		tableDlyLevels.createColumn("NO_DAYS", new IntDataType());
  		tableDlyLevels.createColumn("MONTHLY_MEAN", new RealDataType());
  		tableDlyLevels.createColumn("MONTHLY_TOTAL", new RealDataType());
  		tableDlyLevels.createColumn("FIRST_DAY_MIN", new IntDataType());
  		tableDlyLevels.createColumn("MIN", new RealDataType());
  		tableDlyLevels.createColumn("FIRST_DAY_MAX", new IntDataType());
  		tableDlyLevels.createColumn("MAX", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL1", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL1", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL2", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL2", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL3", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL3", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL4", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL4", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL5", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL5", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL6", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL6", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL7", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL7", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL8", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL8", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL9", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL9", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL10", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL10", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL11", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL11", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL12", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL12", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL13", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL13", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL14", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL14", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL15", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL15", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL16", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL16", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL17", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL17", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL18", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL18", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL19", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL19", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL20", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL20", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL21", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL21", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL22", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL22", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL23", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL23", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL24", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL24", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL25", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL25", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL26", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL26", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL27", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL27", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL28", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL28", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL29", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL29", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL30", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL30", new TextDataType());
  		tableDlyLevels.createColumn("LEVEL31", new RealDataType());
  		tableDlyLevels.createColumn("LEVEL_SYMBOL31", new TextDataType());
  		this.createUniqueConstraint("DLY_LEVELS_PrimaryKey", tableDlyLevels, tableDlyLevels.getColumn("STATION_NUMBER"), tableDlyLevels.getColumn("YEAR"), tableDlyLevels.getColumn("MONTH"));
  
  		Table tableMeasurementCodes = this.createTable("MEASUREMENT_CODES");
  		tableMeasurementCodes.createColumn("MEASUREMENT_CODE", new TextDataType());
  		tableMeasurementCodes.createColumn("MEASUREMENT_EN", new TextDataType());
  		tableMeasurementCodes.createColumn("MEASUREMENT_FR", new TextDataType());
  		this.createUniqueConstraint("MEASUREMENT_CODES_PrimaryKey", tableMeasurementCodes, tableMeasurementCodes.getColumn("MEASUREMENT_CODE"));
  
  		Table tableOperationCodes = this.createTable("OPERATION_CODES");
  		tableOperationCodes.createColumn("OPERATION_CODE", new TextDataType());
  		tableOperationCodes.createColumn("OPERATION_EN", new TextDataType());
  		tableOperationCodes.createColumn("OPERATION_FR", new TextDataType());
  		this.createUniqueConstraint("OPERATION_CODES_PrimaryKey", tableOperationCodes, tableOperationCodes.getColumn("OPERATION_CODE"));
  
  		Table tablePeakCodes = this.createTable("PEAK_CODES");
  		tablePeakCodes.createColumn("PEAK_CODE", new TextDataType());
  		tablePeakCodes.createColumn("PEAK_EN", new TextDataType());
  		tablePeakCodes.createColumn("PEAK_FR", new TextDataType());
  		this.createUniqueConstraint("PEAK_CODES_PrimaryKey", tablePeakCodes, tablePeakCodes.getColumn("PEAK_CODE"));
  
  		Table tablePrecisionCodes = this.createTable("PRECISION_CODES");
  		tablePrecisionCodes.createColumn("PRECISION_CODE", new IntDataType());
  		tablePrecisionCodes.createColumn("PRECISION_EN", new TextDataType());
  		tablePrecisionCodes.createColumn("PRECISION_FR", new TextDataType());
  		this.createUniqueConstraint("PRECISION_CODES_PrimaryKey", tablePrecisionCodes, tablePrecisionCodes.getColumn("PRECISION_CODE"));
  
  		Table tableRegionalOfficeList = this.createTable("REGIONAL_OFFICE_LIST");
  		tableRegionalOfficeList.createColumn("REGIONAL_OFFICE_ID", new IntDataType());
  		tableRegionalOfficeList.createColumn("REGIONAL_OFFICE_NAME_EN", new TextDataType());
  		tableRegionalOfficeList.createColumn("REGIONAL_OFFICE_NAME_FR", new TextDataType());
  		this.createUniqueConstraint("REGIONAL_OFFICE_LIST_PrimaryKey", tableRegionalOfficeList, tableRegionalOfficeList.getColumn("REGIONAL_OFFICE_ID"));
  
  		Table tableSampleRemarkCodes = this.createTable("SAMPLE_REMARK_CODES");
  		tableSampleRemarkCodes.createColumn("SAMPLE_REMARK_CODE", new IntDataType());
  		tableSampleRemarkCodes.createColumn("SAMPLE_REMARK_EN", new TextDataType());
  		tableSampleRemarkCodes.createColumn("SAMPLE_REMARK_FR", new TextDataType());
  		this.createUniqueConstraint("SAMPLE_REMARK_CODES_PrimaryKey", tableSampleRemarkCodes, tableSampleRemarkCodes.getColumn("SAMPLE_REMARK_CODE"));
  
  