Contexto: Estándar propuesto en 1975 por el comité ANSI/X3/SPARC para estructurar los Sistemas Gestores de Bases de Datos (SGBD). Define tres niveles de abstracción y el principio de independencia de datos.
| Nivel | También llamado | ¿Qué describe? | ¿Quién lo usa? |
|---|---|---|---|
| Externo | Nivel de vistas | Cómo ven los datos los usuarios/aplicaciones | Usuarios finales, apps |
| Conceptual | Nivel lógico global | Estructura completa de la BD (entidades, relaciones, restricciones) | DBA, diseñadores |
| Interno | Nivel físico | Cómo se almacenan realmente los datos en disco | SGBD, SO |
┌─────────────────────────────────────────────────────┐
│ NIVEL EXTERNO │
│ Vista A │ Vista B │ Vista C │
│ (Usuario 1) │ (Usuario 2) │ (Aplicación) │
└──────────────┬──────────────┴───────────────────────┘
│ ↕ Correspondencia Externa/Conceptual
┌──────────────▼──────────────────────────────────────┐
│ NIVEL CONCEPTUAL │
│ Entidades · Relaciones · Atributos · Restricciones │
└──────────────┬──────────────────────────────────────┘
│ ↕ Correspondencia Conceptual/Interna
┌──────────────▼──────────────────────────────────────┐
│ NIVEL INTERNO │
│ Ficheros · Índices · Punteros · Bloques │
└─────────────────────────────────────────────────────┘
La independencia de datos es el objetivo clave de la arquitectura ANSI/SPARC: cambiar un nivel sin afectar al nivel superior.
| Tipo | Definición | Ejemplo práctico |
|---|---|---|
| Independencia lógica | Cambiar el esquema conceptual sin afectar las vistas externas | Añadir un nuevo atributo a una tabla sin romper las aplicaciones existentes |
| Independencia física | Cambiar el almacenamiento interno sin afectar el esquema conceptual | Crear/eliminar índices o cambiar la organización de ficheros sin tocar el modelo lógico |
Cambio físico (índices, ficheros)
↓ NO afecta a
Esquema Conceptual
↓ NO afecta a
Vistas Externas / Aplicaciones
| Concepto | Definición | Analogía |
|---|---|---|
| Esquema | Definición/estructura de la BD. Estable en el tiempo. | El plano de una casa |
| Instancia | Los datos concretos almacenados en un momento dado. Cambia constantemente. | Los muebles de la casa en este momento |
| ANSI/SPARC | Concepto ANSI/SQL | ¿Qué permite? |
|---|---|---|
| Nivel externo | Vista (VIEW) del usuario |
Diferentes perspectivas de la BD |
| Nivel conceptual | Modelo lógico global | Estructura completa de la BD |
| Nivel interno | Almacenamiento físico | Cómo se guardan los datos |
| Independencia de datos | Cambiar un nivel sin afectar otro | Flexibilidad y mantenimiento |
| Independencia lógica | Cambiar esquema conceptual sin afectar vistas | Añadir atributos/tablas |
| Independencia física | Cambiar almacenamiento sin afectar lógica | Gestión de índices y organización |
| Esquema | Definición de la BD | Estructura de datos |
| Instancia | Datos en un momento dado | Estado actual de la BD |
Las correspondencias o mappings definen cómo se transforman los datos entre niveles:
Nivel Externo ←──── Correspondencia E/C ────→ Nivel Conceptual
Nivel Conceptual ←── Correspondencia C/I ────→ Nivel Interno
El SGBD es responsable de gestionar estas transformaciones de forma transparente.
Tres niveles de abstracción: La arquitectura ANSI/SPARC separa la BD en tres capas — externo (vistas de usuario), conceptual (estructura lógica global) e interno (almacenamiento físico) — permitiendo que cada actor trabaje con su nivel de detalle adecuado.
Independencia de datos: El principio fundamental del modelo: los cambios en el nivel físico no deben afectar al nivel lógico (independencia física), y los cambios en el nivel lógico no deben romper las vistas de usuario (independencia lógica).
Esquema vs. Instancia: El esquema es la definición estable y estructural de la BD; la instancia es el conjunto de datos concretos en un instante dado. Esta distinción es esencial para entender el ciclo de vida y evolución de una base de datos.