El modelo semiestructurado es un modelo de base de datos donde no hay separación entre los datos y el esquema , y la cantidad de estructura utilizada depende del propósito.
Las ventajas de este modelo son las siguientes:
- Puede representar la información de algunas fuentes de datos que no pueden estar restringidas por un esquema.
- Proporciona un formato flexible para el intercambio de datos entre diferentes tipos de bases de datos.
- Puede resultar útil ver los datos estructurados como semiestructurados (para fines de navegación).
- El esquema se puede cambiar fácilmente.
- El formato de transferencia de datos puede ser portátil.
La principal compensación que se hace al usar un modelo de base de datos semiestructurada es que las consultas no se pueden realizar de manera tan eficiente como en una estructura más restringida, como en el modelo relacional . Normalmente, los registros de una base de datos semiestructurada se almacenan con ID únicos a los que se hace referencia con punteros a su ubicación en el disco. Esto hace que las consultas de navegación o basadas en rutas sean bastante eficientes, pero para realizar búsquedas en muchos registros (como es típico en SQL ), no es tan eficiente porque tiene que buscar alrededor del disco siguiendo punteros.
El modelo de intercambio de objetos (OEM) es un estándar para expresar datos semiestructurados, otra forma es XML .