Historia+de+las+BD

Para empezar el curso de Base de Datos INF-306, es necesario conocer la evolución histórica de las base de datos, para conocer como surgen el mundo de las base de datos y su evolución a través de los años. ** El Nacimiento de las Bases de Datos **

** Máquina perforadora Herman Hollerit (1860-1929) **

Herman Hollerit (1860-1929) fue denominado el primer ingeniero estadístico de la historia, ya que invento una computadora llamada “Máquina Automática Perforadora de Tarjetas. Para hacer el censo de Estados Unidos en 1880 se tardaron 7 años para obtener resultados. ** Década 1950 **

Se da origen a las cintas magnéticas. Por medio de este mecanismo se empezó a automatizar la información de las nóminas, como por ejemplo el aumento de salario. Consistía en leer una cinta o más y pasar los datos a otra, y también se podían pasar desde las tarjetas perforadas. Simulando un sistema de Backup. ** Década de 1960 ** El uso de los discos en ese momento fue un adelanto muy efectivo, ya que por medio de este soporte se podía consultar la información directamente, esto ayudo a ahorrar tiempo. No era necesario saber exactamente donde estaban los datos en los discos, ya que en milisegundos era recuperable la información. Los discos dieron inicio a las Bases de Datos, de red y jerárquicas, pues los programadores con su habilidad de manipulación de estructuras junto con las ventajas de los discos era posible guardar estructuras de datos como listas y árboles.

** Década 1970 **

En los 70 Cuando E.F. Codd de IBM introdujo la idea de un modelo relacional de Bases de datos en un documento titulado “A Relational Model of data for Large Shared Banks”. Posteriormente nacen el modelo de bases de datos realcionales, que pretenden abstraer la representación de los datos, así como minimizar la redundancia de datos, dividiendolos en grupos no duplicados e incrementar la consistencia de los datos. Posteriormente nace un lenguaje llamado SQL (Lenguaje estructurado de consultas) también desarrollado por IBM, fue creado para generar reportes y actualizar datos en este nuevo modelo relacional.El **//Sistema R//** de IBM nació de este trabajo, pero fue ignorado por IBM, y poco después **//Oracle//** saco su versión comercial de BD basada en la teoría relacional de Codd, y el Berkely Ingres.



Durante el desarrollo del curso de bases de datos avanzadas estudiamos tres puntos importantes en el desarrollo de de una base de datos que son el diseño conceptual, diseño lógico y el diseño físico. Se nos pidió seleccionar un dominio para realizar un análisis de los requerimientos de información para realizar un modelo conceptual de ese dominio. Para empezar hay que conocer el concepto de base de datos.


 * ¿Qué es una Base de Datos? **

