@Override
  public void createTable() throws SQLException {
    StringBuffer strbuf;

    // ----------------------------------------

    strbuf = new StringBuffer();

    strbuf.append("DROP TABLE IF EXISTS ");
    strbuf.append(getTableName());
    strbuf.append(" CASCADE");

    System.err.println(strbuf.toString());

    connection.createStatement().execute(strbuf.toString());

    // ----------------------------------------

    strbuf = new StringBuffer();

    strbuf.append("DROP SEQUENCE IF EXISTS ");
    strbuf.append("seq_");
    strbuf.append(getTableName());

    System.err.println(strbuf.toString());

    connection.createStatement().execute(strbuf.toString());

    // ----------------------------------------

    HabilidadDAO habilidadDAO = new HabilidadDAO();
    habilidadDAO.init(connectionBean);

    strbuf = new StringBuffer();

    strbuf.append("CREATE TABLE ");
    strbuf.append(getTableName());
    strbuf.append(" (");
    strbuf.append(NivelHabilidadDO.ID);
    strbuf.append(" INT PRIMARY KEY, ");
    strbuf.append(NivelHabilidadDO.NIVEL_DE_HABILIDAD);
    strbuf.append(" INT,    ");
    strbuf.append(NivelHabilidadDO.EFECTIVIDAD);
    strbuf.append(" INT,   ");
    strbuf.append(NivelHabilidadDO.COSTO_DE_ENERGIA);
    strbuf.append(" INT,   ");
    strbuf.append(NivelHabilidadDO.PROBABILIDAD);
    strbuf.append(" INT,   ");

    strbuf.append(NivelHabilidadDO.HABILIDAD_ID);
    strbuf.append(" INT REFERENCES   ");
    strbuf.append(habilidadDAO.getTableName());

    strbuf.append(")");

    System.err.println(strbuf.toString());

    connection.createStatement().execute(strbuf.toString());

    // ----------------------------------------

    strbuf = new StringBuffer();

    strbuf.append("CREATE SEQUENCE ");
    strbuf.append("seq_");
    strbuf.append(getTableName());

    System.err.println(strbuf.toString());

    connection.createStatement().execute(strbuf.toString());
  }