Full Transcript

Resumen Base de datos: Tema#1 Introducción Sistemas de base de datos: Herramientas esenciales en una amplia gama de aplicaciones en diversos sectores. Su principlas función es almacenar, organizar, y gestionar grandes volúmenes de datos de manera eficiente y segura. Applicación de sistemas de base d...

Resumen Base de datos: Tema#1 Introducción Sistemas de base de datos: Herramientas esenciales en una amplia gama de aplicaciones en diversos sectores. Su principlas función es almacenar, organizar, y gestionar grandes volúmenes de datos de manera eficiente y segura. Applicación de sistemas de base de datos: Banca Líneas aéreas Universidades Transacciones de tarjeta de crédito Telecomunicaciones Finanzas Ventas Producción Recursos humanos Definición de sistema: entorno entrada sistema salida entorno Conjunto de elementos que relacionados ordenadamente entre si contribuyen a un determinado objetivo o fin. Definición de sistema dinámico Es un sistema que se utiliza para describir un sistema que evoluciona en el tiempo de acuerdo a reglas específicas Consiste en un espacio de estados, que representan a todos los posibles estados que pueden encontrarse en el sistema junto con una regla de evolución que describe cómo cambia el estado del sistema con el tiempo. Definición de sistema de información: Sistema que suministra servicios de información. 1 Sistema artificial diseñado para satisfacer las necesidades de información en una organización. Colección de personas, procedimientos y equipos diseñados, contruidos, operados y mantenidos, para recoger, registrar, procesar, almacenar, recuperar y visualizar información SI INFORMATICO Cualidades de información: Precisión: o % de información correcta Oportunidad: o Tiempo transucrrido hasta disponibilidad. Compleción Significativa: o Contenido semántico o Comprensible o De interés Coherente o Integridad Seguridad Componentes de un SI informático: Contenido o El núcleo de cualquier sistema de información Equipo físico (Hardware) o Procesador o Periféricos Soporte lógico (Software) o Programas o Lenguajes o SOp o Gestión de datos Administrador Usuarios 2 Sistemas de archivos o ficheros Sistema de base de datos 3 Inconvenientes de sistemas de BD: Instalación costosa o Hardware o Sistema operativo o Adquisición costosa o Mantenimiento del sistema gestor de base de datos. Personal especializado o Diseño o Administración Implantación larga y difícil Falta de rentabilidad a corto plazo Escasa estandarización o BD-R o Orientadas a objetos Desfase entre teoría y práctica o Teoría más desarrollada Definición de base de datos Colección de datos integrados o Todos los datos están relacionados de alguna manera y organizados bajo un sistema común. o Permite que sea más útil y fácil de manejar. Almacenados en soporte secundario (no volátil) o Se guardan los datos en dispositivos de almacenamiento secundario o Lo importante es que son no volátiles § No se pierde la información ciando los dispositivos se apagan Con redundancia controlada o Datos compratidos por difernetes usuarios y aplicaciones e indendientes Datos y definición (única) almacenados conjuntamente Modelo de datos o Relaciones y restricciones del mundo real Actualización y recuperación o seguridad Operaciones atomicas : la operación más pequeña o si transacciones van juntas o se hacen o no se hacen. o No se ace una sin la otra. Hay que tener en cuenta las concurrencias la capacidad de manejad múltiples operaciones al mismo tiempo. Estas operaciones pueden ser procesadas por el sistema simultáneamente sin interferir unas con otras, lo que permite un uso más eficiente de los recursos y mejora el rendimiento general del sistema. 4 Modelo de datos ¿Por qué es necesario hacer un buen diseño de una Base de Datos? o Evalucaión de la información requerida o Evaluación de las necesidades de almacenamiento de información: § Evitar campos multivariados § Evitar redundancia § Evitar campos nulos o Pueden haber problemas de: § Tamaño § Orden § Búsqueda o Estos problemas pasan cuando no hay organización en el diseño Niveles de abstracción (punto de vista) à modelos de datos o Son una manera de organizar y simplificar la complejidad de un sistema al descomponerlo en capas o niveles manejables. § Externoà como los usuarios finales ven los datos A menudo a través de interfases gráficas, buscan que tenga sentido para el lector § Coceptualà se define la estructura lógica de la base de datos Definición de esquemas Las relaciones entre los datos Las restricciones § Interno à se ocupa de los datos realmente almacenados y organizados en el medio físico. Discos duros o SSD Detalles sobre los índices, particiones y estructuras de almacenamiendo físico. ANSI = American National Standars Institude Obtención de un esquema de datos Esquema Externo: o Define múltiples vistas según las necesidades de los distintos usuarios. Esquema Conceptual: o Ofrece una visión centralizada y unificada que organiza y define todas las entidades y sus interrelaciones de forma lógica. Esquema Interno: o Detalla cómo se implementan y almacenan físicamente los datos definidos en el esquema conceptual para asegurar la eficiencia y seguridad. 5 Modelos de datos VS Esquema de datos Modelo de datos: o Conjunto de conceptos, reglas y convenciones que se aplican a los datos para obtener el correspondiente esquema. Esquema de Datos: o Descripción de la estructura de los datos según un determinado Modelo de datos. Aplicación de un modelo de datos Lenguaje de bases de datos LDD = Lenguaje de Definición de Datos o Estructuras de almacenamiento o Métodos de acceso o Diccionario de datos § Metadatos: Cararteristicas y propiedades de datos o Restricciones de consistencia LMD=Lenguaje de Manipulación de Datos o Recuperación § Lenguaje de consultas o Inserción o Borrado o Modificación EJ: SQL Programas de aplicación Interacción con la base de datos Escritos en : o Cobol o C o C++ o Java 6 Instrucciones LMD ejecutadas en leguaje de aplicación o Interfaz de programas § Estándares: ODBC JDBC § Extención del lenguaje Precompilador LMD Estructura de un sistema de bases de datos Arquitectura de sistema de base de datos Gestor de almacenamiento: o Responsable de almacenar, recuperar y actualizar datos en la base de datos § Gestor de autorización e integridades § Gestor de transacciones § Gestor de archivos § Gestor de memoria intermedia Procesador de consultas o Simplifica y facilita el acceso a la base de datos o Actualizaciones y consultas à operaciones a nivel físico § Intérprete de LDD § Compilador del LMD § Motor de evaluación de consultas 7 Adminitrador de la base de datos: funciones Denifición del esquema de base de datos (LDD) Definición estructura y método de acceso Modificación del esquema y organización física o Cambios organización o Mejorar rendimiento Autorización para el acceso Mantenimiento rutinario Usuarios de la base de datos Usuarios normales o Cajeros o Agente o Usuarios web Programadores de aplicaciones o Profesionales informáticos Usuarios sofisticados o Analistas Usuarios especializados Otra clasificación de usuarios de Bases de Datos Usuarios informáticos o Diseñadores légicos o Diseñadores físicos o Administradores o Analistas y programadores Usuarios finales o Usuarios habituales o Operadores de entrada o Usuarios esporádicos Sistema de gestión de bases de datos SGBD = DBMS (Data Base Management Sistem) o Definicion: § Conjunto coordinado de programas, procedimientos, lenguajes que suministra a los distintos tipos de usuarios los medios para describir y manipular los datos almacenadps en la base de datos, garantizando la seguridad. o Ejemplos: § DBASE § ORACLE § SQLite § ACCESS § Microsoft SQL server § INGRES § MariaDB 8 § § MySQL PostgreSQL BD + SGBD = Sistema BD Operacionnes SGBD Creación BD: o Creación estructuras § Definición + datos o Almacenamiento estructuras Actualización información Recuperación información Ordenación información Impresión informes, etiquetas Funciones SGBD Función de definición o descripción (LLD) o Estructura o Relaciones o Validaciones Función de manipulación o Consultas § Totalidad de los datos § Selectiva (criterio) o Actualización § Inserción § Borrado § Modificación Función de control 9 Tema#2 Modelos de datos: Modelo Entidad Relación Modelo de datos Necesidad del proceso de diseño Niveles de abstracción Clasificación de modelos de datos Propiedades de un modelo de datos Proceso de un diseño de una base de datos Modelo de datos globales Conceptuales o semánticos: o No suelen estar implementados en SGBD o Independiente SGBD y HW (flexibilidad) o Nivel de abstracción es tan alto que no se necesita ninguna maquina § El más alto que podemos tener o Capacidad semántica à se ve el esquema y se entiende o Interfax ususario/informatico o Ejemplos: § Infológicos § RM/T § Entidad-Relación Convencionales o modelos de BD: o Implentados en SGBD comerciales o Depende del SGBD o Próximos al ordenador o Poca capacidad semántica o Enfocados a la implementación o Interfaz informático/sistema o Mediación nivel externo e intermadio o Ejemplos: § Jerárquico Árboles § Codasyl Redes § Relacional Tablas Propiedades de un modelo de datos Estáticas o Elementos permitidos § Objetos Representa algo real como un estudiante, libro, etc. o Ejemplo: 10 o un objeto podría ser un estudiante llamado María que está en segundo grado. § Asociaciones La conección o interacción entre los datos o Ejemplo: o un estudiante está inscrito en un curso, o un profesor enseña un curso específico. § Propiedades Detalles específicos sobre un objeto o Ejemplo: o para un estudiante, las propiedades podrían incluir su nombre, edad, y grado. § Dominios El conjunto de valores que una propiedad puede tener o Ejemplo: o dominio de la propiedad "grado" en una escuela podría ser "primero, segundo, tercero, etc." o Elementos no permitidos § Inherentes Algo que es naturalmente parte de algo o no puede ser separado de eso § Semánticas o de integridad ayudan a mantener los datos precisos y consistentes o Ejemplo: o nombre de un estudiante no puede estar vacío Dinámicas à operaciones o O = operador o BDI= estado de origen o BDJ= estado objetivo § BDI y BDJ deben de satisfacer restricciones de integridad estática y dinámica. o O(BDI)=BDJ Etapas de diseño BD (modelo de datos) 1. Diseño conceptual o Modelo conceptual (mundo real) à esquema conceptual 2. Diseño lógico o Modelo convencional (esquema conceptual)à esquema lógico 3. Diseño físico o Modelo interno (esquema lógico) à esquema interno Modelo Entidad/Relación Peter P. Chen (1976) Modelo semántico o cenceptual Independiente de consideraciones físicas Intrumento de diseño 11 No soportado por SGBD No ofrece muchas posibilidades semánticas o Familia de modelos extendidos Modelo Entidad/Relación: Elementos Permitidos Objetos: entidades o Persona, lugar, cosa, concepto de interés para la empresa o Objeto acerca del cual queremos almacenar información de la Base de Datos Asociaciones entre objetos: Interrelaciones o relaciones o Correspondencia entre entidades Pripiedades objetos: atributos o Características de las entidades o interrelaciones Dominios: o Conjuto de posibles valores que toma un atributo entidades Nombre relacion entidades atributo Claves (AIP) Entre atributos de entidad elegir uno o varios que identifiquen unívoca y mínimamente cada una de las ocurrencias de esta entidad. o Atributo identificador cantidato (clave candidata) o Atributo identificador principal (clave principal) Caracteristicas de las relaciones Nombre # entidades que participan (grado) Atributos de la relación Tipo de relación: o # máximo de ocurrencias de una entidad que pueden intervenir por cada ocurrencia de la otra entidad asociada. o Ejemplo: o 1:1 o m:n obligatoriedad y opcionalidad de las entidades relacionadas 12 o entidad obligatoria: todas las ocurrencias de la entidad deben participar en la relación o entidad opcional: puede haber ocurrencias de la entidad que no participen en la relación Tipos de relación 13 Obligatoriedad Todos los autores escriben un documento, pero un documento puede ser escrito por 0 o más autores. Elementos no permitidos: Restricciones inherentes: o obligatoriedad de claves o relaciones sólo entre entidades Restricciones semánticas: o tipo o grado de relación o entidades obligatorias u opcionales 14 Tema#3 Modelo relacional Modelo relacional Modelo convencional E.F Codd(1970) En la mayoría de los sistemas de BD comerciales actuales En los 80’s más efectivos eran los modelos jerárquicos y Codasyl Introduce la teoría matemática de las relaciones Primeras implementaciones: ORACLE e INGRES Elementos permitidos Objetos: Relaciones Propiedades objetos: Atributos Dominios o Conjunto de posibles valores que toma un atributo o Todo dominio además de un nombre tiene un tipo de datos o Varios atributos pueden tomar valores del mismo dominio Definición matemática de una relación Ejemplo Estado de relación ti= Esquema de la relación R(Name:Text,Age:Integer,Address:Text) 15 Caracteristicas de una relación Atributo o campo: o nombre particular que se le da a un determinado dominio que participa en una relación Grado: o # atributos Tupla o dato: o cada elemento de la relación, conjunto de n pares atributo-valor o es una fila de la tabla de datos. Cuerpo de relación: o conjunto de m tuplas que forman la relación Cardinalidad: o # de tuplas 16 Teminología equivalente: Fichero à Relación à Tabla Registro à Tupla à Fila Campo à Atributo à Columna # campos à Grado à # columnas # registros à Cardinalidad à # filas Tipo de claves: Superclave: o Determina unívocamente cada tuple de la relación Clave candidata: o Superclave mínima Clave primaria: o Clave candidata elegida Clave alternativa: o Clave candidata elegida Clave externa: o Conjunto no vacío de atributos de R2 cuyos valores han de coincidir con los valores de la clave candidata de una relación R1, definidos sobre el mismo dominio, o bien ser nulos § Ejemplo1: R1 º EDITORIAL (Nombre_e, Dirección, Ciudad, País) R2 º LIBRO (Código, Título, Idioma,...,Editorial) o Editorial=Nombre_e o Editorial es la clave externa de R2 o Sirve para enganchar Elementos no permitidos: Relaciones inherentes: o No existen 2 tuplas iguales o El orden de las tuplas/atributos no es significativo o Cada atributo sólo toam un único valor del dominio de cada tupla o Ningún atributo de la clave primaria puede tomar un valor nulo Relaciones semánticas: o Declaración de la clave primaria: § Unicidad § Obligtoriedad o Integridad referencial § Relaciones entre egistros válidos § No se eliminan ni modifican datos relacionados accidentalmente 17 Operaciones de borrado y modificación Operación restringida à No Action Operación den transmission en cascada à cascade Operación con puesta a nulos à set null Operación con puesta a valor por defecto à set default Modelo relacional: Dinámica Operaciones que se aplican a los datos (tuplas) à cambios de estado Expreadas mediante lenguajes: o Algebraicos (algebra relacional) o Predicativos (cálculo relacional) Operaciones del álgebra relacional Esquema relacional Esquema de una relación: o atributos, dominios y restricciones de integridad que conforman una relación Esquema (de una BD) relacional: o colección de esquemas de relación BD relacional: o esquema relacional + ocurrencia válida para el esquema 18 Tranformación del esquema conceptual al relacional Relaciones te tipo 1:1 19 Relaciones te tipo 1:N Relaciones te tipo N:M 20 Tema #4 Teoría deNormalización ¿para qué sirve la teoría de nomalización? Ayuda a estructurar mejor las relaciones: o Evita posibles redundancias, anomalías y representa mejor el mundo real en un esquema relacional Al normalizar aumenta el # de relaciones, la eficiencia de consultas disminuye (aumenta el # de accesos a tablas y combinaciones) Se aconseja llevar los esquemas relacionales hasta al menor 3FN excepto si las relaciones son muy estables (no actualizaciones) Siguiendo el modelo de diseño completo, el esquema relacional resultante estará en 3FN o Normalización = comprobación del diseño Formas normales Dependencias funcionales Dependencia funcional XàY o X determina o implica a Y si cada valor de X tiene asociado un único valor de Y § X=determinante o implicante § Y= implicado Dependencia funcional plena o completa X(X1,X2) o El conjunto de X(X1,X2) me da Y, pero X1 no me da Y y X2 no me da Y § la suma de X1 y X2 me dan Y pero X1y X2 no me dan Y por separado. 21 Dependencia funcional transitiva R(X,Y,Z) o Z tiene una dependencia transitiva respecto de X a través de Y si existen las dependencias 1 y 2 o Si Z no lleva a Y dependencia transitiva estricta Formal Normales Primera forma normal: o Cada atributo toma un único valor del dominio subyacente o A no ser que nos digan en una consiga no que esta en 1 forma normal se asume que siempre esta así. § § Segunda forma normal: o 1FN tiene que estar satisfecho o Cada atributo no principal tiene dependencia funcional completa respecto a la clave o Ejemplo: § El repetirse la fecha en el # de socio hay un campo multivariado por lo que NO ESTA EN 1ra FORMA NORMAL Restricción inherente del modelo relacional como # de socio no lleva a fecha_prestamo y cod_libro tampoco lleva a Fecha_prestamo esta relación esta en 2da FN Tercera forma normal: o Esta en 2FN 22 o No existe ningún atributo no principal que dependa transitivamente de alguna de las claves de relación. o Ejemplo: Forma normal Boyce/Codd (FNBC) o 3FN no trata adecuadamente § Varia claves candidatas § Claves candidatas compuestas § Claves candidatas con al menos un atributo común o Ejemplo: § PRÉSTAMO (Num_socio, DNI_socio, Cod_libro, Fecha préstamo) R1 (DNI_socio, Cod_libro, Fecha_Prestamo) R2 (DNI_Socio, Num_socio) Descomposición de relaciones La transformación de una relación en otra cuya forma normal es superior implica una operación de proyección o PRÉSTAMO (Cod_libro,Num_socio,editorial) § R1(Cod_libro,Num_socio) § R2(Cod_libro,editorial) o SOCIO (Num_socio,ciudad,país) § R1(Num_socio,ciudad) § R2(ciudad,país) ß no llega a 2FN por que hay más de 1 ciudad con el mismo nombre Descomposición sin perdida de información o La ombinación natural de las proyecciones resultantes devuelve la relación original o Ejemplo: § LIBRO (Cod_libro,editorial,país) R1 (Cod_libro,editorial) R2 (editorial,país) R1’ (Cod_libro,país) R2’ (Cod_libro,editorial) Descomposición sin pérdida de dependencias 23 o Es necesario conservar las dependencias funcionales que recogen la semántica del mundo real § LIBRO (Cod_libro,editorial,país) R1’ (Cod_libro,país) R2’ (Cod_libro,editorial) Descomposición en proyecciones independientes o Si la descomposición realizada no hay pérdida de información ni dependencias funcionales § LIBRO (Cod_libro,editorial,país) R1’ (Cod_libro,país) R2’ (Cod_libro,editorial) 24 Tema#5 Almacenamiento de datos y consultas Medios físicos de almacenamiento ¿Qué es el almacenamiento de datos? o proceso tecnológico mediante el que se guarda, organiza y compraten los bytes de información que contiene los archivos con datos en formato digital. o Se realiza gracias a diversos dispositivos físicos § El Hardware o En la mayor parte de los sistemas informáticos hay incluidos varios tipos de almacenamiento de datos. o Muchas bases de datos actuales almacenan los datos en discos magnéticos, los extraen a la memoria principal de un procesador o copian los datos en cintas y otros dispositivos para su almacenamiento seguro Características de los medios de almacenamiento o Capacidad: § Cantidad de datos que puede almacenar el sistema de almacenamiento. Gigabytes Terabytes Petabytes o Velocidad de acceso a los datos: § Almacenamiento primario § Almacenamiento secundario o en conexión § Almacenamiento terciario o sin conexión o Coste de adquisición por unidiad de datos (por bit) o Fiabilidad: § Disponibilidad de los datos cuando se solicitan considerando una tasa de errores o fallos o Recuperabilidad: § Capacidad de recuperar los datos tras una pérdida, borrado, corrupción u otro incidente que impida su acceso. Volátil: o El contenido se pierde si hay un fallo eléctrico o una caída de sistema No volátil 25 Tipos de almacenamiento o Caché § Forma de almacenamiento más rápida y costosa § Pequeña § Uso gestionado por el hardware del sistema informático. No hay que preocuparse sobre la gestión del almacenamiento caché del sistema de BD. § Almacenamiento primario § Volátil o Memoria principal § Medio utilizado para operar con los datos disponibles. Las instrucciones de la máquina de propósito general operan en este tipo de memoria § Pequeña o demasiada cara para guardar toda la base de datos § Almacemaniento primario § Volátil o Memoria flash (EEPROM- sólo de lectura programable y borrable eléctricamente) § Lectura de datos igual de rápida que la memoria principal. Escritura de datos más complicada porque se escriben sólo una vez, pero no se sobreescriben de manera directa (se debe borrar simultáneamente un banco de memoria y sólo se permite un # limitado de ciclos de borrado) § Ha evolucionado y sustituido a los discos mágneticos para guardar volúmenes considerables de datos en sistemas informáticos. § No volátil o Almacenamiento en discon magnéticos § La base de datos completa se guarda en este tipo de discos. Para tener acceso hay que trasladar los datos desde el disco a la memoria principal. Después de realizar la operación hay que escribir en el disco los datos que se han modificado. § Tamaño de los discos: algunos TB § Discos Duros (HDD) o Discos de Estado Sólido (SDD) § Almacenamiento secundario o en conexión § No volátil § Estos dispositivos pueden fallar y destruir datos pero es poco probable o Almacenamiento óptico: CDs o DVDs § Los datos se almacenan por medios ópticos y se leen mediante un láser. § Versiones: de sólo lectura (datos pregrabados) de una sola escritura, de varias escrituras regrabables (magnetoópticos: útiles para almacenamiento de archivos y distribución de datos) § Almacenamiento terciario o sin conexión § No volátil o Almacenamiento en cinta § Utilizado para copias de seguridad y datos de archivo. § Más barata que el disco (acceso directo) pero el acceso a los datos es lento porque es secuencial. 26 § Capacidad elevada y pueden retirarse de la unidad de lectura (almacenamiento de coste reducido para archivos). § Almacenamiento terciario o sin conexión. § No volátil. o Almacenamiento en red § Alta velocidad de transferencia de las redes he hecho populares métodos de almacenamiento en red como SAN o NAS SAN (Storage Area Network): o Múltiples dispositivos actúan como bloques de disco, permitiendo el almacenamiento y acceso a la información desde cualquier punto de la red NAS (Network Attache Storage) o Utiliza un único dispositivo accesible desde la red para guardar y compartir información. Un servidor NAS cuenta con su propio HW y sistema operativo. Se precisa otro sistema para las copias de seguridad o Almacenamiento en la nube (CLOUD) § Contratación de un espacio externo en los servidores de un proveedor. § Ventajas: Seguridad Portabilidad y accesibilidad Independiente del sistema operativo La ubicación El tiempo El dispositivo utilizado. § Implica disponer de una constante conexión a Internet. Recomendación: usar distintos tipos de almacenamiento para garantizar el acceso en todo momento Acceso al almacenamiento Las bases de datos se corresponde con cierto # de archivos diferentes que mantiene el sistema operativo subyacente. Estos archivos residen permanentemente en discos con copias de seguridad en cinta o Un archivo se divide en bloques § Bloques: unidades de almacenamiento de longitud constante para la asignación y transferencia de datos. o Cada bloque puede contener varios elementos de datos 27 Gestor de la memoria intermedia: o Los programas del sistema de BD realizan solicitudes (llamadas) al gestor cuando necesitan un bloque del disco: § Bloque está ya en memoria intermedia à el gestor pasa la dirección del bloque en memoria principal § Bloque no está en memoria intermedia à el gestor asigna espacio al bloque en memoria intermedia Descarte de bloques para atender solicitud, se escriben en disco versiones distintas o Acciones transparente para los programas solicitantes o Como el tamaño de la BD es mucho mayor que el espacio de direcciones HW de la máquina, el gestor debe utilizar técincas complejas ára direccionar los bloques de memoria § Estrategia de sustitución: eliminación del bloque menos recientemente utilizado (LRU) extracción inmediata eliminación del bloque más recientemente utilizado (MRU) § Bloques clavados: para la recuperación de caías se limita las veces que se vuelve a escribir un bloque en el disco consistencia de datos § Salida forzada de los bloques: se escriben los bloques en el disco aunque no se necesite su espacio como prevención a las caídas. Organización de los archivos los archivos se organizan lógicamente como secuencia de registros que se corresponden con los bloques (físicos) del disco. Las propiedades físicas del disco de almacenamiento y el sistema de archivos del sistema operativo subyacente determinan el tamaño fijo de los bloques, pero el tamaño de los registros puede ser variable. o En las BD relacionales, las tuplas de las distintas relaciones tiene tamaños distintos. Archivos con registros de longitud fija: o Más fáciles de implementar o Se utilizan diferentes archivos para guardar cada una de las longitudes fijas existentes de los registros Archivos con registros de longitud variable Si los datos ocupan un # de bytes predefinidos, los registros tendrán una longitud constante y podrán ocupar consecutivamente en el archivo el espacio que necesita cada registro. Es difícil borrar un registro: o el espacio liberado se debería rellenar con otro registro o marcar el registro borrado para obviarlo. 28 Si el tamaño de los bloques no es múltiplo del tamaño fijo que ocupa un registro, los registros sobrepasarán los límites de los bloques y un registro estará ubicado en varios bloques y aumentarán los accesos para leer o escribir ese tipo de registros. Cuando se borra un registro se puede: o Borrado 1 § Desplazar ordenadamente el contenido de los registros que le suceden. Accesos adicionales a los bloques. o Borrado 2 § Desplazar el último registro al espacio liberado o esperar a una inserción para ocuparlo. o Borrado 3 § Marcar el registro borrado y añadir una nueva estructura: cabecera del archivo (bytes al inicio del archivo con la dirección del primer registro borrado, punteros lista libre) Archivos con registros de longitud variable: o En los sistemas de bases de datos surgen debido a: § almacenamiento de varios tipos de registros en un mismo archivo § registros que permiten longitudes variables en uno o varios campos § registros que permiten campos repetidos o Formas de representación de registros de longitud variable § En cadenas de bytes: Añadir un símbolo especial de fin de registro al final o guardar la longitud del registro al comienzo de cada registro. o Difícil reutilizar el espacio de registros borrados § Gragmentos desaprovechados o Aumentar el tamaño de los registros requiere desplazarlo a otro lugar § Proceso costoso 29 § Estructuras de páginas con ranuras Hay una cabecera en cada bloque con el # de elementos del registro de cabecera, el final del espacio vacío y un array con la ubicación y el tamaño de cada registro o Los registros se ubican contiguamente en el bloque empezando por el final o El espacio libre contiguo al último registro. § Al insertar un registro se le asigna el final del espacio libre y se añade su entrada en cabecera. § De longitud fija: Cada registro de longitud variable se implementa usando uno o varios registros de longitud fija. o Técnica de espacio reservado: § registros de una longitud máxima fija que no se supera. El espacio vacío se rellena con nulos. o Técnica de representación de listas: § lista de registros de longitud fija enlazada con punteros. § Para minimizar espacio permite usar dos tipos de bloque en el archivo: bloque ancla bloque de desbordamiento. 30 Organización de los registros en archivos Formas de organización o Archivos en montículos o Archivos secuenciales o Archivos en agrupaciones Archivos en montículo o Cualquier registro se puede colocar en cualquier parte del archivo donde haya espacio. o Los registros no están ordenados. o Hay un archivo por relación y las tuplas pueden o representarse como registros de longitud fija. o Adecuado para BD relacionales pequeñas. o Usa el sistema de archivos que forma parte del sistema operativo. Archivos secuenciales o Los registros se guardan en orden secuencial, de acuerdo con el valor de la clave de búsqueda de cada registro (índices). o Una clave de búsqueda es un atributo o conjunto de atributos que permiten la recuperación rápida de los registros (vinculados mediante punteros) según el orden de esta clave de búsqueda. o Para minimizar los accesos a los bloques en el procesamiento: § los registros se guardan físicamente de acuerdo al orden indicado por la clave o en uno próximo. o Inserción rápida de nuevos registros pero difícil procesamiento de registros (el orden físico no coincide con el orden de la clave de búsqueda) y puede ser necesaria la reorganización del archivo. 31 Archivos en agrupaciones o Los registros se asocian al bloque del archivo donde se coloca de acuerdo con el resultado de una función que opera sobre algún atributo de cada registro. o En un mismo archivo se pueden guardar registros de relaciones diferentes. o Los registros relacionados de diferentes relaciones se guardan en el mismo bloque y, por tanto, una misma operación de E/S afecta a los registros relacionados de todas esas relaciones. o Procesamiento de consultas Los pasos básicos (no comunes a todas las BD) del procesamiento de una consulta son: o Paso 1 § Análisisytraducción o Paso 2 § Optimización o Paso 3 § Evaluación o Análisis y traducción: § Análisis de sintaxis (nombres, paréntesis...) § Construcción de un árbol § SQL (lenguaje humano) à Álgebra relacional (lenguaje máquina)/árbol de análisis 32 Optimización: o una consulta à varios SQL à varia expresiones del álgebra relacional à varias evaluaciones o Primitiva de evaluación § Expresión de ágebra relacional + instrucciones de cómo evaluarla o Plan de ejecución de la consulta § Secuencias primitivas o Distintos planes de ejecución tienen distintos costes. § El sistema elige el plan de ejecución más eficiente (minimiza costes) § El optimizador conoce el coste aproximado de cada operación o Evaluación o El motor de evaluación o ejecución de las consultas sigue el plan de ejecución y devuelve la respuesta a la consulta Medidas del coste de una consulta en términos de diferentes recursos: o Acceso al disco (transferencias de bloques de disco): § El más importante. § Se asume que todas las transferencias tienen el mismo coste pero no es así dependen del tiempo de búsqueda del dato (bloques son contiguos o no, E/S secuencial o aleatoria) § (# operaciones de búqueda * tiempo medio búsqueda) + (# bloques leídos * tiempo medio lectura) + (# bloques escritos * tiempo medio escritura) § Tiempo de escritura de un bloque > tiempo de lectura de un bloque § Se ignora el coste de escribir el resultado final de una operación en disco. § Todos los costes dependen del tamaño de la memoria intermedia mejor caso: todos los datos necesarios se pueden leer en memoria intermedia peor caso: sólo unos pocos bloques necesarios están contenidos o Tiempo CPU para ejecución § Difícil de estimar pero velocidad de ejecución en aumento § Los optimizadores también tienen en cuenta este valor o Coste de comunicación (BD distribuidas) En el procesamiento de consultas, se usa el explorador de archivo para acceder a los datos (operador más cercano a los datos) o Los exploradores son son algoritmos de búqueda que localizan y recuperan los registros que cumplen una condición de selección (consultas de selección). o El explorador puede leer una relación completa si estáalmacenada en un único archivo dedicado. 33 Tipos de algoritmos exploradores: o Para operaciones de selección § Búsqueda lineal Se explora cada bloque del archivo y se comprueban todos los registros § Búsqueda binaria El archivo está ordenado según un atributo y la selección es una comparación de igualdad con ese atributo § Algoritmos para selecciones con índices, con condiciones de comparación (=), con condiciones de conjunción (^), disyunción (^ para bajo) y negación(¬) o Para operaciones de ordenación, de agregación eliminación de duplicados, proyección o Para operaciones de reunión interna y externa Evaluación de expresiones: o Para procesar consultas en las que están implicadas varias operaciones hay que evaluar las expresiones tratando sus operaciones a la vez pero en un orden apropiado § (representación gráfica de la expresión en un árbol de operaciones – niveles) § Enfoques: Los resultados intermedios de cada evaluación se materializan en una relación temporal para ser utilizada en la evaluación de la siguiente operación. Las relaciones temporales se escriben en disco. Se combinan varias operaciones (encauzamiento) y se pasan los resultados de estas operaciones sin tener que leer y escribir relaciones temporales. 34 Tema#6 Arquitectura de los sistemas de base de datos 1) Introducción: La arquitectura de un sistema de bases de datos está influenciada por el sistema informático en el que se ejecuta. En particular depende de: o La conexión en red: § división del trabajo en tareas ejecutadas en servidor y en clientes o El paralelismo o procesamiento paralelo: § acelera las actividades del sistema, respuestas más rápidas a las transacciones y ejecución de más transacciones por segundo o La distribución de datos geográfica o administrativamente. § Los datos residen donde se generan o necesitan pero son accesibles desde otros lugares (copias de la base de datos) 2)Arquitecturas centralizadas: Los sistemas de bases de datos centralizados son los que se ejecutan en un único sistema informático sin interaccionar con otro ordenador. o Ejemplo 1: § Sistema monosaurio que se ejecuta en un ordenador personal o estación de trabajo. § Ya disponen de multitarea (tiempo compratido) o Ejemplo 2: § Sistema multiusuario con varias UCP y sistema operativo multiusuario. Da servicio a usuarios conectados a través de terminales y tiene control de concurrencia o Ejemplo 3: § Con distinto grado de paralelismo: Cada consulta se ejecuta en un único procesador (no se dividen) y se da la concurrencia (mayor # de transacciones por segundo pero no más rápidas) Cada consulta de los usuarios se divide en tareas simples que se ejecutan en los distintos procesadores. 35 3)Arquitecturas cliente-servidor: Con el crecimiento de las prestaciones de los ordenadores y de las redes de área local, los sistemas se han distanciado de la arquitectura centralizada. o Los terminales (clientes) que son ordenadores gestionan el interfaz de usuario o el sistema central (servidor) se encarga de atender las peticiones de los clientes. los sistemas de bases de datos cliente-servidor tienen su funcionalidad dividia en 2 partes: o la parte visible al usuario (clientes): § Herramientas como formularios, diseñadores de informes y facilidades gráficas de interfaz de usuario. o El sistema subyacente (servidor): § Gestiona el acceso a las estructuras § La evaluación y optimización de consultas § El control de concurrencias § La recuperación 36 4)Arquitecturas de sistemas de servidores: Pueden dividirse en servidores de transacciones y servidores de datos. o Servidores de transacciones: § Proporcionan la interfaz para que los clientes envíen peticiones, se ejecuten acciones en el servidor y se devuelvan los resultados al cliente. § Estructura: § múltiples procesos se ejecutan y tienen acceso a los datos comunes. Procesos que gestionan consultas y bloqueos, procesos que escriben en la base de datos y en registros de memoria intermedia, procesos que realizan puntos de revisión y procesos para monitorizar otros procesos. o servidores de datos: § permiten la interacción de los clientes con los servidores realizando peticiones de lectura o modificación de datos en archivos. § Las máquinas clientes son comparables al servidor en cuestiones de procesamiento. Estos sistemas suministran datos sin formato a los clientes, minimizan la comunicación entre clientes y servidores usando caché de datos y de bloqueos en los clientes. 5)Sistemas paralelos de bases de datos: Las máquinas que trabajan en paralelo son muy comunes. o Estas máquinas mejoran la velocidad de procesamiento y de E/S mediante la utilización de la CPU y los discos en paralelo. Los sistemas paralelos permiten manejar grandes bases de datos (TB) y procesan miles de transacciones por segundo. o Los sistemas centralizados o de cliente-servidor no son suficientemente potentes. En el procesamiento paralelo se realizan muchas operaciones simultáneamente. o En el procesamiento secuencial, las operaciones se ejecutan en serie. Distintos grados de paralelismo: o Pequeño número de procesadores potentes o Miles de pequeños procesadores no muy potentes 37 Varios modelos de arquitecturas paralelas: o de memoria compartida § procesadores limitados porque comparten el bus para acceder a la memoria o de disco compratido § comunicación entre procesadores lenta o sin compartición § coste de comunicación y acceso a discos remotos o jerárquico § combinación de modelos 38 6)Sistemas distribuidos: En un sistema distribuido de bases de datos, la base de datos se almacena en varios ordenadores. o Los ordenadores se ponen en contacto a través de redes de comunicación y no comparten ni memoria ni discos. Las máquinas pueden tener diferente tamaño y función y se denominan sitios (distribución física) o nodos. A diferencia de los sistemas paralelos, la base de datos se encuentra en varios lugares geográficos distintos, se administran separadamente y su interconexión es más lenta. Una base de datos distribuida es un conjunto de bases de datos parcialmente independientes que suelen compartir un esquema común (algunas relaciones pueden almacenarse sólo en algunos sitios), ejecutar el mismo software de gestión y los sitios deberían conocer la existencia de los otros para coordinar el procesamiento de transacciones que acceden a datos remotos. Los procesadores se comunican entre sí a través de una red de comunicación que gestiona el encaminamiento y las estrategias de conexión. Objetivos de los sistemas de BD distribuidos: o Datos compratidos § Los usuarios pueden acceder desde su ubicación a datos localizados en otras ubicaciones. o Autonomía § Cada ubicación mantiene un grado de control sobre sus datos locales § Hay un administrados de BD global responsable de todo el sistema que delega en administradores de BD locales Distintod grados de autonomía local o Disponibilidad § Si un sitio falla, el resto puede seguir trbajando § Si datos replicados en varios sitios, una transacción que necesite un elemento concreto puede encontrarlo en varios sitios § El fallo de un sitio no implica necesariamente la caída del sistema. El sistema no debe utilizar los servicios del sitio que falló. Cuando el sitio se recupera, hay mecanismos para integrarlo de nuevo en el sistema. § La disponibilidad es crucial para sistemas que utilizan aplicaciones en tiempo real. 39 Implementación de sistemas de BD distribuidos: o Atomicidad de las transacciones para evitar inconsistencias. § Si una transacción se ejecuta en varios sitios puede llegar a un estado de inconsistencia si en uno de los sitios se cancela. o Los protocolos de compromiso de dos fases detienen la transacción hasta que esté preparada en todos los sitios de ejecución y después uno de los sitios que hace de coordinador la aprueba o la cancela. o Control de concurrencia § una transacción puede acceder a elementos de varios sitios, los administradores de transacciones de los distintos sitios necesitan coordinarse (bloqueos locales de los elementos accedidos). § Existe posibilidad de un interbloqueo que involucre a transacciones de múltiples sitios (algoritmos de detección y resolución de interbloqueo). § La réplica de datos complica el control de concurrencia o Inconvenientes § Complejidad del sotfware: Coste de desarrollo § Mayor probabilidad de errores en el funcionamiento de los algoritmos § Sobrecarga de procesamiento intercambio de mensajes para coordinación entre sitios 40

Use Quizgecko on...
Browser
Browser