República Bolivariana de Venezuela
Ministerio del Poder Popular para Educación Universitaria
Universidad Politécnica Territorial de Tarea “Luis Mariano Rivera”
Departamento de informática
Yaguaraparo estado Sucre
Trayecto 2
EL MUNDO DE LAS BASES
DE DATOS
Profesor:
Estudiante:
Antoni Velasq
Cruz Santamaria
\
Introduccion
Una base de datos es un conjunto de datos organizados, relacionados y almacenados de manera
estructurada en un sistema informático. Su propósito es guardar información de forma eficiente, segura
y persistente. Piensa en una base de datos como un gran archivador digital, donde cada archivo es un
registro y cada cajón es una tabla. Este enfoque permite que la información sea fácilmente accesible,
gestionable y manipulable. La clave de las bases de datos modernas no es solo el almacenamiento, sino
la capacidad de establecer relaciones entre diferentes tipos de datos, como conectar la información de
un cliente con sus compras.
1.
Un sistema de base de datos es una colección de datos organizados y relacionados, junto con el software
para gestionarlos. En cambio, un Sistema Manejador de Base de Datos (SMBD) es el software que actúa
como interfaz entre los usuarios y la base de datos, permitiendo crear, manipular y gestionar los datos.
El sistema de base de datos es el concepto completo (datos + software + usuarios), mientras que el
SMBD es el componente de software central de ese sistema.
Evolución de los Sistemas de Bases de Datos Relacionales
La evolución de los sistemas de bases de datos relacionales ha sido un proceso clave en la historia de la
informática, y puede resumirse en las siguientes etapas:
Orígenes (1970s): El modelo relacional fue propuesto por Edgar F. Codd en 1970. Este modelo
revolucionó la forma de organizar los datos al proponer tablas con filas y columnas, estableciendo
relaciones entre ellas. Esto permitía una mayor flexibilidad y eliminaba la necesidad de un código de
programación complejo para acceder a los datos, una limitación de los sistemas jerárquicos y de red
anteriores.
Auge comercial (1980s-1990s): En esta etapa, el modelo relacional se popularizó con la creación de los
primeros Sistemas Manejadores de Bases de Datos Relacionales (SGBDR) comerciales como Oracle, DB2
y SQL Server. El lenguaje SQL (Structured Query Language) se estandarizó, convirtiéndose en el lenguaje
universal para interactuar con estas bases de datos. Los SGBDR se convirtieron en la base para las
aplicaciones empresariales.
Era de Internet y escalabilidad (2000s-actualidad): Con el auge de Internet y el Big Data, los sistemas
relacionales tuvieron que adaptarse. Surgieron mejoras en la escalabilidad, el rendimiento y la
capacidad de gestionar grandes volúmenes de datos. Aunque el modelo relacional sigue siendo
dominante para muchas aplicaciones, la necesidad de una mayor flexibilidad y escalabilidad horizontal
dio lugar a la aparición de los sistemas NoSQL, que ofrecen diferentes modelos de datos (clave-valor,
documentos, grafos, etc.) para casos de uso específicos.
Arquitecturas Cliente-Servidor y Multicapas
Arquitectura Cliente-Servidor (Dos Capas)
En la arquitectura cliente-servidor, la aplicación se divide en dos partes principales:
Cliente: Es la parte que el usuario final utiliza para interactuar con el sistema (la interfaz de usuario).
Envía solicitudes al servidor para acceder a los datos.
Servidor: Es la parte que gestiona la base de datos y procesa las solicitudes del cliente. Contiene la lógica
de la base de datos y, a menudo, una parte de la lógica de negocio.
Con licencia de Google
Esta arquitectura es relativamente simple de implementar, pero puede presentar problemas de
escalabilidad y mantenimiento. Si la lógica de negocio está fuertemente acoplada al cliente, cualquier
cambio requiere actualizar todos los clientes.
Arquitectura Multicapas (N-Capas)
La arquitectura multicapas (también conocida como N-capas) es una evolución del modelo cliente-
servidor que separa la lógica de la aplicación en múltiples capas lógicas e independientes. La más común
es la arquitectura de tres capas:
Capa de Presentación: Es la interfaz de usuario, similar al cliente en la arquitectura de dos capas. Se
encarga de la interacción con el usuario y de mostrar los resultados.
Capa de Lógica de Negocio (Middleware): Esta capa intermedia contiene la lógica y las reglas de negocio
de la aplicación. Actúa como un intermediario entre la capa de presentación y la de datos, procesando
las solicitudes y asegurando que las reglas del negocio se apliquen correctamente.
Capa de Datos: Se encarga del almacenamiento, gestión y acceso a la base de datos. Contiene el SMBD y
los datos.
Esta separación ofrece mayor flexibilidad, escalabilidad y facilidad de mantenimiento. Por ejemplo, se
puede modificar la capa de presentación sin afectar la lógica de negocio, o cambiar el SMBD sin tener
que reescribir toda la aplicación.
2.
Un DBMS (Sistema de Gestión de Bases de Datos) es un software complejo con varios componentes y
funcionalidades clave para gestionar la información de manera eficiente y segura. A continuación, se
detallan sus componentes, funcionalidades, el Lenguaje de Definición de Datos (DDL), el procesamiento
de consultas, el procesamiento de transacciones y el manejo de almacenamiento.
Componentes de un DBMS
Un DBMS está compuesto por varios módulos que trabajan en conjunto para su correcto
funcionamiento:
Motor de Base de Datos: Es el núcleo del DBMS. Se encarga de procesar las solicitudes de los usuarios y
de manejar las operaciones de bajo nivel, como la inserción, actualización, eliminación y recuperación
de datos.
Procesador de Consultas: Traduce las consultas del usuario (generalmente escritas en SQL) a un formato
que el motor de la base de datos pueda entender y ejecutar. Incluye un analizador léxico y sintáctico, y
un optimizador de consultas.
Manejo de Almacenamiento: Módulo que se encarga de la gestión física de los datos en los dispositivos
de almacenamiento, como los discos duros.
Manejo de Transacciones: Garantiza que las transacciones sean fiables y se ejecuten de manera
coherente, incluso en caso de fallos del sistema, a través de propiedades como la atomicidad,
consistencia, aislamiento y durabilidad (ACID).
Diccionario de Datos: Almacena los metadatos, es decir, los "datos sobre los datos". Contiene
información sobre la estructura de la base de datos, las tablas, los campos, los tipos de datos, los
permisos de los usuarios y las relaciones entre los objetos.
Módulo de Seguridad y Autorización: Controla el acceso a la base de datos, verificando los permisos de
los usuarios para realizar ciertas operaciones.
Interfaces: Proporciona las herramientas para que los usuarios (administradores, desarrolladores,
usuarios finales) interactúen con el sistema a través de lenguajes como SQL.
Funcionalidades de un DBMS
Las principales funciones de un DBMS son:
Definición de datos: Permite a los usuarios definir la estructura de la base de datos.
Manipulación de datos: Proporciona herramientas para consultar, insertar, actualizar y eliminar
información.
Control de acceso y seguridad: Restringe el acceso a los datos según los permisos del usuario.
Manejo de la concurrencia: Administra el acceso simultáneo de múltiples usuarios para evitar
inconsistencias en los datos.
Recuperación y respaldo: Permite recuperar la base de datos a un estado consistente después de un
fallo.
Control de la integridad: Aplica reglas para asegurar que los datos sean válidos y consistentes.
Comandos del Lenguaje de Definición de Datos (DDL)
El DDL (Data-Definition Language) es una parte de SQL que se utiliza para definir y modificar la
estructura de una base de datos. Sus comandos principales son:
CREATE: Para crear objetos en la base de datos, como tablas, bases de datos, vistas e índices.
ALTER: Para modificar la estructura de un objeto existente, como añadir, eliminar o cambiar una
columna en una tabla.
DROP: Para eliminar objetos completos de la base de datos.
TRUNCATE: Para eliminar todas las filas de una tabla, pero manteniendo su estructura intacta.
Procesamiento de Consultas
El procesamiento de consultas es el proceso por el cual un DBMS convierte una consulta de alto nivel
(como SELECT * FROM empleados WHERE salario > 50000) en un plan de ejecución eficiente. Este
proceso incluye:
Análisis: El DBMS analiza la sintaxis y semántica de la consulta.
Optimización: El optimizador de consultas evalúa múltiples planes de ejecución posibles y selecciona el
más eficiente en términos de tiempo y recursos.
Ejecución: El motor de la base de datos ejecuta el plan elegido para recuperar los datos solicitados.
Procesamiento de Transacciones
Una transacción es un conjunto de operaciones que se ejecutan como una sola unidad atómica. El
procesamiento de transacciones asegura que todas las operaciones dentro de una transacción se
completen con éxito o que ninguna de ellas se complete, garantizando la consistencia de los datos. Esta
funcionalidad se rige por las propiedades ACID:
Atomicidad: La transacción es indivisible. Ocurre por completo o no ocurre en absoluto.
Consistencia: La transacción lleva la base de datos de un estado válido a otro.
Aislamiento: Las transacciones concurrentes no interfieren entre sí.
Durabilidad: Una vez que una transacción ha sido confirmada, sus cambios persisten incluso en caso de
fallos del sistema.
Manejo de Almacenamiento
El manejo de almacenamiento es el componente del DBMS que gestiona la forma en que los datos se
almacenan físicamente en los discos. Esto incluye:
Organización de archivos: Define la estructura física de los archivos que contienen las tablas y los
índices.
Gestión de buffers: Utiliza la memoria principal (RAM) como un "caché" temporal para los datos que se
acceden con frecuencia, reduciendo la necesidad de acceder al disco, que es más lento.
Indexación: Crea índices para acelerar la búsqueda de registros, similar al índice de un libro.
Asignación de espacio: Administra el espacio disponible en el disco para almacenar nuevos datos o para
reestructurar los existentes.
3.
La administración de bases de datos es la gestión de la base de datos de una organización, incluyendo el
diseño, la implementación, el mantenimiento, la seguridad y la optimización. Su objetivo es garantizar la
disponibilidad, integridad, seguridad y rendimiento de los datos.
Funciones y Tareas del Administrador de Bases de Datos (DBA)
Un Administrador de Bases de Datos (DBA) es el profesional encargado de todas las tareas relacionadas
con la administración de la base de datos. Sus responsabilidades pueden agruparse en las siguientes
categorías:
Gestión de la Estructura:
Diseño e implementación: Creación de la estructura de la base de datos (tablas, índices, vistas, etc.)
según las necesidades del negocio.
Modificación del esquema: Realización de cambios en la estructura de la base de datos a medida que
evolucionan los requisitos de la organización.
Gestión de Operaciones:
Monitoreo y optimización del rendimiento: Seguimiento del rendimiento de la base de datos y
aplicación de mejoras para garantizar una respuesta rápida a las consultas. Esto puede incluir la
optimización de consultas SQL y la gestión de la memoria del servidor.
Respaldo y recuperación: Implementación de políticas de respaldo para proteger los datos contra
pérdidas por fallos del sistema, desastres o errores humanos.
Mantenimiento rutinario: Tareas como la reorganización de índices, la limpieza de registros antiguos y la
gestión del espacio en disco.
Gestión de la Seguridad:
Control de acceso: Definición de roles, usuarios y permisos para controlar quién puede acceder a los
datos y qué operaciones puede realizar.
Auditoría: Seguimiento de las actividades de los usuarios para detectar posibles accesos no autorizados
o actividades sospechosas.
Gestión de la Concurrencia:
Resolución de conflictos: Gestión de situaciones en las que varios usuarios intentan acceder o modificar
los mismos datos al mismo tiempo, utilizando técnicas como los bloqueos.
Planificación de la Capacidad:
Estimación de crecimiento: Proyección del crecimiento futuro de los datos para asegurar que la
infraestructura de hardware y software sea suficiente.
Gestión de la Integridad:
Implementación de reglas: Definición de reglas para asegurar que los datos sean precisos y consistentes.
Por ejemplo, una regla podría evitar que se ingrese una fecha de nacimiento posterior a la fecha actual.
Conclusión
Hemos explorado el vasto mundo de las bases de datos, desde sus componentes fundamentales hasta
su evolución y administración. En síntesis, una base de datos es más que un simple contenedor de
información; es un repositorio organizado que da forma y coherencia a los datos de una organización. El
Sistema Manejador de Bases de Datos (SMBD) es el software esencial que actúa como cerebro,
permitiendo la creación, manipulación, seguridad y optimización de esos datos.