1. Independencia de Datos

La independencia de datos se logra mediante la arquitectura ANSI de tres niveles:

Nivel Interno

Describe la estructura física de almacenamiento de la base de datos. Emplea un modelo físico de datos y es donde residen los datos.

Nivel Conceptual

Describe la estructura lógica de toda la base de datos para la comunidad de usuarios. Oculta los detalles físicos de almacenamiento y trabaja con elementos lógicos como entidades, atributos y relaciones.

Nivel Externo o de Vistas

Define múltiples esquemas externos o vistas de usuario. Cada esquema describe la visión particular de la base de datos para un grupo de usuarios, ocultando el resto.

El objetivo de esta arquitectura es separar las aplicaciones de la base de datos física.

2. Independencia Lógica

Es la capacidad de modificar el esquema lógico sin afectar a las aplicaciones. Ejemplo: Añadir cuentas de mercado de valores en un sistema bancario.

3. Independencia Física

Es la capacidad de modificar el esquema físico sin afectar a las aplicaciones. Estas modificaciones son necesarias para mejorar el rendimiento. Ejemplo: Reorganizar ficheros físicos para optimizar las consultas.

4. Características de los Modelos de Datos

Modelo Jerárquico

Organiza los datos en una estructura de árbol, donde un nodo padre puede tener varios hijos. Útil para grandes volúmenes de información y datos compartidos, creando estructuras estables y de alto rendimiento. Limitación: dificultad para representar la redundancia de datos.

Modelo de Red

Similar al jerárquico, pero un nodo hijo puede tener varios padres. Mejora la redundancia de datos del modelo jerárquico, pero su administración es compleja, siendo usado principalmente por programadores.

Modelo Relacional

El modelo más utilizado actualmente. Almacena datos en relaciones (tablas), donde el orden de los datos es irrelevante. Fácil de entender y usar, la información se recupera mediante consultas flexibles. Considera la base de datos como una colección de relaciones (tablas), donde cada fila es una tupla o registro y cada columna es un atributo o campo.

5. Funciones y Perfiles de Usuarios de SGBD

Administrador de la BD

Responsable de administrar la estructura de la base de datos. Perfil: Control total sobre la BD (todos los privilegios).

Diseñador de la BD

Define qué usuarios acceden a qué datos. Consideraciones importantes: velocidad de acceso y tamaño de la información. Perfil: Control total sobre los datos.

Programadores de Aplicaciones

Responsabilidades: codificar el sistema, documentarlo, planificar y ejecutar pruebas, corregir errores y diseñar (o asistir en el diseño) la base de datos. Perfil: Capacidad de trabajo en equipo, multifuncionalidad, resistencia a la presión, facilidad para aprender nuevos lenguajes y adaptación a los cambios tecnológicos.

Usuarios Finales

Consultan, actualizan y generan informes. Perfil: Varía según la aplicación.

6. Software Libre

Respeta la libertad de los usuarios: puede ser usado, copiado, estudiado, modificado y redistribuido libremente. Suele ser gratuito o al costo de distribución, pero también puede ser comercial.

7. Ventajas e Inconvenientes del Software Libre

Ventajas

  1. Independencia tecnológica: el código fuente permite desarrollar nuevos productos.
  2. Libertad de uso y redistribución.
  3. Económico.

Inconvenientes

  1. Menor acabado estético y de usabilidad que el software propietario.
  2. Instalación compleja en algunos casos.
  3. Inexistencia de garantía del autor.

8. Base de Datos Distribuida (BDD)

Conjunto de bases de datos lógicamente relacionadas, distribuidas en diferentes espacios lógicos e interconectadas por una red.

9. Diccionario de Datos

Conjunto de metadatos que describe las características lógicas de los datos del sistema (nombre, descripción, alias, contenido y organización).

10. Administrar una BD vs. Administrar un SGBD

Administrar una BD es manejar los datos. Administrar un SGBD es administrar el software que gestiona la BD.

11. Problemas y Soluciones en la Administración de BD

BD con Miles de Usuarios Centrada en Consultas (Buscador)

Problema: Sobrecarga del servidor. Solución: Particiones múltiples por criterios (metas) y replicación en varios servidores.

Venta Online con Miles de Usuarios y Escrituras por Segundo

Problema: Bloqueo del insert. Solución: Distribuir el punto caliente entre varias tablas o particiones y actualizar las transacciones en línea.

12. MyISAM vs. InnoDB

InnoDB: Transacciones, claves foráneas, bloqueos y características ACID. Recomendado para uso intensivo de INSERT y UPDATE.

MyISAM: Mayor velocidad en consultas SELECT. Recomendado para aplicaciones con predominio de SELECT.

Ventajas de InnoDB: Soporte de transacciones, bloqueo de registros, características ACID.

Ventajas de MyISAM: Mayor velocidad de recuperación de datos.