Vista previa del material en texto
introducción a base de datos Documento de lectura INDICE Conceptos de base de datos ............................................................. 1 Los ficheros tradicionales y las BD ..................................................... 4 Historia de las bases de datos ........................................................... 5 Década de 1960 .............................................................................. 7 Década de 1970 .............................................................................. 7 Década de 1980 .............................................................................. 9 Década años 1990 .......................................................................... 9 Siglo XXI ......................................................................................... 10 Características y arquitectura de sistemas gestores de bases de datos .............................................. 11 Bases de Datos con estructura jerárquica ...................................... 11 Bases de Datos con estructura en red ............................................ 11 Bases de Datos con estructura relacional ...................................... 12 Bases de Datos con estructura multidimensional .......................... 12 Bases de Datos con estructura orientada a objetos ....................... 13 Sistemas Gestores de Bases de Datos SDBD ..................................... 13 Nivel conceptual ............................................................................ 14 Nivel interno .................................................................................... 14 Nivel externo .................................................................................. 15 Ventajas de los Sistemas Gestores de Bases de Datos ..................... 16 Bibliografía ......................................................................................... 17 1 Conceptos de base de datos A continuación, se enlistan una serie de definiciones de Bases de Datos: Es una colección de información/datos almacenada de cierta forma y con una estructura específica, que tienen rutinas optimizadas para guardar, eliminar, consultar y gestionar información. Entonces, una base de datos está conformada por modelos o tablas; cada tabla tiene N atributos, de diferentes tipos de datos, ellos se guardan como registros, por ejemplo: un registro de la tabla de usuarios en una base de datos, tiene la información del nombre y apellido de una persona, y así podemos tener millones de registros, relacionarlos, indexarlos y demás. Es un almacenamiento de datos formalmente definido, controlado centralmente para intentar servir a múltiples y diferentes aplicaciones. La base de datos es una fuente de datos que son compartidos por numerosos usuarios para diversas aplicaciones. La necesidad de tener una base de datos, se debe a que, desde hace años, con la creciente ola informática, no es sostenible simplemente tener nuestra información en un archivo normal, un Excel, por ejemplo, Excel No es una base de datos. 2 Es necesario poder almacenar millones de registros de forma optimizada para nuestros sistemas, y por ello debemos contar con la herramienta adecuada para consultarlos, ya que nuestros recursos siempre serán limitados. Por lo tanto, una base de datos se entenderá como una colección de datos relacionados entre sí y que tienen un significado implícito. 3 Ejemplo: Una agenda de un conjunto de personas conocidas es una base de datos, puesto que es una colección de datos relacionados con un significado implícito. La definición presentada anteriormente hace referencia a dos elementos para que un conjunto de datos constituya una Base de Datos. 1. Relaciones entre datos, que no es más que la forma en que los datos se combinan para generar información y que deben estar debidamente normalizadas por ciertas reglas, posteriormente este tema será detallado a profundidad. 2. Significado implícito de los datos que se atribuye dependiendo del contexto en que se utilizan los mismos. Por ejemplo, el dato fecha en una base de datos de Ventas puede referirse a la fecha de emisión de las facturas, mientras que si la base de datos es de Música quizás corresponda a la fecha en que se grabó un tema musical. Es decir, el significado de un dato, depende de la BD que lo contenga. 4 Los ficheros tradicionales y las BD Un fichero (file en inglés) es tradicionalmente un lugar donde se guardan fichas o papeles. En el caso de la informática, nos referimos a un fichero o archivo como un lugar (naturalmente virtual) donde se guarda información. Esta información puede ser muy diversa, y puede abarcar desde apenas un número o una cifra (incluso menos: hay ficheros vacíos) hasta el infinito. Teóricamente no hay límite para la información que un fichero puede contener, aunque por comodidad solemos separar los ficheros según el tipo de información que contengan. Antes de abordar la organización de datos es necesario conocer las siguientes definiciones: Importante: Entidades: Es la representación de un objeto o concepto del mundo real que se describe en una base de datos. Ejemplos: Alumno, Empleado, Artículo, Noticia, etc. Atributo: Representa una propiedad de interés de una entidad. Por ejemplo, la entidad “Alumno” podría tener los atributos: nombre, apellido, año de nacimiento, etc. 5 Una manera de concebir la organización de datos es agrupando estos en entidades cuyas características (atributos) están determinadas por datos concretos, de esta forma también es posible definir una base de datos como un conjunto estructurado de datos que representan entidades y sus interrelaciones. La representación será única e integrada, a pesar de que debe permitir operaciones varias y simultáneas. A partir de estas consideraciones, en la siguiente tabla se especifican algunas características de bases de datos que la diferencia de la organización de ficheros tradicionales. Características Ficheros Bases de datos Entidades tipos Tienen registros de una sola entidad tipo Tienen datos de varias entidades tipo Interrelaciones El sistema no interrelaciona ficheros El sistema tiene previstas herramientas para interrelacionar entidades Redundancia Se crean ficheros a la medida de cada aplicación, con todos los datos necesarios, aunque algunos sean redundantes respecto de otros ficheros Todas las aplicaciones trabajan con la mismo BD y la integración de los datos es básica, de modo que se evita la redundancia Usuarios Sirven para un solo usuario o una sola aplicación. Dan una sola visión del mundo real. Es compartida por muchos usuarios de distintos tipos. Ofrece varias visiones del mundo real. Historia de las bases de datos El término bases de datos fue escuchado por primera vez en un simposio celebrado en California en 1963. Los orígenes de las bases de datos se remontan a la Antigüedad donde ya existían bibliotecas y toda clase de registros. Además, también se utilizaban para recoger información sobre las cosechas y censos. Sin embargo, su búsqueda era lenta y poco eficaz (Gestión de la información) y no se contaba con la ayuda de máquinas que pudiesen reemplazar el trabajo manual. Posteriormente, el uso de las bases de datos se desarrolló a partir de las necesidades de almacenar grandes cantidades de información o datos. Sobre todo, desde la aparición de las primeras computadoras, el concepto de bases de datos ha estado siempre ligado a la informática. 6 En 1884 Herman Hollerith creó la máquina automática de tarjetas perforadas, siendo nombrado así el primer ingeniero estadístico de la historia. En esta época, los censos se realizaban de forma manual. Ante esta situación, Hollerith comenzó a trabajar en el diseño de una maquina tabuladora o censadora, basada en tarjetas perforadas. Posteriormente, en la década de los cincuenta se da origen a las cintas magnéticas, para automatizar la información y hacer respaldos. Esto sirvió para suplirlas necesidades de información de las nuevas industrias. Y a través de este mecanismo se empezaron a automatizar información, con la desventaja de que solo se podía hacer de forma secuencial. 7 Década de 1960 Posteriormente en la época de los sesenta, las computadoras bajaron los precios para que las compañías privadas las pudiesen adquirir; dando paso a que se popularizara el uso de los discos, cosa que fue un adelanto muy efectivo en la época, debido a que a partir de este soporte se podía consultar la información directamente, sin tener que saber la ubicación exacta de los datos. En esta misma época se dio inicio a las primeras generaciones de bases de datos de red y las bases de datos jerárquicas, ya que era posible guardar estructuras de datos en listas y árboles. Otro de los principales logros de los años sesenta fue la alianza de IBM y American Airlines para desarrollar SABRE, un sistema operativo que manejaba las reservas de vuelos, transacciones e informaciones sobre los pasajeros de la compañía American Airlines. Y, posteriormente, en esta misma década, se llevó a cabo el desarrollo del IDS desarrollado por Charles Bachman (que formaba parte de la CODASYL) supuso la creación de un nuevo tipo de sistema de bases de datos conocido como modelo en red que permitió la creación de un standard en los sistemas de bases de datos gracias a la creación de nuevos lenguajes de sistemas de información. Década de 1970 Por lo que respecta a la década de los setenta, Edgar Frank Codd, científico informático ingles conocido por sus aportaciones a la teoría de bases de datos relacionales, definió el modelo relacional a la par que publicó una serie de reglas para los sistemas de datos relacionales a través de su artículo “Un modelo relacional de datos para grandes bancos de datos compartidos”. 8 Este hecho dio paso al nacimiento de la segunda generación de los Sistemas Gestores de Bases de Datos. Como consecuencia de esto, durante la década de 1970, Lawrence J. Ellison, más conocido como Larry Ellison, a partir del trabajo de Edgar F. Codd sobre los sistemas de bases de datos relacionales, desarrolló el Relational Software System, o lo que es lo mismo, lo que actualmente se conoce como Oracle Corporation, desarrollando así un sistema de gestión de bases de datos relacional con el mismo nombre que dicha compañía. Posteriormente en la época de los ochenta también se desarrollará el SQL (Structured Query Language) o lo que es lo mismo un lenguaje de consultas o lenguaje declarativo de acceso a bases de datos relacionales que permite efectuar consultas con el fin de recuperar información de interés de una base de datos y hacer cambios sobre la base de datos de forma sencilla; además de analiza grandes cantidades de información y permitir especificar diversos tipos de operaciones frente a la misma información, a diferencia de las bases de datos delos años ochenta que se diseñaron para aplicaciones de procesamiento de transacciones 9 Pero cabe destacar que ORACLE es considerado como uno de los sistemas de bases de datos más completos que existen en el mundo, y aunque su dominio en el mercado de servidores empresariales ha sido casi total hasta hace relativamente poco, actualmente sufre la competencia del SQL Server de la compañía Microsoft y de la oferta de otros Sistemas Administradores de Bases de Datos Relacionales con licencia libre como es el caso de PostgreSQL, MySQL o Firebird que aparecerían posteriormente en la década de 1990. Década de 1980 Por su parte, a principios de los años ochenta comenzó el auge de la comercialización de los sistemas relacionales, y SQL comenzó a ser el estándar de la industria, ya que las bases de datos relacionales con su sistema de tablas (compuesta por filas y columnas) pudieron competir con las bases jerárquicas y de red, como consecuencia de que su nivel de programación era sencillo y su nivel de programación era relativamente bajo. Década años 1990 En la década de 1990 la investigación en bases de datos giró en torno a las bases de datos orientadas a objetos. Las cuales han tenido bastante éxito a la hora de gestionar datos complejos en los campos donde las bases de datos relacionales no han podido desarrollarse de forma eficiente. Así se desarrollaron herramienta como Excel y Access del paquete de Microsoft Office que marcan el inicio de las bases de datos orientadas a objetos. 10 Así se creó la tercera generación de sistemas gestores de bases de datos. Fue también en esta época cuando se empezó a modificar la primera publicación hecha por ANSI del lenguaje SQL y se empezó a agregar nuevas expresiones regulares, consultas recursivas, triggers y algunas características orientadas a objetos, que posteriormente en el siglo XXI volverá a sufrir modificaciones introduciendo características de XML, cambios en sus funciones, estandarización del objeto sequence y de las columnas autonuméricas. Y, además, se creará la posibilidad de que SQL se pueda utilizar conjuntamente con XML, y se definirá las maneras de cómo importar y guardar datos XML en una base de datos SQL. Siglo XXI En la actualidad, las tres grandes compañías que dominan el mercado de las bases de datos son IBM, Microsoft y Oracle. Por su parte, en el campo de internet, la compañía que genera gran cantidad de información es Google. Aunque existe una gran variedad de software que permiten crear y manejar bases de datos con gran facilidad, como por ejemplo LINQ, que es un proyecto de Microsoft que agrega consultas nativas semejantes a las de SQL a los lenguajes de la plataforma .NET. El objetivo de este proyecto es permitir que todo el código hecho en Visual Studio sea también orientado a objetos; ya que antes de LINQ la manipulación de datos externos tenía un concepto más estructurado que orientado a objetos; y es por eso que trata de facilitar y estandarizar el acceso a dichos objetos. 11 Características y arquitectura de sistemas gestores de bases de datos Bases de Datos con estructura jerárquica La estructura jerárquica fue usada en las primeras Bases de Datos. Las relaciones entre registros forman una estructura en árbol. Actualmente las bases de datos jerárquicas más utilizadas son IMS de IBM y el Registro de Windows de Microsoft. Bases de Datos con estructura en red Esta estructura contiene relaciones más complejas que las jerárquicas. Admite relaciones de cada registro con varios que se pueden seguir por distintos caminos. 12 El inventor de este modelo fue Charles Bachman, y el estándar fue publicado en 1969 por CODASYL Bases de Datos con estructura relacional Esta estructura contiene relaciones más complejas que las jerárquicas. Admite relaciones de cada registro con varios que se pueden seguir por distintos caminos. El inventor de este modelo fue Charles Bachman, y el estándar fue publicado en 1969 por CODASYL. Bases de Datos con estructura relacional La estructura relacional es la más extendida hoy en día. Almacena los datos en filas o registros (tuplas) y columnas o campos (atributos). Estas tablas pueden estar conectadas entre sí por claves comunes. Bases de Datos con estructura multidimensional La estructura multidimensional tiene parecidos a la del modelo relacional, pero en vez de las dos dimensiones filas-columnas, tiene N dimensiones. Esta estructura ofrece el aspecto de una hoja de cálculo. 13 Bases de Datos con estructura orientada a objetos La estructura orientada a objetos está diseñada siguiendo el paradigma de los lenguajes orientados a objetos. De este modo soporta los tipos de datos gráficos, imágenes, voz y texto de manera natural. Esta estructura tiene gran difusión en aplicaciones web para aplicaciones multimedia. Sistemas Gestores de Bases de Datos SDBD Por su parte, un sistema de Gestión de Bases de datos es un tipo de software muy específico dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan; o lo quees lo mismo, una agrupación de programas que sirven para definir, construir y manipular una base de datos, permitiendo así almacenar y posteriormente acceder a los datos de forma rápida y estructurada. 14 Hay tres características importantes inherentes a los sistemas de bases de datos: la separación entre los programas de aplicación y los datos, el manejo de múltiples vistas por parte de los usuarios y el uso de un catálogo para almacenar el esquema de la base de datos. En 1975, el comité ANSI-SPARC (American National Standard Institute -Standards Planning and Requirements Committee) propuso una arquitectura de tres niveles para los sistemas de bases de datos, que resulta muy útil a la hora de conseguir estas tres características. El objetivo de la arquitectura de tres niveles es el de separar los programas de aplicación de la base de datos física. En esta arquitectura, el esquema de una base de datos se define en tres niveles de abstracción distintos: Nivel conceptual En el nivel conceptual se describe la estructura de toda la base de datos para una comunidad de usuarios (todos los de una empresa u organización), mediante un esquema conceptual. Este esquema oculta los detalles de las estructuras de almacenamiento y se concentra en describir entidades, atributos, relaciones, operaciones de los usuarios y restricciones. En este nivel se puede utilizar un modelo conceptual o un modelo lógico para especificar el esquema. Nivel interno Se describe la estructura física de la base de datos mediante un esquema interno. Este esquema se especifica mediante un modelo físico y describe todos los detalles para el almacenamiento de la base de datos, así como los métodos de acceso. 15 Nivel externo Nivel de abstracción que permite definir las informaciones a las que pueden acceder los usuarios o aplicaciones de una base de datos, y en el que las vistas que se definen vienen en función de las entidades y relaciones definidas en el nivel conceptual de la base de datos. Hay que destacar que los tres esquemas no son más que descripciones de los mismos datos, pero con distintos niveles de abstracción. Los únicos datos que existen realmente están a nivel físico, almacenados en un dispositivo como puede ser un disco. En un SGBD basado en la arquitectura de tres niveles, cada grupo de usuarios hace referencia exclusivamente a su propio esquema externo. Por lo tanto, el SGBD debe transformar cualquier petición expresada en términos de un esquema externo a una petición expresada en términos del esquema conceptual, y luego, a una petición en el esquema interno, que se procesará sobre la base de datos almacenada. Si la petición es de una obtención (consulta) de datos, será preciso modificar el formato de la información extraída de la base de datos almacenada, para que coincida con la vista externa del usuario. El proceso de transformar peticiones y resultados de un nivel a otro se denomina correspondencia o transformación. Estas correspondencias pueden requerir bastante tiempo, por lo que algunos SGBD no cuentan con vistas externas. 16 Ventajas de los Sistemas Gestores de Bases de Datos Las bases de datos son un elemento fundamental en el entorno informático hoy en día y, tienen aplicación en la práctica total de campos. Concebidas con un propósito general, son de utilidad para toda disciplina o área de aplicación en la que exista una necesidad de gestionar datos, entre más voluminosos sean estos. En nuestro ámbito particular de los SIG, los datos son cada día más voluminosos, debido no solo a una mayor cantidad de información, sino también a una mayor precisión en esta, la cual implica un mayor volumen de datos. Además, presentan otra serie de características (uso múltiple, necesidad de acceso eficiente para análisis, necesidad de indexación, etc.), haciendo todas ellas que sea recomendable el uso de bases de datos y tecnologías específicas para su manejo. Un sistema gestor de bases de datos (SGBD) consiste en una colección de datos interrelacionados y un conjunto de programas para acceder a dichos datos. La colección de datos, normalmente denominada base de datos, contiene información relevante para una empresa. El objetivo principal de un SGBD es proporcionar una forma de almacenar y recuperar la información de una base de datos de manera que sea tanto práctica como eficiente. Los sistemas de bases de datos se diseñan para gestionar grandes cantidades de información. La gestión de los datos implica tanto la definición de estructuras para almacenar la información como la provisión de mecanismos para la manipulación de la información. Además, los sistemas de bases de datos deben proporcionar la fiabilidad de la información almacenada, a pesar de las caídas del sistema o los intentos de acceso sin autorización. Si los datos van a ser compartidos entre diversos usuarios, el sistema debe evitar posibles resultados anómalos. Dado que la información es tan importante en la mayoría de las organizaciones, los científicos informáticos han desarrollado un amplio conjunto de conceptos y técnicas para la gestión de los datos. En este capítulo se presenta una breve introducción a los principios de los sistemas de bases de datos. 17 Bibliografía Camps Paré, R., Casillas Santillán, L. A., Costal Costa, D., Gibert Ginestà, M., Martín Escofet, C., & Pérez Mora, O. (2005). Introducción a las bases de datos. Catalunya. Pérez Valdés, D. (26 de octubre de 2007). ¿Qué son las bases de datos? Obtenido de http://www. maestrosdelweb.com/que-son-las-bases-de-datos/