3.4 Redundant Collection for CPPAR
3.4.1 Redundancy-Based Utility
Una vez obtenido el objeto se pueden utilizar estos métodos para obtener información sobre la base de datos:
método de DatabaseMetadata uso
boolean allTablesAreSelected() Indica si se pueden utilizar todas las tablas
booleandeletesAreDetected(inttipo) Devuelve true si las filas borradas en un conjunto
de resultados (objeto ResultSet)
pueden ser detectados por el método
rowDeleted de la clase ResultSet.
El parámetro tipo indica el tipo de conjunto de resultados
ResultSet getCatalogs() Devuelve una tabla de resultados ResultSet
cuyo contenido es la columna _
String getCatalogSeparator() Devuelve los caracteres que separan el nombre del catálogo respecto del nombre de
ResultSet getColumns(String catálogo,
String plantillaEsquema, String plantillaTabla, String plantillaCampo)
Obtiene una tabla de resultados (ResultSet) en la que cada fila es un campo que cumple el nombre de campo indicado en
la plantilla de campo (que puede ser null).
Además los campos pertenecen a la tabla indicada en el catálogo (un catálogo agrupa esquemas, puede ser null) y plantilla de esquema (un esquema agrupa tablas relacionadas y puede ser null )
señalados.
El conjunto de resultados posee 22 columnas. Las fundamentales son:
TABLE_CAT. Catálogo de la tabla. TABLE_SCHEM. Esquema de la tabla. TABLE_NAME. Nombre de la tabla COLUMN_NAME. Nombre del campo.
DATA_TYPE. Un entero que indica el tipo. Se puede comparar con las constantes de la clase java.sql.Types.
TYPE_NAME. Nombre del tipo de datos de la columna según las directrices del gestor de base de datos empleado
COLUMN_SIZE. Entero que indica el tamaño del campo
método de DatabaseMetadata uso
IS_NULLABLE. Cadena “YES” o “NO” que indica si el campo puede contener nulos.
Connection getConnection() Devuelve el objeto Connection relacionado con este
String getDatabaseProductName() Devuelve el nombre comercial del sistema gestor
String getDatabaseProductVersion() Devuelve la versión de producto del sistema de base
int getDriverMajorVersion() Devuelve el número mayor de versión del driver
int getDriverMinorVersion() Devuelve el número menor de versión del driver
String getIdentifierQuoteString() Devuelve el carácter utilizado para delimitar nombres de campo o de tabla en la base de
ResultSet getImportedKeys(String catalog, String schema, String tabla)
Obtiene un conjunto de resultados que describe la clave de la tabla indicada para el
ResultSet getIndexInfo(String catalog, Obtiene un conjunto de resultados que describe los índices de la tabla indicada.
int getMaxColumnNameLength() Devuelve el máximo número de caracteres que puede poseer un campo en esta base de
int getMaxColumnsInGroupBy() Obtiene el máximo número de elementos que pueden indicarse parea esta base de
int getMaxColumnsInIndex() Devuelve el máximo número de campos que se pueden colocar en un índice para esta
int getMaxColumnsInOrderBy() Obtiene el máximo número de elementos que pueden indicarse para esta base de
int getMaxColumnsInSelect() Devuelve el máximo número de elementos que pueden indicarse en una instrucción SELECT para
método de DatabaseMetadata uso
int getMaxConnections() Obtiene el número máximo de conexiones concurrentes que pueden abrirse para esta
int getMaxIndexLength() Devuelve el máximo número de bytes que puede
int getMaxRowSize() Devuelve el máximo número de bytes que puede
int getMaxStatements() Obtienen el máximo número de objetos de consulta (Statements) que se pueden crear
int getMaxTableNameLength() Obtiene el máximo número de caracteres que puede tener el nombre de una tabla en
int getMaxTablesIn Select() Obtiene el máximo número de tablas que pueden
String getNumericFunctions() Obtiene una lista de las funciones internas de tipo numérico de esta base de datos separadas por
ResultSet getPrimaryKeys(String
catálogo, String esquema, String tabla)
Obtiene una tabla de resultados (ResultSet) cuyos registros representan una tabla del esquema (que puede ser null)
y catálogo (también puede ser null)
indicados. La tabla posee estas columnas:
TABLE_CAT. Nombre del catálogo
(puede ser null)
TABLE_SCHEM. Nombre del esquema (puede ser null).
TABLE_NAME. Nombre de la tabla
COLUMN_NAME. Nombre del campo que forma parte de la clave primaria.
String getSQLKeywords() Devuelve una cadena con todos los comandos, separados por comas, SQL
String getStringFunctions() Obtiene una lista de las funciones internas de tipo String de esta base de datos separadas por comas.
String getSystemFunctions() Obtiene una lista de las funciones internas de sistema de esta base de datos separadas
método de DatabaseMetadata uso
ResultSet getTables(String catálogo,
String plantillaEsquema, String plantillaTabla, String tipos[])
Obtiene una tabla de resultados (ResultSet )
en la que cada fila es una tabla del catálogo
(un catálogo agrupa esquemas, puede ser null ),
plantilla de esquema (un esquema agrupa tablas relacionadas y puede sernull), patrón de nombre
de tabla (permite indicar nombres de tabla) y tipo indicado.
El tipo se indica con un array String que puede contener como elementos:
“TABLE”. Tabla normal.
“VIEW”. Vista.
“SYSTEM TABLE”. Tabla de sistema
“GLOBAL TEMPORARY”. Tabla
temporal.
“LOCAL”. Tabla Local.
Si el tipo es null se obtendrán todas las tablas
de la base de datos.
El conjunto de resultados posee cinco columnas, que son:
TABLE_CAT. Catálogo de la tabla.
ResultSet getTablesTypes() Obtiene un ResultSet donde cada registro es un tipo de tabla soportado por el gestor
String getURL() Obtiene una cadena con el URL del sistema gestor
String getUserName() Devuelve el nombre de usuario actual del gestor
método de DatabaseMetadata uso
boolean othersDeletesAreVisibles() Indica si los registros borrados p or otros usuarios
boolean othersInsertsAreVisibles() Indica si los registros insertados por otros usuarios
boolean othersUpdatesAreVisibles() Indica si los registros actualizados por otros usuarios
boolean ownDeletesAreVisibles() Indica si nuestros registros borrados son visibles.
boolean ownInsertsAreVisibles() Indica si nuestros registros insertados son visibles.
boolean ownUpdatesAreVisibles() Denota si nuestros registros actualizados son
boolean storesLowerCaseIdentifiers() Indica si los identificadores de la base de datos sin delimitador son almacenados en minúsculas.
boolean storesLowerCaseQuotedIdentifiers() Indica si los identificadores de la base de datos con delimitador son almacenados en
boolean storesMixedCaseIdentifiers() Denota si los identificadores de la base de datos sin delimitador son almacenados en
boolean storesMixedCaseQuotedIdentifiers() Indica si los identificadores de la base de datos con delimitador son almacenados en
boolean storesUpperCaseIdentifiers() Indica si los identificadores de la base de datos sin delimitador son almacenados en minúsculas.
boolean storesUpperCaseQuotedIdentifiers() Indica si los identificadores de la base de datos con delimitador son almacenados en
boolean supportsAlterTableWithAddColumn() Indica si la base de datos permite añadir columnas usando la instrucción SQL
boolean supportsAlterTableWithDropColumn() Indica si la base de datos permite borrar columnas usando la instrucción SQL
boolean supportsANSI92FullSQL() Denota si el SQL ANSI 92 está completamente soportado por la base de datos
boolean supportsBatchUpdates() Indica si la base de datos admite procesos por
método de DatabaseMetadata uso
boolean supportsLikeEscapeClause() Indica si la base de datos soporta la cláusula
boolean suportsMixedCaseIdentifiers() Indica si el nombre de los identificadores sin delimitador de la base de datos cuando
combinan mayúsculas y minúsculas se
boolean
supportsMixedCaseQuotedIdentifiers() Indica si el nombre de los identificadores condelimitador de la base de datos cuando
boolean supportsOrderByUnrelated() Denota si la cláusula ORDER BY puede utilizar campos diferentes de los enunciados
boolean supportsResultSetConcurrency(int
tipo, int concurrencia)
Indica si la base de datos soporta la concurrencia indicada para el tipo
boolean supportsResultSetType(int tipo) Indica si los ResultSetobtenidos desde esta base de
datos pueden ser del tipo indicado,
(véase el método createStatement de la clase
boolean supportsSelectForUpdate() Indica si el SQL de la base de datos permite
boolean supports Transactions() Indica si la base de datos soporta
boolean updatesAreDetected() Indica si se pueden detectar filas actualizadas con el método rowUpdated de la
boolean usesLocalFiles() Indica si la base de datos almacena archivos locales
En este listado sólo se han señalado las instrucciones más utilizadas, hay el doble de métodos en realidad con respecto a los aquí señalados