TEMA 7 Archivos y Bases de Datos © Á lvarez, S., Bravo, S., Departamento de Informática y autom ática Universidad de Salamanca Introducción n Anteriormente a la explosión de la informática, el almacenamiento de los archivos consistía generalmente en el mantenimiento de una colección de fichas con datos. n Éstas fichas se colocaban en armarios o ficheros, y cuando era preciso consultar la información de alguna se debía hacer de forma manual, buscando la ficha. n Desde la llegada de la informática, este proceso se ha automatizado, ganando en rapidez, calidad y fiabilidad. n La utilización de las computadoras en la administración de las empresas ha supuesto una revolución respecto al almacenamiento y gestión de sus datos, dando lugar al uso de los denominados archivos informáticos y bases de datos. © Álvarez, S., Bravo, S. Universidad de Salamanca -2- 1 Archivos n Un archivo o fichero es colección de información (datos relacionados entre sí), almacenada como una unidad en la computadora. n Los archivos son el conjunto organizado de informaciones del mismo tipo, que pueden utilizarse en un mismo tratamiento, como soporte mate rial de estas informaciones n Archivos y registros é Los archivos como colección de datos sirven para la E/S a la computadora y son manejados con programas. é Un registro lógico (registro), es cada uno de las componentes del archivo, conteniendo el conjunto de informaciones que se acceden y se tratan de manera unitaria é Cada registro está constituido por uno o más elementos denominados campos, que pueden ser de diferentes tipos y que a su vez pueden estar compuestos por subcampos. é Los bloques son la cantidad de información que se transfiere físicamente en cada operación de acceso (R o W) sobre el exterior. Ø Un bloque puede tener uno o más registros (registros bloqueados) Ø Un registro ocupe más de un bloque (registros expandidos). © Álvarez, S., Bravo, S. Universidad de Salamanca -3- Características de los Archivos n Las principales características que diferencian esta estructura de datos de las restantes son las siguientes: é Residencia en soportes de información externos, también denominados memoria secundaria o auxiliar, como son las cintas y discos. é Independencia respecto de los programas, lo que significa que la vida del archivo no está limitada por la vida del programa que lo creó, y también que en diferentes momentos pueden utilizar el mismo archivo diferentes programas. é Permanencia de las informaciones almacenadas, es decir, toda la información almacenada en la memoria central desaparece cuando se termina la ejecución del programa que la maneja, pero para hacer desaparecer un archivo será necesario realizar explícitamente una operación de borrado. é Gran capacidad de almacenamiento: teóricamente esta capacidad es ilimitada. Por el contrario, las estructuras de datos que residen en la memoria central tienen limitado su tamaño por la capacidad de ésta. © Álvarez, S., Bravo, S. Universidad de Salamanca -4- 2 Organizaci ón de archivos n Existen tres tipos de organización de archivos: é Organización secuencial: Ø Es aquella en la cual los registros ocupan posiciones consecutivas de memoria, y sólo se puede acceder a ellos de uno en uno a partir del primero. Ø En un archivo secuencial no se pueden hacer operaciones de escritura cuando se está leyendo, ni operaciones de lectura cuando se está escribiendo. Ø Para actualizarlos es preciso crear nuevos archivos donde se copien registros que vayan a permanecer, modificados o no, junto con los nuevos. © Álvarez, S., Bravo, S. Universidad de Salamanca -5- Organizaci ón de archivos é Organización directa o aleatoria: Ø Los datos se colocan y se acceden de forma aleatoria mediante su posición, es decir, indicando el lugar relativo que ocupan dentro del conjunto de posiciones posibles. Ø En esta organización se pueden leer y escribir registros, en cualquier orden y en cualquier lugar. Presenta el inconveniente de que es tarea del programador establecer la relación entre la posición que ocupa un registro y su contenido. Además puede desaprovecharse parte del espacio destinado al archivo, ya que pueden quedar huecos libres entre unos registros y otros. Su principal ventaja es la rapidez de acceso a un registro cualquiera, puesto que no es preciso pasar por los registros anteriores. © Álvarez, S., Bravo, S. Universidad de Salamanca -6- 3 Organizaci ón de archivos é Organización secuencial indexada: Ø Un archivo con esta organización consta de tres áreas: – © Álvarez, S., Bravo, S. Á rea de índices, área primaria y área de excedentes. Universidad de Salamanca -7- Modos de acceso n Se denomina modo de acceso a la forma en que el dispositivo que maneja el soporte al que accedemos se posiciona en un determinado lugar del mismo para realizar una operación de lectura o escritura de un registro. n Es determinado por el programador de la aplicación en función del soporte utilizado y del tipo de organización. n Hay dos modos básicos: é Acceso secuencial a un registro supone acceder inicialmente al primer registro del archivo y después, consecutivamente, a todos los sucesivos hasta llegar al registro deseado. Se puede utilizar con cualquier soporte y orga nización. é Acceso directo solamente se puede dar en los soportes direccionales, como los discos magnéticos, y consiste en el posicionamiento sobre cualquier registro sin necesidad de haber accedido antes a los anteriores. © Álvarez, S., Bravo, S. Universidad de Salamanca -8- 4 Operaciones sobre archivos n Creación é Consiste en la escritura o grabación en un soporte determinado de todos los registros que van a formar el archivo. Los datos pueden ser introducidos desde un teclado, pueden proceder de otro archivo o ser obtenidos como resultado de algún proceso. n Copia é Es una de las operaciones más usadas y consiste en crear un nuevo archivo como duplicación de otro existente. La copia puede realizarse en el mismo o en diferente soporte de información. Un caso particular de esta operación es la impresión de un archivo n Consulta n Clasificación u ordenación é Se realiza para obtener el contenido de uno o varios registros. En muchos casos irá precedida de una b úsqueda de los mismos. é Es la operación consistente en reubicar los registros de tal forma que queden ordenados con respecto a los valores de un campo que denominamos clave de ordenación. En un archivo clasificado serán mucho más rápidas las consultas que se realicen por medio del campo que rige la ordenación. Por ejemplo, será muy útil clasificar alfabéticamente el archivo de alumnos por el campo nombre, ya que la mayoría de las consultas se harán utilizando este campo. n Concatenaci ón é Dados dos archivos con registros de igual estructura, se trata d e obtener uno solo en que figuren todos los registros del primero y a continuac ión todos los del segundo. Esta operació n se puede generalizar para más de dos archivos. © Álvarez, S., Bravo, S. Universidad de Salamanca -9- Operaciones sobre archivos n Intersección é Dados dos archivos de igual estructura, se trata de obtener otro en que figuren los registros comunes a ambos. n Fusión o mezcla é A partir de dos archivos de igual estructura clasificados por un mismo campo, se obtiene como resultado un archivo que contiene los registros de ambos y que mantiene la ordenació n. n Partición é Consiste en descomponer un archivo en dos, atendiendo a alguna c aracterística de su registro. n Actualizaci ón é Es la operación de modificar un archivo de situació n por medio de un archivo de movimientos, conteniendo altas, bajas y modificaciones que hay q ue realizar sobre el archivo maestro para ponerlo al día. n Reorganización é Operación consistente en reubicar los registros de un archivo que ha sufrido actualizaciones, de tal manera que se ocupen de los posibles huecos libres intermedios resultantes de bajas de registros para optimizar la ocupación de la memoria, liberando la que no estaba aprovechada. n Borrado é Eliminació n total del archivo, cuando ya no se necesite, dejando libre el espacio de la memoria que ocupaba en el soporte utilizado. © Álvarez, S., Bravo, S. Universidad de Salamanca -10- 5 Bases de datos: introducción n La gestión de archivos físicos, por lo general, es insuficiente gestionar la información de una entidad é ocupan demasiado espacio físico é su búsqueda es lenta é su actualización y optimización es complicada é los archivos pueden estar dispersos por los distintos departamentos (esto puede ocasionar repeticiones o carencias de archivos) é los métodos para controlar la seguridad son muy complejos n Las bases de datos informáticas pretenden solucionar todos estos problemas © Álvarez, S., Bravo, S. Universidad de Salamanca -11- Bases de datos n Una base de datos es un conjunto integrado de datos interrelacionados, junto con una serie de aplicaciones para su manejo, accesibles simultáneamente por diferentes usuarios y programas. n Las características que ha de presentar una base de datos son las siguientes: é é é é Control centralizado de los datos Integridad de los datos Minimización de las repeticiones Independencia de los datos y las aplicaciones é é é é é Acceso concurrente a los datos Coste mínimo de almacenamiento y mantenimiento Versatilidad para la representación de relaciones. Establecimiento de medidas de seguridad. Facilidad para el cambio, actualización y optimización © Álvarez, S., Bravo, S. Universidad de Salamanca -12- 6 Estructura y arquitectura de una base de datos n Una BBDD almacena información de objetos de datos: entidades, relaciones, índices, consultas, formularios, reportes, etc. n Cada entidad tiene una serie de atributos (campos) y un contenido determinado. n Para facilitar acceso rápido a los registros de cada entidad se puede crear una determinada clave asociada a archivos de índice n Los programas que permiten gestionar las bases de datos se denominan SGBD (Sistemas de Gestión de Base de Datos). n Un SGBD es que puede trabajar con diferentes bases de datos, por ejemplo: Almacén, Biblioteca, Agenda, etc. n No confundir el concepto de BBDD (entidades u objetos de información) con el SGBD (programa que maneja la base de datos, también denominado “gestor” ó “motor” de base de datos). n Ejemplos: Oracle , Ms access. © Álvarez, S., Bravo, S. Universidad de Salamanca -13- Tipos de bases de datos n Base de datos jerárquica é Una base de datos de tipo jerárquico utiliza jerarquías o árboles para la representación lógica de los datos. Los archivos son organizados en jerarquías, y normalmente cada uno de ellos se corresponde con una de las entidades de la base de datos. Los árboles jerárquicos se representan de forma invertida, con la raíz hacia arriba y las hojas hacia abajo. © Álvarez, S., Bravo, S. Universidad de Salamanca -14- 7 Tipos de bases de datos n Base de datos de red é Fue el resultado de estandarización del comité CODASYL. é El modelo de red intenta superar las deficiencias del enfoque jerárquico, permitiendo el tipo de relaciones de muchos a muchos, mediante la estructura de red o grafo. é Una estructura de datos en red, o estructura plex, es muy similar a una estructura jerárquica, de hecho no es más que un superconjunto de ésta. Al igual que en la estructura jerárquica, cada nodo puede tener varios hijos, pero a diferencia de ésta, también puede tener varios padres. © Álvarez, S., Bravo, S. Universidad de Salamanca -15- Tipos de bases de datos n Base de datos relacional é Las bases de datos relacionales son las más conocidas y utilizadas, tanto por su sencillo manejo, como por estar al alcance de todo tipo de usuarios, al estar muy difundidas. é En una base de datos relacional, el objetivo es que el usuario vea las bases de datos como una estructura lógica de relaciones (tablas), simple y uniforme. Una relación o tabla se compone de: © Álvarez, S., Bravo, S. Universidad de Salamanca -16- 8 Tipos de bases de datos é Los sistemas relacionales ofrecen muchos tipos de procesos de datos, como: simplicidad y generalidad, facilidad de uso para el usuario final, períodos cortos de aprendizaje y consultas de información especificadas de una forma muy sencilla. é Las BBDD relacionales están constituidas por una o más tablas que contienen la información ordenada de una forma organizada. é Las tablas son un medio de representar la información de una forma más compacta y es posible acceder a la información contenida en dos o más tablas. é Cumplen las siguientes leyes básicas: Ø Generalmente, contendrán varias tablas. Ø Una tabla s ólo contiene un número fijo de campos. Ø El nombre de los campos de una tabla es distinto. Ø Cada registro de la tabla es único. Ø El orden de los registros y de los campos no está determinados. Ø Para cada campo existe un conjunto de valores posible © Álvarez, S., Bravo, S. Universidad de Salamanca -17- Tipos de bases de datos é En las tablas, las filas representan registros (conjuntos de datos acerca de elementos separados) y las columnas representan campos (atributos particulares de un registro). é Al realizar las búsquedas, una base de datos relacional hace coincidir la información de un campo de una tabla con información en el campo correspondiente de otra tabla y con ello produce una tercera tabla que combina los datos solicitados de ambas tablas. © Álvarez, S., Bravo, S. Universidad de Salamanca -18- 9 Tipos de bases de datos é En estas BBDD las operaciones permitidas son básicamente las de actualización, es decir, inserción, borrado y modificación de las mismas, y también la consulta. é La base de todas operaciones reside en el álgebra relacional. Para todo ello se emplean lenguajes relacionales como el SQL, y el tratamiento de las bases debe cumplir unas reglas de integridad. é Estas reglas de integridad consisten en evitar que el modelo represente plausiblemente a la realidad, evitando incoherencias. é También recogen la unicidad de la clave primaria, su entidad, la integridad del dominio y la integridad referencial é Las ventajas de una base de datos relacional son: Ø Compatibilidad y estandarización. Ø Fiabilidad. Ø Garantía de independencia de los datos. Ø Existencia de numerosos sistemas comerciales entre los que escoger y consiguiente apoyo t écnico. Ø Conectividad garantizada con los lenguajes de programació n estándar © Álvarez, S., Bravo, S. Universidad de Salamanca -19- Tipos de bases de datos é Desventajas o limitaciones (que conlleva la adopción un modelo de datos con una veintena de años): Ø Imposibilidad de representar conocimiento en forma de reglas. Ø Inexistencia de mecanismos de herencia de propiedades (y por supuesto demétodos). Ø Falta de poder expresivo (por ejemplo, para representar jerarquías). Ø Dificultad para gestionar datos no atómicos (por ejemplo, los valores estructurados de una estructura de rasgos). Ø Incompatibilidad entre los tipos de estructuras de datos que se transfieren o inadaptación de impedancia (impedance mismatch). é Una BBDD supone una plataforma estable y compatible, con limitaciones en sus capacidades y poder expresivo. é En esta situación se piensa que un cuidado diseño (modelado conceptual) puede vencer muchas de estas desventajas y aprovechar al máximo todas las ventajas mencionadas. © Álvarez, S., Bravo, S. Universidad de Salamanca -20- 10 Tipos de bases de datos é El modelo Entidad-Relación (E-R) es un modelo de representación que se utiliza para la representación de las bases de datos relacionales. Fue propuesto por Chen entre los años 1976-1977. é El modelo E-R describe los datos como entidades, relaciones (vínculos) y atributos y permite representar el esquema conceptual de una base de datos de forma gráfica mediante los diagramas E-R. © Álvarez, S., Bravo, S. Universidad de Salamanca -21- Ventajas y desventajas del uso de las bases de datos n La utilización de BBDD como plataforma para el desarrollo de los sistemas de aplicación en las organizaciones se ha incrementado debido a las siguientes ventajas entre otras: é Permiten una globalización de la información: cada usuario recurre y utiliza la información como un recurso corporativo que carece de dueño espec ífico. é Eliminació n de informació n inconsistente: si existen dos o más archivos con la misma información, los cambios que se hagan a éstos deberán hacerse a todas las copias del archivo de facturas. é Las bases de datos permiten compartir todo tipo de informació n contenida en ellas a cualquier usuario que la solicite. é Permite mantener la integridad en la informació n: la integridad de la informació n es una de sus cualidades altamente deseable y tiene por objetivo que s ólo se almacena la información correcta. é Independencia de datos: el concepto de independencia de datos es quizás el que más ha ayudado a la rápida proliferación del desarrollo de sistemas de bases de datos. La independencia de datos implica un divorcio entre programas y datos. é Se evita la redundancia de la información, manteniendo íntegras las bases de datos y bien definidas las tablas. é La última ventaja, y quiz á una de las más importantes: mantienen varios niveles de control y seguridad © Álvarez, S., Bravo, S. Universidad de Salamanca -22- 11 Ventajas y desventajas del uso de las bases de datos n La utilización de BBDD tiene las siguientes desventajas: é Al perder o dañarse la base de datos se hacen irrecuperables las tablas, informes, consultas, etc., que en ella existen. é Al tener una base de datos con demasiada información su acceso se hará más lento y pudiendo influir además su uso simultáneo por varios usuarios. © Álvarez, S., Bravo, S. Universidad de Salamanca -23- Seguridad en las bases de datos n La seguridad de los datos integrados en una base de datos es un concepto que se relaciona directamente con el propio concepto de base de datos. Recordando que una base de datos es un conjunto de datos integrados, adecuado a varios usuarios y a diferentes usos. Es por ello, que el uso de dichos datos plantea problemas de seguridad que el administrador de la base de datos tiene que tratar de solventar. n La protección de dichos datos deberá llevarse a cabo tanto contra fallos físicos como contra fallos humanos. Dichos fallos alteran o destruyen la información, los datos contenidos, por lo que la base de datos perdería su funcionalidad. n Normalmente el SGBD facilita mecanismos para prevenir los fallos (subsistema de control), para detectarlos una vez que han sucedido (subsistema de detección) y para corregir dichos fallos una vez que han sido detectados (subsistema de recuperación). © Álvarez, S., Bravo, S. Universidad de Salamanca -24- 12 Seguridad en las bases de datos n La seguridad en las bases de datos está basada en tres pilares fundamentales: é Accesibilidad: se busca que la información este en todo momento a disposición del usuario. é Confidencialidad: se trata de no desvelar los datos a usuarios no autorizados, incluye la protección de los datos personales que se incluyen en la base de datos. é Integridad: se busca que los datos permanezcan tal y como han sido introducidos por el administrador o los usuarios con derecho a modificación, sin ser falseados. n Las amenazas afectan normalmente a los tres aspectos, por lo que las medidas que se tomen, lógicamente, deberán incluir todos ellos. n Para la toma de dichas medidas también debemos considerar el hardware, el tipo de sistema operativo, la seguridad física de acceso a los equipos, controles organizativos y legales, etc. © Álvarez, S., Bravo, S. Universidad de Salamanca -25- 13