Crear sus propias tablas de base de datos
La aplicación incluye una estructura de tablas de propósito general para almacenar sus propios “valores de tabla”.
Tablas relacionadas:
| Tabla | Descripción |
|---|---|
| OKM_DB_METADATA_TYPE | Se utiliza para establecer la definición de metadatos de las tablas. |
| OKM_DB_METADATA_VALUE | Se utiliza para almacenar las filas de las tablas. |
| OKM_DB_METADATA_SEQUENCE | Se utiliza para crear secuencias, normalmente utilizadas en las tablas. |
Crear una nueva definición de tabla
Sección titulada «Crear una nueva definición de tabla»Descripción de los campos de la tabla OKM_DB_METADATA_TYPE:
| Campo | Descripción |
|---|---|
| DMT_ID | Clave primaria de la tabla OKM_DB_METADATA_TYPE. |
| DMT_REAL_COLUM | Establece el nombre real de la columna en la tabla OKM_DB_METADATA_VALUE. |
| DMT_TABLE | Establece el nombre de la tabla. |
| DMT_TYPE | Establece el tipo de columna de la tabla. Tipos de columna disponibles: - text. - boolean. - integer. - long. - file. |
Ejemplo
Sección titulada «Ejemplo»- Tabla llamada country.
- La columna llamada country_id de tipo integer va en col00.
- La columna llamada country_names de tipo text va en col01.
DELETE FROM OKM_DB_METADATA_TYPE WHERE DMT_TABLE='country';INSERT INTO OKM_DB_METADATA_TYPE (DMT_TABLE, DMT_REAL_COLUMN, DMT_TYPE, DMT_VIRTUAL_COLUMN) VALUES ('country', 'col00', 'integer', 'country_id');INSERT INTO OKM_DB_METADATA_TYPE (DMT_TABLE, DMT_REAL_COLUMN, DMT_TYPE, DMT_VIRTUAL_COLUMN) VALUES ('country', 'col01', 'text', 'country_name');Crear nuevos valores de tabla
Sección titulada «Crear nuevos valores de tabla»Descripción de los campos de la tabla OKM_DB_METADATA_VALUE:
| Campo | Descripción |
|---|---|
| DMV_ID | Clave primaria de la tabla OKM_DB_METADATA_VALUE. |
| DMV_COL00 | Establece el valor de la columna 0. |
| DMV_COL01 | Establece el valor de la columna 1. |
| DMV_COL02 | Establece el valor de la columna 2. |
| DMV_COL03 | Establece el valor de la columna 3. |
| DMV_COL04 | Establece el valor de la columna 4. |
| DMV_COL05 | Establece el valor de la columna 5. |
| DMV_COL06 | Establece el valor de la columna 6. |
| DMV_COL07 | Establece el valor de la columna 7. |
| DMV_COL08 | Establece el valor de la columna 8. |
| DMV_COL09 | Establece el valor de la columna 9. |
| DMV_COL10 | Establece el valor de la columna 10. |
| DMV_COL11 | Establece el valor de la columna 11. |
| DMV_COL12 | Establece el valor de la columna 12. |
| DMV_COL13 | Establece el valor de la columna 13. |
| DMV_COL15 | Establece el valor de la columna 14. |
| DMV_TABLE | Establece el nombre de la tabla. |
Ejemplo
Sección titulada «Ejemplo»- Tabla llamada country.
- La columna llamada country_id de tipo integer va en col00.
- La columna llamada country_names de tipo text va en col01.
DELETE FROM OKM_DB_METADATA_VALUE WHERE DMV_TABLE='country';INSERT INTO OKM_DB_METADATA_VALUE (DMV_TABLE, DMV_COL00, DMV_COL01) VALUES ('country', '001', 'Australia');INSERT INTO OKM_DB_METADATA_VALUE (DMV_TABLE, DMV_COL00, DMV_COL01) VALUES ('country', '002', 'Canada');Crear una nueva secuencia
Sección titulada «Crear una nueva secuencia»Descripción de los campos de la tabla OKM_DB_METADATA_SEQUENCE:
| Campo | Descripción |
|---|---|
| DMS_ID | Clave primaria de la tabla OKM_DB_METADATA_SEQUENCE. |
| DMS_COLUM | Establece el nombre de la columna. |
| DMS_TABLE | Establece el nombre de la tabla. |
| DMS_TABLE | Establece el siguiente valor de la secuencia. |
Ejemplo
Sección titulada «Ejemplo»- Tabla llamada country.
- Columna country_id
INSERT INTO OKM_DB_METADATA_SEQUENCE (DMS_TABLE, DMS_COLUMN, DMS_VALUE) VALUES ('country','country_id','1');Ejemplos de código
Sección titulada «Ejemplos de código»Consulta de selección
Sección titulada «Consulta de selección»import com.openkm.dao.DatabaseMetadataDAO;import com.openkm.dao.bean.DatabaseMetadataValue;import com.openkm.util.DatabaseMetadataUtils;
for (DatabaseMetadataValue dmv : DatabaseMetadataDAO.executeValueQuery(DatabaseMetadataUtils.buildQuery("country", "", "$country_name"))) { System.out.println(dmv);}
for (DatabaseMetadataValue dmv : DatabaseMetadataDAO.executeValueQuery("from DatabaseMetadataValue dmv where dmv.table='country' order by dmv.col01")) { System.out.println(dmv);}Consulta de actualización
Sección titulada «Consulta de actualización»import com.openkm.dao.DatabaseMetadataDAO;import com.openkm.dao.bean.DatabaseMetadataValue;import com.openkm.util.DatabaseMetadataUtils;
DatabaseMetadataValue dmv = DatabaseMetadataDAO.executeValueQueryUnique(DatabaseMetadataUtils.buildQuery("country", "$country_id='001'", "$country_name"));System.out.println(dmv);dmv.setCol01("France");DatabaseMetadataDAO.updateValue(dmv);System.out.println(dmv);Consulta de eliminación
Sección titulada «Consulta de eliminación»import com.openkm.dao.DatabaseMetadataDAO;import com.openkm.dao.bean.DatabaseMetadataValue;import com.openkm.util.DatabaseMetadataUtils;
DatabaseMetadataValue dmv =DatabaseMetadataDAO.executeValueQueryUnique(DatabaseMetadataUtils.buildQuery("country", "$country_id='001'", "$country_name"));DatabaseMetadataDAO.deleteValue(dmv.getId());Obtener el siguiente valor de una secuencia
Sección titulada «Obtener el siguiente valor de una secuencia»import com.openkm.dao.DatabaseMetadataDAO;
Long id = new Long( DatabaseMetadataDAO.getNextSequenceValue("country", "country_id"));System.out.println(String.format("%03d", id));