Una **base de datos** o **banco de datos** (en ocasiones abreviada con la sigla //BD// o con la abreviatura //b. d.//) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso.

** Diseño del Modelo Conceptual de una base de Datos ** Para el diseño conceptual de bases de datos aplicamos el modelo de datos más popular en la actualidad, el modelo entidad-relación. El diseño de una base de datos es un proceso complejo que abarca decisiones a muy distintos niveles. La complejidad se controla mejor si se descompone el problema en subproblemas y se resuelve cada uno de estos subproblemas independientemente, utilizando técnicas específicas. El diseño conceptual parte de las especificaciones de requisitos de usuario y su resultado es el esquema conceptual de la base de datos. Un //esquema conceptual// es una descripción de alto nivel de la estructura de la base de datos, independientemente del SGBD que se vaya a utilizar para manipularla. Un //modelo conceptual// es un lenguaje que se utiliza para describir esquemas conceptuales. El objetivo del diseño conceptual es describir el contenido de información de la base de datos y no las estructuras de almacenamiento que se necesitarán para manejar esta información. <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; text-align: justify;">Los modelos conceptuales deben ser buenas herramientas para representar la realidad, por lo que deben poseer las siguientes cualidades: **<span style="font-family: 'Arial','sans-serif'; font-size: 24px;">Expresividad ****<span style="font-family: 'Arial','sans-serif'; font-size: 24px;">: **<span style="font-family: 'Arial','sans-serif'; font-size: 24px;"> deben tener suficientes conceptos para expresar perfectamente la realidad. **<span style="font-family: 'Arial','sans-serif'; font-size: 24px;">Simplicidad ****<span style="font-family: 'Arial','sans-serif'; font-size: 24px;">: **<span style="font-family: 'Arial','sans-serif'; font-size: 24px;"> deben ser simples para que los esquemas sean fáciles de entender. **<span style="font-family: 'Arial','sans-serif'; font-size: 24px;">Minimalidad ****<span style="font-family: 'Arial','sans-serif'; font-size: 24px;">: **<span style="font-family: 'Arial','sans-serif'; font-size: 24px;"> cada concepto debe tener un significado distinto. **<span style="font-family: 'Arial','sans-serif'; font-size: 24px;">Formalidad ****<span style="font-family: 'Arial','sans-serif'; font-size: 24px;">: **<span style="font-family: 'Arial','sans-serif'; font-size: 24px;"> todos los conceptos deben tener una interpretación única, precisa y bien definida.

<span style="font-family: 'Arial','sans-serif'; font-size: 24px;">El modelo entidad-relación es el modelo conceptual más utilizado para el diseño conceptual de bases de datos. El modelo entidad-relación está formado por un conjunto de conceptos que permiten describir la realidad mediante un conjunto de representaciones gráficas y lingüísticas <span style="color: #505050; font-family: 'Arial','sans-serif'; font-size: 18px;">.
 * El modelo entidad-relación **

Modelo conceptual del Proyecto N°1



<span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; text-align: justify;"> El siguiente punto que tratamos fue el diseño del modelo lógico utilizando un sencillo editor visual de bases de datos que nos permite crear y editar visualmente esquemas entidad-relación, llamado DBDesigner, permitiéndonos aplicar el modelo conceptual a un modelo lógico.



<span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; text-align: justify;"> El diseño lógico es el proceso mediante el que se construye un esquema que representa la información que maneja una empresa, basándose en un modelo lógico determinado, pero independientemente del SGBD concreto que se vaya a utilizar para implementar la base de datos e independientemente de cualquier otra consideración física. <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; text-align: justify;"> La metodología que se va a seguir para el diseño lógico en el modelo relacional consta de dos fases, cada una de ellas compuesta por varios pasos que se detallan a continuación. <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; text-align: justify;"> Construir y validar los esquemas lógicos locales para cada vista de usuario. <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; margin-left: 95.85pt; text-align: justify; text-indent: -18pt;"> - Convertir los esquemas conceptuales locales en esquemas lógicos locales. <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; margin-left: 95.85pt; text-align: justify; text-indent: -18pt;"> - Derivar un conjunto de relaciones (tablas) para cada esquema lógico local. <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; margin-left: 95.85pt; text-align: justify; text-indent: -18pt;"> - Validar cada esquema mediante la normalización. <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; margin-left: 95.85pt; text-align: justify; text-indent: -18pt;"> - Validar cada esquema frente a las transacciones del usuario. <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; margin-left: 95.85pt; text-align: justify; text-indent: -18pt;"> - Dibujar el diagrama entidad-relación. <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; margin-left: 95.85pt; text-align: justify; text-indent: -18pt;"> - Definir las restricciones de integridad. <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; margin-left: 95.85pt; text-align: justify; text-indent: -18pt;"> - Revisar cada esquema lógico local con el usuario correspondiente. <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; text-align: justify;"> Construir y validar el esquema lógico global. <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; margin-left: 77.85pt; text-align: justify; text-indent: -18pt;"> - Mezclar los esquemas lógicos locales en un esquema lógico global. <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; margin-left: 77.85pt; text-align: justify; text-indent: -18pt;"> - Validar el esquema lógico global. <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; margin-left: 77.85pt; text-align: justify; text-indent: -18pt;"> - Estudiar el crecimiento futuro. <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; margin-left: 77.85pt; text-align: justify; text-indent: -18pt;"> - Dibujar el diagrama entidad-relación final. <span style="color: #505050; font-family: 'Arial','sans-serif'; font-size: 18px;">- <span style="font-family: 'Arial','sans-serif'; font-size: 24px;">Revisar el esquema lógico global con los usuarios <span style="color: #505050; font-family: 'Arial','sans-serif'; font-size: 18px;">. ** Diseño Lógico de Una BD. ** <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; text-align: justify;"> Consiste en hacer una implementación específica de la base de datos para un SGDB en específico recordando que uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente. <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; text-align: justify;"> El primer paso consiste en traducir el esquema lógico global de modo que pueda ser fácilmente implementado por el SGBD específico. <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; text-align: justify;"> La seguridad de la base de datos es fundamental, por lo que el siguiente paso consiste en diseñar las medidas de seguridad necesarias mediante la creación de vistas y el establecimiento de permisos para los usuarios. <span style="display: block; font-family: 'Arial','sans-serif'; font-size: 24px; text-align: justify;"> El último paso del diseño físico consiste en monitorizar y afinar el sistema para obtener las mejores prestaciones y satisfacer los cambios que se puedan producir en los requisitos