Bases de Datos - Capítulo 1 PDF
Document Details
Uploaded by Deleted User
Tags
Summary
Este documento presenta una introducción a los sistemas de almacenamiento de información, con énfasis en los archivos y sus tipos. Se describen los ficheros de texto y binarios, así como diferentes estructuras de organización de datos. Se proporciona información general sobre los diferentes tipos de archivos, tales como archivos de configuración, de código fuente, de páginas web y de otro tipo.
Full Transcript
Los sistemas de almacenamiento de la información BASES DE DATOS – DAM OBJETIVOS ◦ Analizar los sistemas lógicos de almacenamiento y sus características. ◦ Identificar los distintos tipos de bases de datos. ◦ Reconocer la utilidad de un sistema gestor de base de datos. ◦ Describir la fu...
Los sistemas de almacenamiento de la información BASES DE DATOS – DAM OBJETIVOS ◦ Analizar los sistemas lógicos de almacenamiento y sus características. ◦ Identificar los distintos tipos de bases de datos. ◦ Reconocer la utilidad de un sistema gestor de base de datos. ◦ Describir la función de los elementos de un sistema gestor de base de datos. ◦ Clasificar los sistemas gestores de bases de datos. 1. FICHEROS Un ordenador almacena muchos tipos de información, desde datos administrativos, contables o bancarios hasta música, películas, partidas de videojuegos, páginas webs, etc. Toda la información se almacena en los dispositivos de almacenamiento del ordenador, discos duros dvds, pendrives, etc. Para organizar la información en estos dispositivos, se utilizan los ficheros o archivos. 1. FICHEROS Los ficheros son estructuras de información que crean los sistemas operativos de los ordenadores para poder almacenar datos. Suelen tener un nombre y una extensión, que determina el formato de la información que contiene. 1.1 Tipos de ficheros y formatos El formato y el tipo de fichero determina la forma de interpretar la información que contiene. Lo único que se almacena en un fichero es una ristra de bits (ceros y unos), de forma que es necesaria su interpretación para dar sentido a la información que almacena. 1.1 Tipos de ficheros y formatos Los ficheros se pueden clasificar de muchas formas: ◦ Según su contenido (texto o binario). ◦ Según su organización (secuencial, directa, indexada). ◦ Según su utilidad (maestros, históricos, movimientos). 1.1 Tipos de ficheros y formatos El contenido de un fichero puede ser tratado como texto o como datos binarios. Los bits almacenados en un fichero pueden ser traducidos por el sistema operativo a caracteres alfabéticos y números que entiende el ser humano, o pueden ser tratados como componentes de estructuras de datos más complejas, como ficheros que almacenan sonido, vídeo, imágenes, etc. 1.1 Tipos de ficheros y formatos La organización de un fichero indica la forma en la que se acceden a los datos. Los datos de un fichero con organización secuencial, están dispuestos siguiendo una secuencia ordenada, es decir, unos detrás de otros. Para poder llegar a un dato, tenemos que recorrer todos los anteriores. 1.1 Tipos de ficheros y formatos Los ficheros con organización directa, permiten acceder a un dato en concreto sin necesidad de acceder a todos los anteriores. Los ficheros de organización indexada acceden a los datos consultando un índice, es decir, una estructura de datos que permite acceder a la información rápidamente. Existen variantes que mezclan las mejores características de cada una de ellas. 1.1 Tipos de ficheros y formatos La utilidad de un fichero indica qué uso se va a hacer de él. Ejemplo: un fichero puede contener datos fundamentales para la organización, como los datos de los clientes, que se almacenan en un fichero principal llamado maestro. Si hay variaciones (altas, bajas o modificaciones de clientes) en los ficheros maestros, se almacenan en los llamados ficheros de movimientos que posteriormente se enfrentan con los maestros para incorporar las modificaciones. Finalmente, los datos que ya no son necesarios, pasan a formar parte de los ficheros históricos. 1.2 Ficheros de texto Los ficheros de texto también se llaman ficheros planos o ficheros ascii (American Standard Code for Information Interchange). El código ascii es un estándar que asigna un valor numérico a cada carácter. Se caracteriza por utilizar 1 byte para la representación de cada carácter. Con esto se pueden representar hasta 256 caracteres, que aparecen numerados en la tabla de códigos ascii del 0 al 255. 1.2 Ficheros de texto Los ficheros de texto, aunque no necesitan un formato para se interpretado, suelen tener extensiones para conocer qué tipo de texto se halla dentro del fichero, por ejemplo: ◦ Ficheros de configuración: Son ficheros cuyo contenido es texto sobre configuraciones del sistema operativo o de alguna aplicación. Pueden tener extensión.ini,.inf,.conf 1.2 Ficheros de texto Ficheros de código fuente: Su contenido es texto con programas informáticos. Ejemplos:.sql,.c,.java Ficheros de páginas web: Las páginas webs son ficheros de texto con hipertexto que interpreta el navegador..html,.php,.css,.xml Ficheros enriquecidos: Son textos que contienen códigos de control ara ofrecer una visión del texto más elegante:.rtf,.ps,.tex 1.3 Ficheros binarios Los ficheros binarios son todos los que no son de texto, y requieren un formato para ser interpretado. Algunos tipos de formatos de ficheros binarios son: ◦ De imagen:.jpg,.gif,.tiff,.bmp,.wmf,.png,.pcx; entre muchos otros. ◦ De vídeo:.mpg,.mov,.avi,.qt ◦ Comprimidos o empaquetados:.zip,.Z,.gz,.tar,.lhz ◦ Ejecutables o compilados:.exe,.com,.cgi,.o,.a ◦ Procesadores de textos:.doc,.odt 1.3 Ficheros binarios Generalmente, los ficheros que componen una base de datos son de tipo binario, puesto que la información que hay almacenada en ellos debe tener una estructura lógica y organizada para que las aplicaciones puedan acceder ella de manera universal, es decir, siguiendo un estándar. Esta estructura es muy difícil de expresar mediante ficheros de texto, por tanto, la información de una base de datos se suele guardar en uno o varios ficheros: 1.3 Ficheros binarios El software de gestión de datos Oracle guarda la información en múltiples ficheros, llamados „datafiles‟, „tempfiles‟, „logfiles‟, etc Access guarda toda la información de una base de datos con extensión „mdb‟. 2. BASES DE DATOS Una base de datos es una colección de información perteneciente a un mismo contexto (o problema), que está almacenada de forma organizada en ficheros. Una base de datos está organizada mediante tablas, que almacenan información concerniente a algún objeto o suceso. 2. BASES DE DATOS Estas tablas se relacionan formando vínculos o relaciones entre ellas. Cada una de estas tablas está dispuesta en filas y columnas. Cada fila almacena un registro con tantos campos como columnas tenga la tabla. 2.1 Conceptos Dato: Trozo de información concreta sobre algún concepto o suceso. Tipo de Dato: El tipo de dato indica la naturaleza del campo. Así se pueden tener datos numéricos, que son aquellos con los que se pueden realizar cálculos aritméticos (sumas, restas, multiplicaciones…) y los datos alfanuméricos, que son los que contienen caracteres alfabéticos y dígitos numéricos. 2.1 Conceptos Campo: Es un identificador para toda una familia de datos. Cada campo pertenece a un tipo de datos. Por ejemplo, el campo “Fecha de Nacimiento” representa las fechas de nacimiento de las personas que hay en la tabla. Al campo también se le llama columna. Registro: Es una recolección de datos referentes a un mismo concepto o suceso. A los registros también se les llama tuplas o filas. 2.1 Conceptos Campo Clave: Es un campo especial que identifica de forma única a cada registro. Tabla: Es un conjunto de registros bajo un mismo nombre que representa el conjunto de todos ellos. Consulta: Es una petición para hacer peticiones a una base de datos. Puede ser una búsqueda simple de un registro específico o una solicitud para seleccionar todos los registros que satisfagan un conjunto de criterios. 2.1 Conceptos Índice: Es una estructura que almacena los campo clave de una tabla organizándolos para hacer más fácil encontrar y ordenar los registros de esa tabla. ◦ Tiene un funcionamiento similar al índice de un libro, guardando parejas de elementos: el elemento que se desea indexar y su posición en la base de datos. ◦ Para buscar un elemento que esté indexado, solo hay que buscar en el índice de dicho elemento para, una vez encontrado, devolver el registro que se encuentre en la posición marcada por el índice. 2.1 Conceptos Vista: Es una transformación que se hace a una o más tablas para obtener una nueva tabla. Esta nueva tabla es una tabla virtual, es decir, no está almacenada en los dispositivos de almacenamiento del ordenador, aunque sí se almacena su definición. Informe: Es un listado ordenado de los campos y registros seleccionados en un formato fácil de leer. P.ej: un informe de las facturas impagadas del mes de enero ordenado por nombre de cliente. 2.1 Conceptos Guiones o scripts: Son un conjunto de instrucciones, que ejecutadas de forma ordenada, realizan operaciones avanzadas de mantenimiento de los datos almacenados en la base de datos. Procedimientos: Son un tipo especial de script que está almacenado en la base de datos y que forma parte de su esquema. 2.2 Estructura de una base de datos Una base de datos almacena los datos a través de un esquema. El esquema es la definición de la estructura donde se almacenan los datos, contiene todo lo necesario para organizar la información mediante tablas, registros (filas) y campos (columnas). También contiene otros objetos necesarios para el tratamiento de los datos (procedimientos, vistas, índices, etc). Al esquema también se le suele llamar metainformación, es decir, información sobre la información o metadatos. 2.3 Usos de las bases de datos Algunos ejemplos de sus usos más frecuentes: ◦ Bases de datos Administrativas: Cualquier empresa necesita registrar y relacionar sus clientes, pedidos, facturas, productos, etc.. ◦ Bases de datos Contables: También es necesario gestionar los pagos, balances de pérdidas y ganancias, patrimonio, declaraciones de hacienda… 2.3 Usos de las bases de datos Bases de datos para motores de búsquedas: Por ejemplo Google y Altavista, tienen una base de datos gigantesca donde almacenan información sobre todos los documentos de Internet. Científicas: Recolección de datos climáticos y medioambientales, químicos, genómicos, geológicos… 2.3 Usos de las bases de datos Bibliotecas: Almacenan información bibliográfica, por ejemplo, la famosa tienda virtual de amazon o la biblioteca de un instituto. Censos: Guardan información demográfica de pueblos, ciudades y países. Virus: Los antivirus guardan información sobre todos los potenciales software maliciosos. Otros muchos usos: Militares, videojuegos, deportes, etc. 2.4 Evolución y tipos de base de datos Según ha ido avanzando la tecnología, las bases de datos han mejorado cambiando la forma de representar y extraer la información. En la década de los 50 se inventan las cintas magnéticas, que solo podían ser leídas de forma secuencial y ordenadamente. Estas cintas almacenaban ficheros con registros que se procesaban secuencialmente. Estos sistemas se conocen como aplicaciones basadas en sistemas de ficheros y constituyen la generación cero de las bases de datos, pues ni siquiera entonces existía el concepto de base de datos. 2.4 Evolución y tipos de base de datos En la década de los 60 se generaliza el uso de discos magnéticos, cuya característica principal es que se podía acceder de forma directa a cualquier parte de los ficheros, sin tener que acceder a todos los datos anteriores. Aparecen las bases de datos jerárquicas y en red que estructuran la información en forma de listas enlazadas y árboles de información. 2.4 Evolución y tipos de base de datos Edgar Frank Codd, científico informático inglés de IBM, publica en 1970 un artículo „Un modelo relacional de datos para grandes bancos de datos compartidos‟, donde definió el modelo relacional, basado en la lógica de predicados y la teoría de conjuntos. Nacieron de esta forma, las bases de datos relacionales, o segunda generación de bases de datos. Hoy en día, el modelo relacional de Codd, sigue siendo el más utilizado a todos los niveles. 2.4 Evolución y tipos de base de datos En la década de 1980 IBM lanza su motor de bases de datos DB2, para la plataforma MVS. Unos años desués, IBM crea el SQL (Structured Query Language), un potente lenguaje de consultas para manipular información de bases de datos relacionales. 2.4 Evolución y tipos de base de datos A finales de 1990 IBM y Oracle incorporar a sus bases de datos la capacidad de manipular objetos, creando así, las bases de datos orientadas a objetos. En lugar de almacenar relaciones y tablas, se almacenan colecciones de objetos que, además de información, tienen comportamientos. 2.4 Evolución y tipos de base de datos La aparición de Internet y el comienzo de la era de la información, crean nuevos requerimientos para bases de datos. La cantidad de información comienza a crecer en proporciones desconocidas hasta el momento. De esta forma, se crean las bases de datos distribuidas, que consisten en multiplicar el número de ordenadores que controlan una base de datos (llamados nodos), intercambiándose información y actualizaciones a través de la red. 3. Los Sistemas Gestores de Bases de Datos (SGBD) Se define un Sistema Gestor de Base de Datos, como el conjunto de herramientas que facilitan la consulta, uso y actualización de una base de datos. Un ejemplo de SGBD es Oracle 11g, que incorpora un conjunto de herramientas software que son capaces de estructurar en múltiples discos duros los ficheros de una base de datos, permitiendo el acceso a sus datos tanto a partir de herramientas gráficas como a partir de potentes lenguajes de programación (PL-SQL, php, C++ …) 3.1 Funciones de un SGBD Permiten a los usuarios almacenar datos, acceder a ellos y actualizarlos de forma sencilla y con gran rendimiento, ocultando la complejidad y las características físicas de los dispositivos de almacenamiento. Garantizan la integridad de los datos. Es decir, no permiten operaciones que dejen cierto conjunto de datos incompletos o incorrectos. 3.1 Funciones de un SGBD Integran, junto con el sistema operativo, un sistema de seguridad que garantiza el acceso a la información exclusivamente a aquellos usuarios que dispongan de autorización. Proporcionan un diccionario de metadatos, que contiene el esquema de la base de datos, es decir, cómo están estructurados los datos en tablas, registros y campos, las relaciones entre los datos, usuarios, permisos, etc. Este diccionario debe ser también accesible de la misma forma sencilla que es posible acceder al resto de datos. 3.1 Funciones de un SGBD Permiten el uso de transacciones, garantizan que todas las operaciones de la transacción se realicen correctamente, y en caso de alguna incidencia, deshacen los cambios sin ningún tipo de complicación adicional. Ofrecen, mediante completas herramientas, estadísticas sobre el uso del gestor, registrando operaciones efectuadas, consultas solicitadas, operaciones fallidas y cualquier tipo de incidencia. 3.1 Funciones de un SGBD Permiten la concurrencia, es decir, varios usuarios trabajando sobre un mismo conjunto de datos. Proporcionan mecanismos que permiten arbitrar operaciones conflictivas en el acceso o modificación de un dato al mismo tiempo por parte de varios usuarios. Independizan los datos de la aplicación o usuario que esté utilizándolos haciendo más fácil su migración a otras plataformas. 3.1 Funciones de un SGBD Ofrecen conectividad con el exterior. De esta manera, se puede replicar y distribuir bases de datos. Además, todos los SGBD incorporan herramientas estándar de conectividad. El protocolo ODBC (Open Database Connectivity, estándar de acceso desarrollado por Microsoft), está muy extendido como forma de comunicación entre bases de datos y aplicaciones externas. 3.1 Funciones de un SGBD Incorporan herramientas para la salvaguarda y restauración de la información en caso de desastre. Algunos sistemas gestores tienen sofisticados mecanismos para poder establecer el estado de una base de datos en cualquier punto anterior en el tiempo. Además, deben ofrecer sencillas herramientas para la importación y exportación automática de la información. 3.2 El lenguaje SQL La principal herramienta de un gestor de base de datos es la interfaz de programación con el usuario. Este interfaz consiste en un lenguaje muy sencillo mediante el cual el usuario realiza preguntas al servidor contestando esta a las demandas del usuario. Este lenguaje se denomina SQL, está estandarizado por la ISO (International Organization for Standardarization), es decir, todas las bases de datos que soporten SQL deben tener la misma sintaxis a la hora de aplicar el lenguaje. 3.2 El lenguaje SQL Se divide en 4 sublenguajes, el total de todos ellos permite al SGBD cumplir con las funcionalidades requeridas por CODD: Lenguaje DML: Lenguaje de manipulación de datos. Este lenguaje permite con 4 sencillas sentencias seleccionar determinados datos (SELECT), insertar datos (INSERT), modificarlos (MODIFY) o incluso borrarlos (DELETE). 3.2 El lenguaje SQL Lenguaje DDL: Lenguaje de definición de datos. Permite crear toda la estructura de una base de datos. Lenguaje DCL: Lenguaje de control de datos. Incluye comandos (GRANT y REVOKE) que permiten al administrador gestionar el acceso a los datos contenidos en la base de datos. 3.2 El lenguaje SQL Lenguaje TCL: Lenguaje de control de transacciones. El propósito de este lenguaje es permitir ejecutar varios comandos de forma simultánea como si fuera un comando atómico o indivisible. Si es posible ejecutar todos los comandos, se aplica la transacción (COMMIT), y si, en algún paso de la ejecución, sucede algo inesperado, se pueden deshacer todos los pasos dados (ROLLBACK). 3.3 Tipos de SGBD SGBD ofimáticas: Aquellos que manipulan bases de datos pequeñas orientadas a almacenar datos domésticos o de pequeñas empresas. Un ejemplo sería Access. SGBD corporativas: Son aquellas que tienen la capacidad de gestionar bases de datos enormes, de grandes o medianas empresas con una carga de datos y transacciones que requieren un servidor de grandes dimensiones. 3.3 Tipos de SGBD Estos gestores son capaces de manipular grandes cantidades de datos de forma muy rápida y eficiente para poder resolver la demanda de muchos usuarios. Un ejemplo típico de este tipo de SGBD es Oracle junto con DB2 (servidor de base de datos más potente del mercado y también el más caro). 3.3 Tipos de SGBD Entre las soluciones intermedias se encuentra MySQL, un gestor de base de datos que, además de ser gratuito y sencillo, es capaz de manipular gran cantidad de datos.