UT 1 - Sistemas de almacenamiento de la informació.pdf

Full Transcript

UT 1 - Sistemas de almacenamiento de la información Jose Medina Velasco ÍNDICE 1. Ficheros. Tipos de ficheros 1. Ficheros de texto 2. Ficheros binarios 2. Sistemas de ficheros 3. Operaciones con ficheros 4. Organización lógica de ficheros 5. Bases de Datos 1. Características exigidas a una BD 2. T...

UT 1 - Sistemas de almacenamiento de la información Jose Medina Velasco ÍNDICE 1. Ficheros. Tipos de ficheros 1. Ficheros de texto 2. Ficheros binarios 2. Sistemas de ficheros 3. Operaciones con ficheros 4. Organización lógica de ficheros 5. Bases de Datos 1. Características exigidas a una BD 2. Tipos de BBDD 3. Niveles de abstracción 4. BBDD distribuida 6. Sistemas Gestores de Bases de Datos 7. Componentes de los SGBD 1. Lenguajes de los SGBD 2. El diccionario de datos 3. El administrador de la BD 2 ÍNDICE 9. Arquitectura de los sistemas de bases de datos 10. Opciones de funcionamiento de un SGBD 1. SGBD monocapa 2. SGBD de dos capas 3. SGBD de tres o más capas 11. Sistemas Gestores de Bases de Datos Comerciales 1. Licencias de software 2. SGBD relacionales de código cerrado 3. SGBD relacionales de código abierto 12. Políticas de fragmentación de la información 13. Legislación vigente sobre protección de datos 14. Conceptos de Big Data y Business Intelligence 3 Ficheros. Tipos de 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. 4 Ficheros. Tipos de ficheros Tradicionalmente, los ficheros se han clasificado de muchas formas: ● ● ● Según su contenido: texto, binario. Según su organización: secuencial, directa, indexada. La organización de un fichero dicta la forma en que se han de acceder a los datos. Según su utilidad: maestro, movimiento, histórico. La utilidad de un fichero indica qué uso se va a hacer de él. 5 Ficheros. Tipos de ficheros Hoy en día estas dos últimas clasificaciones han quedado en desuso. Actualmente un sistema operativo trata un fichero desde dos puntos de vista: ● ● Según su contenido: texto o binario. Según su tipo: imágenes, ejecutables, videos, etc. 6 Ficheros de texto Los ficheros de texto se denominan planos ya que no tienen ningún tipo de formato. Únicamente contienen texto, saltos de línea y la marca de fin de fichero. Suelen estar escritos en formato ASCII, cada carácter se representa mediante un valor numérico. Estos ficheros son generados mediante un editor de texto, NO un "procesador" de textos como Word. 7 Ficheros de texto Los ficheros de texto pueden tener una extensión que identifica su contenido, por ejemplo: ● ● ● Ficheros de configuración, suelen tener extensión, .ini, .inf, .conf,... Ficheros de código fuente, suelen tener extensión, .sql, .c, .java,... Ficheros de páginas web, suelen tener extensión, .html, .php, .xml ,.css,... 8 Ficheros binarios Los ficheros binarios son los que contienen información de cualquier tipo codificada en binario cuyo fin es el almacenamiento y procesamiento en ordenadores. Por ejemplo los archivos informáticos que almacenan texto formateado o fotografías, así como los archivos ejecutables que contienen programas, vídeos. Así tenemos: ● ● ● ● ● Procesadores de texto: .doc, .odt, … Imagen: .bmp, .gif, .jpg,.png, … Ejecutables: .exe, … Vídeo: .avi, .mov, .mpg, … Comprimidos: .tar,.zip, ... 9 Sistemas de ficheros Antes de aparecer los SGBD (década de los setenta), la información se trataba y se gestionaba usando los típicos sistemas de gestión de ficheros. Un conjunto de programas prestan servicio a los usuarios finales. Cada programa define y maneja sus propios datos. Los sistemas de ficheros surgieron al tratar de informatizar el manejo de los archivadores manuales con objeto de proporcionar un acceso más eficiente a los datos. En los sistemas de ficheros, la definición de los datos se encuentra codificada dentro de los programas de aplicación en lugar de almacenarse de forma independiente, y además, el control del acceso y la manipulación de los datos viene impuesto por los programas de aplicación. 10 Sistemas de ficheros Esto supone un gran inconveniente a la hora de tratar grandes volúmenes de información. Surge así la idea de separar los datos contenidos en los archivos de los programas que los manipulan, es decir, que se pueda modificar la estructura de los datos de los archivos sin que por ello se tengan que modificar los programas con los que trabajan. Se trata de estructurar y organizar los datos de forma que se pueda acceder a ellos con independencia de los programas que los gestionan. 11 Sistemas de ficheros Inconvenientes de los sistemas de ficheros ● Separación y aislamiento de los datos. Cuando los datos se separan en distintos ficheros, es más complicado acceder a ellos, ya que el programador de aplicaciones debe sincronizar el procesamiento de los distintos ficheros implicados para asegurar que se extraen los datos correctos. ● Duplicación de datos. La redundancia de datos existente en los sistemas de ficheros hace que se desperdicie espacio de almacenamiento y lo que es más importante, puede llevar a que se pierda la consistencia de los datos. Se produce una inconsistencia cuando copias de los mismos datos no coinciden. 12 Sistemas de ficheros Inconvenientes de los sistemas de ficheros ● Dependencia de datos. Ya que la estructura física de los datos (la definición de los ficheros y de los registros) se encuentra codificada en los programas de aplicación, cualquier cambio en dicha estructura es difícil de realizar. El programador debe identificar todos los programas afectados por este cambio, modificarlos y volverlos a probar. ● Formatos de ficheros incompatibles. Ya que la estructura de los ficheros se define en los programas de aplicación, es completamente dependiente del lenguaje de programación. La incompatibilidad entre ficheros generados por distintos lenguajes hace que los ficheros sean difíciles de procesar de modo conjunto. 13 Sistemas de ficheros Inconvenientes de los sistemas de ficheros ● Los sistemas de ficheros son muy dependientes del programador de aplicaciones, cualquier consulta o informe que se quiera realizar debe ser programado por él. Todo esto fomentó el desarrollo de los SGBD. 14 Sistemas de ficheros Se puede decir que los sistemas de ficheros tienen una orientación al proceso, ya que lo que condiciona los datos es el programa en sí, mientras que una base de datos sería orientada a los datos, ofreciendo esa independencia entre los datos y el programa. 15 Sistemas de ficheros Los parámetros de utilización marcarán la organización interna del fichero, y se tendrán en cuenta para optimizar el tipo de operaciones a las que se van a someter. Son los siguientes: ● ● ● ● Volumen: Es el número de caracteres o bytes que ocupa el archivo, o el límite que puede llegar a ocupar. Crecimiento: Especifica el número de altas y bajas en cada tratamiento del fichero. Actividad: Se refiere al número de procesos de consulta y modificación que sufrirá el fichero a lo largo de su vida. Si va a tener mucha actividad, se elegirá una organización que permita rapidez en las búsquedas. Se usan dos parámetros: ○ Tasa de consulta o modificación: número de registros tratados en cada procesamiento del fichero. ○ Frecuencia de consulta o modificación: número de veces que se procesa el fichero por unidad de tiempo. Volatilidad: Se refiere al número de inserciones y borrados en el tratamiento del fichero. Si se estima alta volatilidad se debe elegir una organización flexible. Hay dos parámetros para medir la volatilidad: ○ Tasa de renovación: número de registros insertados o borrados en el tratamiento del fichero. ○ Frecuencia de renovación: número de veces que se accede al fichero para insertar o borrar por unidad de tiempo. 16 Sistemas de ficheros ¿Cómo podemos localizar registros concretos en un archivo? Pues depende de cómo se estructuren los mismos, en el caso de que un registro siempre se mantenga de tamaño fijo se puede contar desde el principio hasta el final del mismo. En el caso contrario, se pueden utilizar caracteres especiales para indicar inicio y final del registro, e inicio y final de cada campo. 17 Sistemas de ficheros Un campo se define como la menor unidad de información con significado lógico en un fichero. Hay distintos tipos de campos: ● ● Campos de Tamaño Fijo. Siempre ocupan lo mismo, por lo que para leerlos es necesario solo un pequeño cálculo. Campos de tamaño variable: ○ Indicador de longitud de campo al inicio ○ Delimitador al final Un registro está construído como un conjunto de campos que permanecen juntos cuando se observa el fichero con un mayor nivel de abstracción. 18 Operaciones con ficheros Los sistemas informáticos incluyen una serie de programas de utilidad para efectuar operaciones básicas con ficheros, además, existen paquetes de programas específicos llamados sistemas de gestión de ficheros para diseñar y explotar más cómodamente las características de los ficheros. Algunas operaciones son: ● ● ● ● ● ● ● ● ● ● ● ● Creación Apertura: crea estructuras y un buffer para el acceso al fichero Cierre: destrucción de las estructuras de manipulación y actualización de la info del buffer Borrado del fichero: elimina estructura y datos del fichero. Ordenación: según los valores de uno o más campos. Fusión: obtención de un fichero a partir de dos o más con la misma estructura Intersección: crear un fichero a partir de campos comunes de dos o más ficheros Partición: Consiste en obtener varios ficheros de uno solo, según alguna condición Compactación: reorganizado del fichero para eliminar espacios vacios Copia: Creación de un nuevo fichero con los mismos datos y estructura que otro Consulta: Petición para conocer información del fichero Actualización (Inserción, Modificación, Borrado lógico y Borrado real) 19 Organización lógica de ficheros Los ficheros pueden tener distintos tipos de organización interna. Algunas de las más empleadas son: ● ● ● ● Organización secuencial Organización secuencial encadenada Organización de acceso directo o aleatorio Organización secuencial indexada 20 Organización lógica de ficheros Organización secuencial En este caso la información del fichero se escribe en posiciones físicamente contiguas. Para acceder a un dato es necesario recorrer todos los anteriores. Las operaciones que se pueden realizar son: ● ● ● Añadir: sólo al final del fichero Consulta: en orden secuencial Actualización: inserción, modificación y eliminación, se llevan a cabo en un fichero de movimientos independiente, donde se almacenan los cambios, y después se escribe la información en un fichero nuevo y se borra el antiguo. Esta organización aprovecha al máximo el soporte y tiene acceso secuencial muy rápido. Sus problemas son la búsqueda de registros concretos, además de no ser útil con ficheros que se modificarán mucho. 21 Organización lógica de ficheros Ejemplo organización secuencial 22 Organización lógica de ficheros Organización secuencial encadenada Son ficheros cuyos registros, pues no son contiguos. almacenan tanto su dirección y contenido, como la dirección del siguiente registro Las operaciones que se pueden realizar en ellos son: ● ● ● ● ● Añadir: para añadir un registro al final del fichero, se busca el último registro, se escribe el nuevo registro en un espacio libre de memoria y se guarda la dirección en el puntero del antiguo último registro. Consulta: La consulta es secuencial, saltando de registro en registro gracias a los punteros. Inserción: Es un caso general de añadir un registro al final, pues aquí permite insertar un registro en cualquier posición. Hay que actualizar el puntero del registro anterior y direccionar el puntero del nuevo al registro al que apuntaba el registro anterior. Modificación: Si la modificación no modifica longitud del registro, se busca y se cambia el valor. Si no, es necesario insertar un nuevo registro con más espacio y borrar el viejo. Borrado: Para eliminar un registro, se destruye su dirección del puntero anterior, y se hace que este apunte al sucesor del registro que se quiere eliminar. 23 Organización lógica de ficheros Ejemplo organización secuencial encadenada 24 Organización lógica de ficheros Organización directa o aleatoria No tiene por qué existir ninguna relación lógica entre los registros y su dirección física. Su dirección se decide mediante una fórmula matemática. Hay muchos métodos para obtener la dirección de los registros, pero todos toman el valor de un campo y aplican una transformación sobre este para ello, procurando minimizar los sinónimos o colisiones (registros con diferente clave y misma dirección física). Si se detecta un caso, se busca una posición libre en el mismo espacio de fichero, o reserva una zona de desbordamiento donde meter todos. 25 Organización lógica de ficheros Organización directa o aleatoria Algunos de los métodos para elegir dirección son: ● ● ● Direccionamiento directo: asigna a cada clave una dirección lógica. Debe haber tantas direcciones como registros, y las llaves deben ser numéricas. No produce sinónimos. Direccionamiento asociado: cuando son claves alfanuméricas, se construye una tabla y se asocia a cada clave una dirección. Requiere de espacio para la tabla. Direccionamiento calculado (hashing): se aplica una serie de cálculos matemáticos con la clave, puede dar sinónimos: ○ División por un primo: se divide la llave por un número primo del tamaño aproximado de registros y se usa el resto como dirección. ○ Cuadrado de la clave: si la llave es un número pequeño, se eleva al cuadrado y se usan dígitos intermedios como dirección. ○ Truncamiento: Si la clave es un número grande, se usan unos cuántos dígitos como dirección. ○ Plegamiento: si la clave es un número grande, se separa en fragmentos y se suman los valores, dando lugar a la dirección. 26 Organización lógica de ficheros Organización directa o aleatoria Las operaciones que se pueden realizar son: ● ● ● ● Consulta: Se realiza por clave, de manera directa. Si no está el registro en su dirección, se resuelven los posibles sinónimos. Inserción: se calcula la nueva dirección del nuevo registro y si ya está ocupada se resuelve el sinónimo. Modificación: Se localiza el registro y se modifica. Borrado: Siempre es un borrado lógico. Tiene una gran flexibilidad y rapidez de consulta, pero destacan el mal aprovechamiento del espacio y la necesidad de usar dispositivos direccionables. 27 Organización lógica de ficheros Ejemplo organización directa o aleatoria 28 Organización lógica de ficheros Organización secuencial indexada Tiene dos estructuras: ● ● Zona de registros: contiene todos los registros del fichero, ordenados por clave. Zona de índices: Se procesa de forma secuencial, cada registro tiene dos campos, clave y dirección. La zona de registros está dividida en tramos lógicos. Cada tramo tiene una serie de registros consecutivos y para cada tramo hay un registro en la zona de índices, que guarda el valor mayor de cada tramo, y la primera dirección del tramo. 29 Organización lógica de ficheros Organización secuencial indexada Las operaciones que se pueden realizar son: ● ● ● ● Consulta: Pueden ser secuenciales, o por llave. Para la segunda es necesario: ○ Leer secuencialmente las llaves de la zona de índices hasta encontrar una igual o mayor que la buscada, y obtener la dirección de inicio de tramo. ○ Leer secuencialmente el tramo en la zona de registros hasta encontrar el buscado. Inserción: No es posible insertar sin actualizar la zona de índices. Eliminación: sólo está permitido el marcado o borrado lógico. Modificación: sólo están permitidos los cambios si no aumenta la longitud del registro. Es muy útil para combinar consultas a registros concretos y procesamiento secuencial del fichero. Su inconveniente principal es la imposibilidad de introducir nuevos registros sin reorganizar los índices. Existe una mejora llamada organización secuencial indexada encadenada, que añade punteros entre los registros, haciendo que estos mantengan un orden lógico. 30 Organización lógica de ficheros Ejemplo organización indexada En este caso estarían ordenadas las ciudades por orden alfabético 31 Bases de datos Una base de datos es un conjunto de datos almacenados entre los que existen relaciones lógicas y ha sido diseñada para satisfacer los requerimientos de información de una empresa u organización. 32 Bases de datos La base de datos es un gran almacén de datos que se define una sola vez y que se utiliza al mismo tiempo por muchos departamentos y usuarios. Además, la base de datos no sólo contiene los datos de la organización, también almacena una descripción de dichos datos. Esta descripción es lo que se denomina metadatos, se almacena en el diccionario de datos o catálogo y es lo que permite que exista independencia de datos lógica-física. 33 Bases de datos Los sistemas de bases de datos separan la definición de la estructura de los datos de los programas de aplicación. Si se añaden nuevas estructuras de datos o se modifican las ya existentes, los programas de aplicación no se ven afectados ya que no dependen directamente de aquello que se ha modificado. Las bases de datos son sistemas orientados a los datos, estos se almacenan independientemente de las aplicaciones. 34 Bases de datos Al manejar estas Bases de Datos, hay que tener claro conceptos como: ● Dato: Es un trozo de información concreta sobre algún concepto u objeto. ● Tipo de Dato: El tipo de dato indica la naturaleza del campo. Así se puede tener datos numéricos, que son aquellos con los que se pueden realizar cálculos aritméticos y los datos alfanuméricos que son los que contienen caracteres alfabéticos y dígitos numéricos. ● Entidad: Objeto exclusivo único en el mundo real que se está controlando. Algunos ejemplos de entidades son una sola persona, un solo producto o una sola organización. 35 Bases de datos Al manejar estas Bases de Datos, hay que tener claro conceptos como: ● Tipo de entidad: Persona, organización, tipo de objeto o concepto sobre los que se almacena información. Normalmente un tipo de entidad corresponde a una o varias tablas relacionadas en la base de datos. ● Atributo o campo: Característica o rasgo de un tipo de entidad que describe la entidad, por ejemplo, el tipo de entidad Person (Persona) tiene el atributo Date of Birth (Fecha de nacimiento). ● Registro: Representación del almacenamiento de una fila de datos. ● Transacción: Es una interacción con una estructura de datos compleja, compuesta por varios procesos, que debe realizarse de una sola vez. 36 Características exigidas de una BD La tecnología de gestión de bases de datos se halla en una etapa muy madura. Las bases de datos han evolucionado durante los pasados 30 años desde sistemas de archivos rudimentarios hasta sistemas gestores de complejas estructuras de datos que ofrecen un gran número de posibilidades. A continuación veremos una serie de objetivos/requisitos de un buen sistema de base de datos. 37 Características exigidas de una BD Los principales objetivos de un sistema de base de datos son los siguientes: ● Independencia lógica y física de los datos: se refiere a la capacidad de modificar una definición de un esquema en un nivel de la arquitectura sin que esta modificación afecte al nivel inmediatamente superior. Para ello un registro externo en un esquema externo no tiene por qué ser igual a su registro correspondiente en el esquema conceptual. ● Redundancia mínima: se trata de usar la base de datos como repositorio común de datos para distintas aplicaciones. ● Acceso concurrente por parte de múltiples usuarios: control de concurrencia mediante técnicas de bloqueo o cerrado de datos accedidos. ● Distribución espacial de los datos: la independencia lógica y física facilita la posibilidad de sistemas de bases de datos distribuidas. Los datos pueden encontrarse en otra habitación, otro edificio e incluso otro país. El usuario no tiene por qué preocuparse de la localización espacial de los datos a los que accede. 38 Características exigidas de una BD Los principales objetivos de un DBMS son los siguientes: ● Integridad de los datos: se refiere a las medidas de seguridad que impiden que se introduzcan datos erróneos. Esto puede suceder tanto por motivos físicos (defectos de hardware, actualización incompleta debido a causas externas), como de operación (introducción de datos incoherentes). ● Consultas complejas optimizadas: la optimización de consultas permite la rápida ejecución de las mismas. ● Seguridad de acceso y auditoría: se refiere al derecho de acceso a los datos contenidos en la base de datos por parte de personas y organismos. El sistema de auditoría mantiene el control de acceso a la base de datos, con el objeto de saber qué o quién realizó una determinada modificación y en qué momento. ● Respaldo y recuperación: se refiere a la capacidad de un sistema de base de datos de recuperar su estado en un momento previo a la pérdida de datos. ● Acceso a través de lenguajes de programación estándar: se refiere a la posibilidad ya mencionada de acceder a los datos de una base de datos mediante lenguajes de programación ajenos al sistema de base de datos propiamente dicho. 39 Tipos de Bases de Datos Según su flexibilidad de modificación ● Bases de datos dinámicas: Son aquellas donde los datos pueden actualizarse o incluso modificarse. La mayoría puede ser actualizada en tiempo real. ● Bases de datos estáticas: Son bases de datos de consulta cuyos datos no pueden modificarse. 40 Tipos de Bases de Datos Según su forma de organización Hay de varios tipos: ● ● ● ● Bases de datos jerárquicas Bases de datos en red Bases de datos relacionales Bases de datos NoSQL 41 Tipos de Bases de Datos Bases de datos jerárquicas Crean estructuras jerárquicas en forma de árbol. Están formadas por una colección de registros con relaciones de uno a uno o de uno a muchos, pero no de muchos a muchos. Son muy útiles con grandes volúmenes de información y datos compartidos, permitiendo crear estructuras estables y de gran rendimiento. 42 Tipos de Bases de Datos Bases de datos en red Similares a las jerárquicas, permiten cualquier tipo de relación aunque se distingue entre bases de datos en red simple, sin relaciones muchos a muchos, y bases de datos en red complejas. Cualquier sistema es representable en este tipo de base de datos. 43 Tipos de Bases de Datos Bases de datos relacionales Bases de datos formadas por tablas. Si se imponen restricciones a las tablas, se pueden tratar como relaciones matemáticas. El modelo relacional es uno de los más utilizados en el diseño y gestión de bases de datos por su facilidad de entendimiento, diseño, modificación, administración y acceso, además de su lenguaje de definición y manipulación de datos potente y sencillo. 44 Tipos de Bases de Datos Bases de datos relacionales Las relaciones que se pueden dar en una base de datos relacional son las siguientes: ● Relaciones uno a uno, se establecen entre una entidad de una tabla y otra entidad de otra tabla. ● Relaciones uno a muchos, se establecen entre varias entidades de una tabla y una entidad de otra tabla. ● Relaciones muchos a muchos, se establecen entre varias entidades de cada una de las tablas. 45 Tipos de Bases de Datos Bases de datos relacionales: Relaciones uno a uno 46 Tipos de Bases de Datos Bases de datos relacionales: Relaciones uno a muchos 47 Tipos de Bases de Datos Bases de datos relacionales: Relaciones muchos a muchos 48 Tipos de Bases de Datos Bases de datos relacionales: Relaciones muchos a muchos Normalmente se resuelve añadiendo una tabla intermedia 49 Tipos de Bases de Datos Bases de datos relacionales: Relaciones muchos a muchos Otro ejemplo sería la relación entre alumnos y asignaturas, ya que un alumno puede matricularse en muchas asignaturas, y una asignatura puede tener muchos alumnos. 50 Tipos de Bases de Datos Bases de datos relacionales: Relaciones muchos a muchos Para resolverlo, podríamos añadir la tabla intermedia matrícula, que relaciona un alumno con muchas matrículas, y una asignatura con muchas matrículas 51 Tipos de Bases de Datos Bases de datos NoSQL Los sistemas tradicionales son poco eficientes en aplicaciones de uso intensivo, con gran indexado de datos, o de streaming audiovisual. Los sistemas NoSQL permiten servir gran cantidad de carga de lecturas y escrituras. 52 Base de Datos distribuída Es el caso en el que los clientes acceden a datos situados en más de un servidor. La localización de los datos es transparente al usuario. En esta estructura hay un servidor de aplicaciones que recibe las peticiones y las traduce a los distintos servidores de datos para obtener los resultados. Hay sistemas homogéneos, con el mismo SGBD en los servidores, y heterogéneos, con autonomía local de SGBD. 53 Sistemas Gestores de Bases de datos El objetivo primordial de un gestor es proporcionar eficiencia y seguridad a la hora de extraer o almacenar información en las B.D. Los sistemas gestores de BBDD están diseñados para gestionar grandes bloques de información, que implica tanto la definición de estructuras para almacenamiento como de mecanismos para la gestión de la información. El SGBD es una aplicación que permite a los usuarios definir, crear y mantener la BD y proporciona un acceso controlado a la misma. 54 Sistemas Gestores de Bases de datos Mientras que una base de datos es un conjunto de datos no redundantes almacenados en un soporte informático y accesibles simultáneamente por distintos usuarios y aplicaciones, un sistema gestor de bases de datos (SGBD) es el conjunto de programas que permiten definir, manipular y utilizar la información que contienen las bases de datos , realizar todas las tareas de administración necesarias para mantenerlas operativas, mantener su integridad, confidencialidad y seguridad. Nunca se accede a una BD directamente, sino que se hace a través del SGBD, es su interfaz entre la BD y el usuario. 55 Componentes de un SGBD Los SGBD son paquetes de software muy complejos que deben proporcionar una serie de servicios que van a permitir almacenar y explotar los datos de forma eficiente. Los componentes principales son los siguientes: ● ● ● ● ● Lenguajes de los SGBD. El diccionario de datos Gestor de almacenamiento Motor de evaluación de consultas El administrador de la BD 56 Lenguajes de los SGBD Todos los SGBD ofrecen lenguajes e interfaces apropiadas para cada tipo de usuario: administradores, diseñadores, programadores de aplicaciones y usuarios finales. Este lenguaje es en su mayoría SQL, está estandarizado por la ISO, es decir, todas las bases de datos que soportan SQL, deben tener la misma sintaxis a la hora de aplicar el lenguaje. Se divide en cuatro sublenguajes, que permiten al SGBD cumplir con las funcionalidades requeridas. 57 Lenguajes de los SGBD Estos cuatro lenguajes son: ● Lenguaje de manipulación de datos, DML: se utiliza para leer y actualizar los datos de la BD. Es el utilizado por los usuarios para realizar consultas, inserciones, eliminaciones y modificaciones. ● Lenguaje de definición de datos, DDL: se utilizan para especificar el esquema de la BD, las vistas de los usuarios y las estructuras de almacenamiento. Es el que define el esquema conceptual y el esquema interno. Lo utilizan los diseñadores y los administradores de la BD. 58 Lenguajes de los SGBD Estos cuatro lenguajes son: ● Lenguaje de control de datos, DCL: permiten al administrador gestionar el acceso a los datos contenidos en la base de datos. ● Lenguaje de control de transacciones, TCL: el propósito de este lenguaje es permitir el control de las transacciones. 59 El diccionario de datos El diccionario de datos es el lugar donde se deposita información acerca de todos los datos que forman la BD. Es una guía en la que se describe la BD y los objetos que la forman. En una BD relacional, proporciona información acerca de: ● La estructura lógica y física de la BD. ● Las definiciones de todos los objetos de la BD: tablas, vistas, índices, ● ● ● ● ● disparadores, procedimientos, funciones, etc. El espacio asignado y utilizado por los objetos. Los valores por defecto de las columnas de las tablas. Información acerca de las restricciones de integridad. Los privilegios y roles otorgados a los usuarios. Auditoría de información, como los acceso a los objetos. 60 Gestor de almacenamiento Es el módulo que proporciona la interfaz entre los datos almacenados y los programas de aplicación y consultas solicitadas al sistema. Tiene varias partes: ● Gestor de transacciones: mantiene la consistencia ante fallos del sistema. ● Gestor de archivos: gestiona la reserva de memoria a la hora de representar los datos almacenados en el disco. ● Gestor de memoria intermedio: encargado de cargar en memoria los datos del disco y decidir qué datos se llevan a la caché. 61 Motor de evaluación de consultas Es el encargado de ejecutar las diferentes instrucciones dadas al SGBD. 62 El administrador de la BD En los sistemas de gestión de BD actuales existen diferentes categorías de usuarios. Estas categorías se caracterizan porque cada una de ellas tiene una serie de privilegios o permisos sobre los objetos que forman la BD. En los sistemas Oracle las categorías más importantes son: ● Los usuarios de la categoría DBA(Data base Administrador), cuya función es precisamente administrar la base y que tienen el nivel más alto de privilegios. ● Los usuarios de la categoría RESOURCE pueden crear sus propios objetos y tienen acceso a los objetos para los que se les ha concedido permiso. ● Los usuarios del tipo CONNECT solamente pueden utilizar aquellos objetos para los que se les ha concedido permiso de acceso. 63 El administrador de la BD El DBA tiene gran responsabilidad ya que posee el máximo de privilegios. Será el encargado de crear los usuarios que se conectarán a la BD. En la administración de una BD siempre hay que procurar que haya el menor número de administradores, a ser posible una sola persona. El objetivo principal de un DBA es garantizar que la BD cumple con los fines previstos por la organización, lo que incluye una serie de tareas como: ● ● ● ● ● Instalar SGBD en el sistema informático. Crear las BBDD que se vayan a gestionar. Crear y mantener el esquema de la BD. Crear y mantener las cuentas de usuario de la BD. Arrancar y parar SGBD, y cargar las BBDD con las que se ha de trabajar. 64 El administrador de la BD Además, realiza tareas de explotación como: ● ● ● ● ● ● Vigilar el trabajo diario colaborando en la información y resolución de dudas de los usuarios de la BD. Controlar los acceso, tasas de uso, cargas en el servidor, anomalías, etc. Efectuar copias de seguridad periódicas de la BD. Restaurar la BD después de un incidente material a partir de las copias de seguridad. Estudiar las auditorías del sistema para detectar anomalías, intentos de violación de la seguridad, etc. Ajustar y optimizar la BD mediante el ajuste de sus parámetros, y con la ayuda de las herramientas de monitorización y de las estadísticas del sistema. 65 Niveles de abstracción Uno de los objetivos de un SGBD es proporcionar una visión abstracta de los datos, ocultando ciertos detalles del almacenamiento físico de los mismos. La independencia de datos es la capacidad para modificar el esquema de un nivel del sistema sin tener que modificar el esquema de nivel superior. Esto significa: ● Independencia física de los datos: aunque cambie el nivel físico, el nivel conceptual no se ve afectado. Por ejemplo si se cambian o añaden discos u otro hardware, el nivel conceptual permanece invariable. ● Independencia lógica de los datos: Significa que aunque se modifique el esquema conceptual, los esquemas externos y los programas de aplicación no son afectados. 66 Niveles de abstracción En 1975, el comité ANSI/SPARC en su división X3 estableció que la arquitectura de una base de datos debe tener tres niveles: Interno, Conceptual y Externo. Que corresponden respectivamente a las vistas de almacenamiento físico, de usuario, y del programador. 67 Niveles de abstracción Nivel interno (estructura física) Nivel más bajo de abstracción de la información, y por tanto, el más cercano al almacenamiento físico. Permite describir los datos tal como están almacenados en el ordenador. Se describe por el SGBD por medio del esquema interno o vista interna. 68 Niveles de abstracción Nivel conceptual (estructura lógica global) Es el siguiente nivel más alto de abstracción, se define por medio de un esquema conceptual. Este nivel contempla la estructura organizacional de los datos, sin preocuparse de la organización física ni sus vías de acceso. El esquema conceptual contiene: ● ● ● Datos compuestos (entidades del mundo real) que describen los registros Datos elementales que definen los campos de las entidades (atributos) Datos compuestos que permiten describir las asociaciones del mundo real (relaciones) 69 Niveles de abstracción Nivel externo (estructura lógica del usuario) Es el nivel más alto de abstracción, y representa la percepción particular de un usuario de la base de datos. El SGBD es el encargado de extraer los datos requeridos por los registros lógicos externos de los registros físicos de la base de datos. Por cada programa o usuario se especifican las vistas externas para acceder a un subconjunto de datos de la BD. De esta manera se protege el acceso no autorizado. 70 Opciones de funcionamiento de un SGBD SGBD monocapa Se trata de Sistemas Gestores instalados en una máquina desde la que se conectan los propios usuarios y administradores. Es un modelo que solo se utiliza con bases de datos pequeñas y poca cantidad de conexiones. 71 Opciones de funcionamiento de un SGBD SGBD de dos capas Es el modelo tipo cliente/servidor. La base de datos y el sistema gestor se alojan en un servidor al cual se conectan los usuarios desde máquinas clientes. Un software de comunicaciones se encarga de permitir el acceso a través de la red. Los clientes deben instalar el software cliente de acceso según las instrucciones de configuración del administrador. Hay dos posibilidades: 72 Opciones de funcionamiento de un SGBD SGBD de dos capas ● Arquitectura cliente/servidor único. Un solo servidor gestiona la base de datos todos los clientes se conectan a él para realizar las peticiones a la base de datos. ● Arquitectura cliente/multiservidor. La base de datos se distribuye entre varios servidores. El cliente no sabe realmente a qué servidor se conecta, el software de control de comunicaciones se encargará de dirigirle al servidor adecuado. De forma lógica, es como si se tratara de un solo servidor aunque físicamente sean muchos. 73 Opciones de funcionamiento de un SGBD SGBD de tres o más capas En este caso entre el cliente y el servidor hay al menos una capa intermedia (puede haber varias). Esa capa (o capas) se encargan de recoger las peticiones de los clientes y luego de comunicarse con el servidor (o servidores) para recibir la respuesta y enviarla al cliente. El caso típico es que la capa intermedia sea un servidor web, que recibe las peticiones a través de páginas web; de este modo para conectarse a la base de datos, el usuario solo requiere un navegador web, que es un software muy habitual en cualquier máquina. Este modelo es el que más se está potenciando en la actualidad por motivos de seguridad y portabilidad de la base de datos. 74 Sistemas Gestores de Bases de Datos Comerciales Licencias de Software El gurú del software libre, Richard Stallman considera al software propietario (software cuyo uso y explotación se rige por un contrato propio de la empresa), software privativo, puesto que dicho software no permite examinar el código fuente y, por lo tanto, impide modificar el mismo y adaptarlo a nuevas funcionalidades. Por otro lado, él mismo define al software que sí permite este proceso, software libre. En cualquier caso ambos tipos de software no tienen por qué ser gratuitos, es decir la diferencia no es la gratuidad (aunque sí ocurre a menudo que el software de código abierto además suele ser gratuito) sino la libertad de utilizar el código fuente del software. 75 Sistemas Gestores de Bases de Datos Comerciales Licencias de Software Está diferencia de software se debe a dos formas diferentes de hacer negocio con él; los defensores del código cerrado argumentan que es lógico protegerlo para evitar copiar su tecnología por parte de la competencia e incluso por razones de seguridad del mismo al no poder asegurar su correcto funcionamiento ante modificaciones de terceros. Los defensores del otro modelo están a favor de la versatilidad del código abierto que permite poder modificar el código por parte de miles de programadores en todo el mundo que pueden compartir dichas mejoras y así mejorar enormemente y de manera dinámica el producto. 76 Sistemas Gestores de Bases de Datos Comerciales SGBDs relacionales de código cerrado Los más famosos son: ● Oracle. Propiedad de Oracle Corporation. Es el SGBD más veterano y más influyente ya que la mayoría de mejoras al SQL original se desarrollaron para este SGBD. Sigue siendo uno de los SGBD comerciales más utilizados. Presume de su gran estabilidad y escalabilidad, un control avanzado de transacciones y de sus lenguajes internos de manejo, especialmente famoso es su lenguaje procedimental PL/SQL. Es un SGBD multiplataforma, que tiene certificación para instalarse en Linux (aunque sólo con los compatibles con Red Hat y con condiciones muy concretas de instalación). ● DB2. Propiedad de IBM, es una de las bases de datos comerciales más populares. Desarrollada para Windows, UNIX y Linux. Implementa XML de manera nativa y dispone de amplias facilidades de migración de datos (especialmente desde Oracle) así como uso de transacciones avanzadas. ● SQL Server. De Microsoft, dispone de una gran escalabilidad, estabilidad, uso de transacciones, entorno gráfico avanzado y de éxito entre los programadores de la plataforma .NET (también de Microsoft por su compatibilidad con esta). 77 Sistemas Gestores de Bases de Datos Comerciales SGBDs relacionales de código abierto Los más famosos son: ● MySQL. Ha sido considerada como la principal SGBD de la comunidad de programadores de código abierto y de hecho en Internet sigue siendo la principal base de datos asociada a una aplicación web. Mantiene su licencia de tipo GPL, pero posee una segunda licencia cerrada para opciones de trabajo más avanzadas. Es muy popular por su histórica asociación con PHP, por su buena estabilidad y gran escalabilidad. ● PostgreSQL. está considerado como el SGBD de código abierto más potente y, sobre todo, más fidedigno con los estándares. Posee uso de transacciones avanzadas, lenguaje procedimental, gran estabilidad y escalabilidad. 78 Políticas de fragmentación de la información Estas políticas se refieren a cómo se dividen y almacenan los datos en fragmentos o particiones dentro de la base de datos. Son esenciales para mejorar el rendimiento, escalabilidad y disponibilidad de la base de datos. Las más comunes son: ● Fragmentación horizontal: Se divide una tabla por registros completos entre múltiples servidores. Agiliza las consultas. ● Fragmentación vertical: Se divide una tabla por columnas. Minimiza la duplicación de datos. 79 Legislación vigente sobre protección de datos Con respecto al tratamiento de los datos, hay que tener especial consideración con aquellos que sean de clientes u terceros. Nuestras aplicaciones, y sus desarrolladores por extensión, son responsables de proteger los datos recogidos. Existen varias leyes que aplican a los datos que podemos almacenar en una base de datos: ● RGPD: en el marco europeo, se aplicó para toda la UE desde mayo del 2018, establece derechos de los usuarios, responsabilidades de las organizaciones que almacenen los datos, y posibles sanciones por incumplimiento, entre otras cosas. ● LOPD: es la ley que especifica para España la ley europea RGPD 80 Conceptos de Big Data y Business Intelligence Big Data Cuando trabajamos con un volumen de datos extremadamente grandes y complejos que superan la capacidad de procesamiento tradicional, estamos hablando de Big Data. Estos datos pueden provenir de redes sociales, sensores, u otras fuentes. En ocasiones, el Big Data implica análisis en tiempo real o al menos en ventanas de tiempo variables. El objetivo del Big Data es extraer información valiosa de los datos masivos y brutos. 81 Conceptos de Big Data y Business Intelligence Business Intelligence El Business Intelligence se refiere a la recopilación, análisis y presentación de datos para respaldar la toma de decisiones empresariales. En muchos casos implica el uso de herramientas de visualización de datos agregados, con mapas, tablas, gráficos, etc. que facilitan entender las estadísticas extraídas. Algunas herramientas permiten incluso la simulación basada en datos históricos, de manera que es posible proponer diferentes escenarios tras una decisión. 82

Use Quizgecko on...
Browser
Browser