INTRODUCCIÓN
Objetivos
En esta lección se abordan los siguientes objetivos:
- Describir la evolución de la base de datos y proporcionar un ejemplo de su rol en el mundo empresarial.
- Nombrar aportaciones históricas importantes en el desarrollo y diseño de la base de datos.
- Enumerar y explicar los tres pasos principales en el proceso de desarrollo de la base de datos.
- La historia ofrece una perspectiva de dónde estamos actualmente en cuanto a tecnología de la información.
- La próxima vez que utilice la computadora, el sistema de videojuegos o el smartphone, se dará cuenta hasta dónde hemos llegado en este punto y qué eventos nos trajeron hasta aquí.
- El modelado de datos es el primer paso en el desarrollo de bases de datos.
- Esta lección incluye una visión general del contenido que se trata en el resto del curso.
Cronología de la Historia de las Bases de Datos
La historia de las bases de datos refleja una evolución constante de la tecnología de la información y de los métodos para organizar datos de manera eficiente y flexible. Desde los años 60, cuando las computadoras empezaron a ser asequibles para las empresas, se desarrollaron modelos que permitieron gestionar grandes volúmenes de datos, primero mediante sistemas jerárquicos y de red, y más tarde, gracias al modelo relacional propuesto por E. F. Codd en la década de 1970, que revolucionó la forma en que se almacenan y acceden los datos (Oracle, 2020; Codd, 1970).
La década de 1980 marcó la aparición de los primeros sistemas de bases de datos relacionales en el mercado, entre ellos Oracle Version 2, y la consolidación de SQL como lenguaje estándar para manipulación y definición de datos. Posteriormente, la explosión de Internet en los años 90 impulsó el desarrollo de herramientas para integrar bases de datos con aplicaciones web, dando paso a nuevas necesidades de escalabilidad y flexibilidad en la gestión de información (Oracle, 2020).
El desarrollo moderno de bases de datos sigue tres fases esenciales: modelado de datos, en el cual se recopilan los requerimientos de información de una organización; diseño de base de datos, que traduce esos modelos conceptuales en esquemas físicos; y creación de la base de datos, que se realiza mediante comandos SQL para construir las estructuras y manipular los datos almacenados (Oracle, 2020).
Entre los conceptos clave en este proceso destacan las claves primarias y foráneas, las restricciones de unicidad y valores nulos, así como la correcta elección de tipos de datos para asegurar integridad, seguridad y eficiencia en el almacenamiento y acceso a la información (Date, 2003; Elmasri & Navathe, 2016).
Motores de Bases de Datos
La siguiente tabla presenta algunos de los motores de bases de datos más relevantes en la actualidad, evidenciando cómo los avances históricos han dado lugar a soluciones concretas que hoy son la base de aplicaciones empresariales, académicas, web y móviles.
| Motor de Base de Datos | Tipo | Licencia | Lenguaje SQL Soportado | Características Clave |
|---|---|---|---|---|
| Oracle Database | Relacional | Comercial | SQL, PL/SQL | Alta escalabilidad, seguridad, soporte a grandes cargas de trabajo. |
| 1970 | Relacional | Edgar F. Codd (IBM) | Datos organizados en tablas con filas y columnas, facilitando la consulta y manipulación. | |
| MySQL | Relacional | Open Source / Comercial | SQL | Popular, fácil de usar, muy utilizado en web y apps. |
| PostgreSQL | Relacional / Objeto-Relacional | Open Source | SQL, PL/pgSQL | Altamente extensible, soporte avanzado para integridad de datos. |
| Microsoft SQL Server | Relacional | Comercial | T-SQL | Integración fuerte con entornos Microsoft, BI, Reporting. |
| SQLite | Relacional | Open Source | SQL | Ligero, embebido en aplicaciones, cero configuraciones. |
| MongoDB | NoSQL (documentos) | Open Source / Comercial | BSON / JSON queries | Almacena documentos JSON, flexible, escalable horizontalmente. |
| IBM Db2 | Relacional | Comercial | SQL, PL/SQL | Uso corporativo, optimizado para grandes transacciones. |
| MariaDB | NoSQL (documentos) | Open Source | SQL | Fork de MySQL, totalmente libre, compatible con MySQL. |
Esta tabla refleja la diversidad de soluciones existentes para la gestión de bases de datos, desde sistemas tradicionales relacionales como Oracle, SQL Server o PostgreSQL, hasta motores NoSQL como MongoDB, que surgen ante la necesidad de manejar grandes volúmenes de datos no estructurados o semiestructurados en la era digital. Elegir un motor adecuado depende de factores como el volumen de datos, las necesidades de escalabilidad, la complejidad de las relaciones entre datos, el presupuesto disponible y el entorno tecnológico de la organización (Oracle, 2020; Elmasri & Navathe, 2016).
Pregunta:¿Qué Tiene que Ver el Modelado de Datos con una Base de Datos?
El modelado de datos es el primer paso en el proceso de desarrollo de bases de datos.
Implica recopilar y analizar los datos que necesita un negocio para realizar un seguimiento y, a continuación, traza la organización de los datos en un diagrama de relación de entidad.
Proceso de Desarrollo de Base de Datos
El proceso de desarrollo de una base de datos es un conjunto de pasos estructurados para diseñar, implementar y mantener un sistema de base de datos eficiente y efectivo. A continuación, se describen las fases clave de este proceso:
- Análisis de requisitos: En esta fase inicial, se identifican y documentan las necesidades de los usuarios y de la organización.
- Diseño conceptual: Se crea un modelo de datos de alto nivel que representa las entidades, atributos y relaciones principales.
- Diseño lógico: El modelo conceptual se traduce en un modelo de datos lógico, generalmente utilizando el modelo relacional.
- Diseño físico: Se definen los detalles de implementación de la base de datos, como las estructuras de almacenamiento, los índices y los métodos de acceso.
- Implementación: Se crea la base de datos utilizando un SGBD específico y se carga con datos iniciales.
- Pruebas: La base de datos se somete a pruebas exhaustivas para garantizar su correcto funcionamiento, rendimiento y seguridad.
- Mantenimiento: Una vez que la base de datos está en producción, se realizan tareas de mantenimiento continuo, como copias de seguridad, optimización del rendimiento y aplicación de actualizaciones.
El modelado de datos, que es una parte integral del proceso de diseño, ayuda a visualizar y organizar los datos de manera que reflejen con precisión las reglas de negocio y los requisitos de la organización. Un modelo de datos bien diseñado es crucial para el éxito de cualquier sistema de base de datos, ya que garantiza la integridad de los datos, reduce la redundancia y facilita el desarrollo de aplicaciones.
Ejemplo:
El siguiente diagrama de relación de entidad representa una parte de las tablas de la aplicación de streaming de música que Spotify tendría y sus relaciones:
Un modelo de datos bien diseñado puede ayudar a garantizar la integridad de los datos y a reducir la redundancia. En este ejemplo, el empleado se identifica mediante un ID de empleado único, mientras que el departamento se identifica mediante un ID de departamento único. El modelo de datos también puede ayudar a imponer las reglas de negocio, como la regla de que cada empleado debe estar asignado a un departamento.
Terminología
A continuación se explica la terminología utilizada en este capítulo:
- Tabla: Colección de datos relacionados almacenados en un formato estructurado.
- Columna: Atributo o característica de una entidad.
- Fila: Registro o tupla que representa una instancia de una entidad.
- Clave primaria: Columna o conjunto de columnas que identifican de forma única cada fila de una tabla.
- Clave externa: Columna o conjunto de columnas que establecen una relación entre dos tablas.
- Modelo de datos: Representación abstracta de la estructura de una base de datos.
- Entidad: Objeto o concepto del mundo real sobre el que se almacenan datos.
- Atributo: Propiedad o característica de una entidad.
- Relación: Asociación entre dos o más entidades.
Resumen
En esta lección, debería haber aprendido a:
- Identificar los principales componentes de Oracle Database
- Identificar los objetivos del proceso de desarrollo de bases de datos
- Describir los diferentes tipos de sentencias SQL
- Explicar los beneficios del modelado de datos relacionales
- Explicar la relación entre una tabla, una fila y una columna
- Resumir las principales diferencias entre el modelado de datos lógico y físico
- Describir cómo las reglas de negocio se incorporan en un modelo de datos
- Describir la finalidad de una tabla de búsqueda
-------------------------------------------------------------------------------------------------------------
SIGUIENTE - SQL