BASE DE DATOS
PARCIAL
UNIDAD 1
En las aplicaciones de bases de datos tradicionales la mayor parte de la información que hay almacenada
y a la que accedemos es textual o numérica. Las bases de datos multimedia (audio, flujos, imágenes, etc.)
están tomando mayor importancia.
Los almacenes de datos y sistemas de procesamiento analítico en línea (OLAP) se utilizan para extraer y
analizar información útil de BD grandes y así permitir la toma de decisiones.
BASE DE DATOS
Es una colección de datos interrelacionados almacenados en conjunto sin redundancia perjudicial o
innecesaria. Su finalidad es servir a una aplicación o más, de la mejor manera posible. No es correcto
determinar BD a un surtido aleatorio de datos. Los datos se deben almacenar de forma que resulten
independientes de los programas.
Debe ser en todo momento precisa y fiable y deben reflejarse los cambios tan pronto como sea posible.
Puede generarse manualmente o estar computerizada.
Los datos son los hechos conocidos que se pueden grabar y que tienen un significado implícito.
SISTEMA DE ADMINISTRACIÓN DE DATOS (DBMS)
DATABASE MANAGEMENT SYSTEM
Colección de programas que permite a los usuarios crear y mantener una base de datos y a las aplicaciones
que interactúan con la BD. Es un software que tiene como propósito facilitar los procesos de:
Definición: especifica los tipos de datos, estructuras y restricciones de los datos, los cuales se
almacenan en el diccionario de la BD (metadatos).
DDL create, alter, drop, rename
Crea la estructura lógica de la BD
Manipulación: permite manipular la BD.
DML insert, delete, update, select
Seguridad:
DCL grant, revoke
Gestiona permisos y seguridad de la BD.
Integridad de datos
Respaldo y recuperación de la BD
Transacciones
Transacción: programa en ejecución o proceso que incluye uno o más accesos a la BD. Conjunto de
operaciones atómicas. Puede ser local o global
Características de la BD frente al procesamiento de archivos:
- Naturaleza autodescriptiva de un sistema de BD
El sistema de BD contiene la propia BD y la definición de la estructura de la misma con sus restricciones,
almacenando en el catálogo de DBMS.
- Aislamiento entre programas y datos y abstracción de datos
Permite la independencia entre programas-datos y programas-operación, es decir, las aplicaciones de usuario
pueden operar sobre los datos invocando operaciones por sus nombres y argumentos, independientes de
cómo están implementadas. A su vez, oculta los detalles del almacenamiento y de implementación que no
son interesantes para los usuarios.
Garantiza que parezca que c/transacción se ejecuta de forma aislada de otras transacciones, aunque pueden
estar ejecutándose al mismo tiempo.
- Soporte a varias vistas
Algunos usuarios no deben preocuparse por si los datos que refieren están almacenados o son derivados, por
lo que el DBMS posee un multiusuario para definir múltiples vistas, dependiendo el usuario.
- Compartición de datos y procesamiento de transacciones multiusuario
Incluyendo un software de control de concurrencia, permite que los usuarios actualicen de modo controlado
los mismos datos para que así el resultado sea correcto.
COMPONENTES DE UN SISTEMA DE BD
Si o si debe tener:
Equipos físicos - Hardware
Usuarios
Software
Datos
ACTORES DE LA ESCENA:
Personas cuyos trabajos implican el uso diario de una BD grande. Pueden ser:
Analistas de Sistemas
Diseñadores de BD
Identifica los datos que se almacenarán en la BD y elige las estructuras para representar y almacenar los
datos. Se comunica con los usuarios para conocer requisitos y poder crear un diseño que satisfaga las
necesidades
Usuario DBA (DataBase Administrator)
Administrador en jefe que supervise y administre los recursos. Responsable de definir las estructuras,
especificar perfiles y seguridad (permisos), coordinar y monitorizar el uso, implementar la integridad
(estándares), definir métodos de respaldo y recuperación y adquirir recursos necesarios.
Programadores de aplicación
Encargados de implementar los requisitos y especificaciones que han sido determinados por los analistas de
negocios, los diseñadores de sistemas, etc.
Usuario final
Personas cuyos trabajos requieren acceso a la BD, están familiarizados con la interfaz de usuario de las
transacciones estándares. Pueden ser:
- Ocasionales: accede ocasionalmente especificando sus peticiones y haciendo consultas.
- Principiantes: consulta y actualiza constantes de la BD. Poseen opciones limitadas
- Sofisticado: completamente familiarizados con el DBMS
- Independientes: son de uso personal. Mantienen BD personales con paquetes
TRABAJADORES ENTRE BAMBALINAS
Diseñadores e implementadores de DBMS
Diseña e implementa módulos y las interfaces de DBMS como paquete de software
Desarrolladores de herramientas
Diseñan e implementan las herramientas, es decir, los paquetes de software que facilitan el modelado y el
diseño de la BD, el diseño del sistema de BD y la mejora del rendimiento.
Personal de mantenimiento
Responsables de la ejecución y mantenimiento real del entorno hardware y software.
La ventaja de utilizar la metodología DBMS es el poder controlar la redundancia resultante de almacenar los
mismos datos varias veces. Esto garantiza la coherencia y ahorra espacio de almacenamiento. A veces,
debemos recurrir a la redundancia controlada para mejorar el rendimiento de las consultas.
La redundancia puede llevar a problemas, tales como: la duplicación del esfuerzo, derrocación de espacio de
almacenamiento (generando BD más grandes) y la incoherencia de los datos debido a las duplicaciones.
FUNCIONES DEL DBMS
1. Controlar la seguridad
Debe proporcionar seguridad y un subsistema de autorización para crear cuentas y especificar restricciones.
2. Hacer cumplir las reglas de integridad
Debe proporcionar servicios para definir e implementar las restricciones. Debemos educar al DBMS, si no le
decimos al motor que no podemos hacer no podemos esperar que lo controle
3. Administrar accesos concurrentes
4. Permitir copia de seguridad y recuperación
Debe ofrecer la posibilidad de recuperarse ante fallos. Es el responsable de la recuperación
5. Suministrar diferentes vistas
Debe proporcionar distintas interfaces gráficas de usuario (GUI), dependiendo el rol del usuario es la pantalla.
6. Permitir crear estructuras de almacenamiento para un buen procesamiento
Debe proporcionar capacidades para ejecutar eficazmente consultas y actualizaciones y acelerar la búsqueda
en el disco de registros deseados. Utiliza índices.
7. Facilitar la carga de datos desde otros archivos
La carga de los archivos de datos existentes se realiza con una utilidad de carga
8. Permitir reorganizar la BD para optimizar
Debe reorganizar un conjunto de archivos de BD en una org. de archivos para mejorar el rendimiento.
9. Mantener estadísticas y permitir el monitoreo
Debe monitorizar el uso de la BD y ofrecer estadísticas al DBA para tomar decisiones.
UNIDAD 2
METODOLOGÍA DE BD
Una característica de la metodología de BD es que ofrece un nivel de abstracción de datos. La abstracción
de datos es la supresión de detalles de la organización y el almacenamiento de datos. Una metodología de
BD debe soportar la abstracción de datos para que distintos usuarios puedan percibir los datos con el nivel
que prefieran. Mediante el modelo de datos, podemos conseguir esa abstracción. A su vez, dicho modelo
incluye un conjunto de operaciones básicas para especificar las recuperaciones y actualizaciones de la BD.
MODELOS DE DATOS
Es una colección de herramientas utilizadas para describir la estructura de una BD, establecer relaciones y
definir restricciones. Se clasifican en:
Basado en Objetos: modelo de entidad, modelo orientado a objetos
- Modelo Entidad:
Modelo de datos conceptual de alto nível. Describe los datos como entidades, relaciones y atributos. Facilita
el momento de análisis.
- Modelo Orientado a objetos:
Surge por la necesidad de las aplicaciones. Permitió incrementar en uso la POO y hacer persistentes los
objetos ya que la información está representada mediante ellos.
Basado en registros: modelo de red, modelo jerárquico y modelo relacional
- Modelo de red:
Modelo físico. Los datos son representados como una colección de registros. Utiliza punteros para
representar las relaciones.
- Modelo Jerarquico:
Tiene una implementación particular del modelo de red. Se basa en registros (datos) y punteros (relaciones)
pero estableciendo una jerarquía padre-hijo. Un hijo no puede tener más de 1 padre, en ese caso se debe
duplicar el registro, creando redundancia.
- Modelo Relacional:
Establece la BD como una colección de relaciones. Las tuplas son los registros y los atributos son las
columnas. Define un dominio, que es el conjunto de valores atómicos que puede asumir un atributo. También
define un grado (nro de atributos) y una cardinalidad (nro de filas). La cardinalidad puede variar, mientras que
el grado no debería.
BD No Relacionales: modelo clave-valor, modelo documentales, modelo grafo y modelo columnar
Los datos almacenados no requieren formato. En caso de que el espacio de almacenamiento me quede
chico, se permite la escalabilidad horizontal. Sacrifica el ACID para ganar velocidad. Permite la replicación y
distribución y almacenar gran cantidad de datos.
- Modelo clave-valor:
Cada elemento se identifica por una llave única
- Modelo documental:
Almacena datos tipo documento. Brinda flexibilidad para almacenar datos.
- Modelo de grafos:
Almacena datos relacionados bajo muchos niveles. Posee nodos que representan entidades y aristas que
representar la dirección de nuestra relación
- Modelo columnar
C/fila posee distintas columnas relacionadas a una Key y c/ columna hace referencia a un campo y su valor.
ARQUITECTURA DE TRES ESQUEMAS
El objetivo es separar las aplicaciones de usuario y las BD físicas. Posee 3 niveles:
1) Nivel externo: describe la parte de la
BD en la que un grupo de usuarios
está interesado. Posee mayor
abstracción. Se ve lo que el usuario
quiere que se vea.
2) Nivel conceptual: describe la
estructura de toda la BD para una
comunidad de usuarios. Oculta los
detalles de almacenamiento físico y
se concentra en describir entidades,
tipos de datos, relaciones,
operaciones y restricciones.
3) Nivel interno: describe las
estructuras de almacenamiento físico
de la BD. Describe los detalles de
almacenamiento y rutas de acceso
Los datos almacenados existen a un nivel interno. El DBMS debe transformar una solicitud especificada en un
nivel externo en una solicitud contra el esquema conceptual, para después en una solicitud en el esquema
interno. Estos procesos se denominan mapeados.
El esquema de la base de datos es la descripción de la BD, que se especifica durante la fase de diseño y no
cambia con frecuencia. Sin embargo, los DBMS más modernos, incluyen operaciones para la evolución del
esquema para introducir cambios. El diagrama de esquema muestra las estructuras de cada tipo de registro.
A cada objeto de un diagrama de esquema lo llamamos estructura de esquema.
Como los datos de una BD pueden cambiar con frecuencia, los datos en un momento concreto los llamamos
estado de la base de datos o conjunto actual de ocurrencias. En un estado dado, cada estructura de
esquema tiene su propio conjunto actual.
Al definir una nueva BD, solo especificamos su esquema al DBMS, con estado vacío. El estado inicial se da
cuando se carga por primera vez los datos iniciales y cada vez que se actualice la misma, tendremos otro
estado. El DBMS es el encargado de garantizar que cada estado sea un estado válido.
INDEPENDENCIA DE DATOS
Capacidad de cambiar el esquema en un nivel sin cambiar el esquema en el siguiente nivel más alto.
- Independencia lógica: capacidad de cambiar el esquema conceptual sin cambiar los esquemas
externos o programas de aplicación.
- Independencia física: capacidad de cambiar el esquema interno sin cambiar el esquema conceptual.
La independencia lógica es difícil de conseguir porque permite cambios estructurales y restrictivos.
COMPONENTES DEL DBMS
El usuario DBA procesa las sentencias DDL mediante el compilador DDL para identificar las descripciones
de las estructuras del esquema y almacenar la descripción en el diccionario.
Los usuarios casuales, interactúan con una interfaz de consulta interactiva para que luego un compilador de
consultas analice las consultas sintácticamente y compile todo en un formato interno. El optimizador de
consultas reconfigura y reordena, eliminando redundancias, para consultar el catálogo y obtener información
de los datos almacenados.
Los programadores de aplicaciones escriben programas que son enviados al precompilador, quien extrae
comandos DML dividiendo lo que va al lenguaje host y lo que va al compilador DML.
ARQUITECTURA CLIENTE/SERVIDOR
1) Arquitectura centralizada de los DBMS: Toda funcionalidad DBMS, ejecución de aplicaciones e
interacciones con el usuario son llevadas a cabo por una máquina
2) Arquitectura cliente/servidor: define servidores especializados con funcionalidades específicas. La
máquina cliente le proporciona al usuario las interfaces apropiadas para utilizar los servidores y ejecutar
aplicaciones locales. Se llama arquitectura de dos capas porque los componentes están distribuidos en el
cliente y servidor. Puede ser de lógica o física.
3) Arquitectura de 3 capas y n capas para las aplicaciones web: añade una capa intermedia entre el
cliente y el servidor,denominada servidor de aplicaciones. Este servidor almacena las reglas comerciales que
se utilizan para acceder a los datos del servidor BD. Acepta solicitudes del cliente, las procesa y envía
comandos al servidor BD.
CRITERIOS PARA LA CLASIFICACIÓN DE LOS SISTEMAS DE DBA
1. Modelo de datos en el que el DBMS está basado: puede ser modelo de datos relacional, modelo de
datos de objetos, modelo de datos jerárquicos y de red, entre otros.
2. Número de usuarios: dependiendo de la cant. de usuarios que soporta el sistema. Los sistemas de un
solo usuario soportan un usuario al mismo tiempo, mientras que los sistemas multiusuario, soportan
varios usuarios simultáneamente.
3. Número de sitios: donde se distribuyó la BD. Puede ser centralizado, si los datos están almacenados
en una sola computadora; distribuido, si puede tener las BD y el software DBMS distribuidos en
muchos sitios; homogéneos, si utilizan el mismo software DBMS en varios sitios; o federado, si los
participantes se acoplan y tienen cierto grado de autonomía local.
4. Coste: hay productos gratuitos o pagos
5. Tipos de rutas de acceso: para almacenar archivos. Puede ser de propósito general o propósito
especial (tiene un propósito especial para una app específica).
UNIDAD 5
MODELO RELACIONAL
Representa la BD como una colección de relaciones. Las relaciones están pensadas como tablas de valores,
donde cada fila representa una colección de valores relacionados.
Elementos:
Nombre de tabla (relación)
Entidad: representada por las filas (tupla)
Atributos: representada por las columnas
Propiedad de las transacciones ACIP
- Atomicidad: la transacción debe ejecutarse como una unidad de trabajo. Todo o nada
- Consistencia: toda transacción debe pasar de un estado válido y consistente a otro igual.
- Aislamiento: la realización de dos transacciones sobre los mismos datos debe ser independiente y no
generar error
- Durabilidad: una vez realizada la transacción, persistirá y no se podrá deshacer
CARACTERÍSTICAS DE LAS RELACIONES:
1. Las tuplas en una relación no están ordenadas
2. Los atributos en las tuplas no están ordenados
3. Los valores de los atributos deben ser atómicos
4. No hay tuplas (filas) repetidas completas
RESTRICCIONES DEL MODELO RELACIONAL
1. Restricciones Implícitas o basadas en el modelo: características o propiedades de las relaciones
2. Restricciones Explícitas o basadas en esquemas: especificadas en el DDL
- Valores atómicos
- Condiciones de clave las claves candidatas deben tener:
Unicidad: no puede haber tuplas con el mismo valor en un atributo
Minimalidad: debe ser el menor conjunto de atributos
3. Restricciones basadas en las reglas de negocio: relacionadas con el significado y con el
comportamiento de los atributos
INTEGRIDAD
Las restricciones de integridad de entidad declaran que el valor de ninguna clave principal (PK) puede ser
NULL (nula). Dicha clave se emplea para identificar tuplas individuales en una relación, si fuera nula, no
podríamos identificar las tuplas.
Las restricciones de integridad referencial declaran que una tupla de una relación que hace referencia a
otra relación debe hacer referencia a una tupla existente de esa relación. Se da a partir de relaciones sobre
las entidades
Son Reglas de Integridad Generales: están en todas las BD Relacionales
KEYS:
Foreign key (clave foránea): debe coincidir en cantidad y tipo de atributos con la PK que referencia y puede
aceptar valores nulos.
Primary key (clave primaria): debe ser no nula y única
ALMACENAMIENTO EN DISCO
Las BD deben almacenarse físicamente en un medio de almacenamiento, los cuales forman una jerarquía de
almacenamiento que incluye:
Almacenamiento principal: proporciona acceso rápido a los datos y volátil, pero tiene una capacidad
de almacenamiento limitada. Ejemplo: memoria principal y caché.
Almacenamiento secundario y terciario: Poseen gran capacidad, cuestan poco y proporcionan un
acceso más lento a los datos. Ejemplo: secundario: unidades de disco duro, terciario: discos ópticos.
ACCESO A DATOS DEL NIVEL INTERNO
Si un Usuario realiza una consulta al DBMS le pide información, este la toma y pide tablas/registros al S.O,
quien lo toma mediante el Administrador de Archivos. El ADA le pide páginas/bloques al Administrador de
Discos, y mediante el Diccionario de datos se obtienen los datos. Para devolver los datos requeridos se
produce el mismo intercambio pero viceversa
JERARQUÍAS DE MEMORIA
La memoria de alta velocidad es la más cara, por lo tanto, está disponible con menor capacidad. La memoria
de velocidad más baja es la cinta offline.
La memoria más cara es la memoria caché (RAM estática), usada para acelerar la ejecución de programas.
Luego viene la DRAM (RAM dinámica memoria principal), que se usa para que la CPU almacene
programas y datos ya que posee bajo coste, pero tiene baja volatilidad en comparación con la anterior.
Los programas están y se ejecutan en la DRAM, mientras que las BD más grandes están en el
almacenamiento secundario, leyendo y escribiendo los búferes de memoria principal.
La memoria flash se encuentra entre la DRAM y el almacenamiento en disco magnético y es de alta
densidad y alto rendimiento. Las cintas magnéticas archivan y almacenan las copias de seguridad de los
datos.
ORGANIZACIÓN DE FICHEROS
Forma en la que se colocan e interconectan los registros y bloques.
1) Ficheros de registros desordenados (HEAP):
Coloca los registros en el disco sin un orden particular, añadiendo los registros nuevos al final del fichero. Lee
el último bloque del fichero, agrega otro registro y reescribe el bloque para luego guardar en la cabecera del
fichero la dirección del último bloque del fichero. La búsqueda puede ser lenta ya que es lineal (bloque a
bloque), en un fichero de n bloques, requiere buscar de media en (n/2) bloques. Al eliminar un registro, se
produce una pérdida de espacio ya que deja un espacio inutilizado en el bloque.
2) Ficheros de registros ordenados:
Está ordenado de acuerdo a los valores de uno de los campos (clave). La inserción de registros es costosa
para un archivo ordenado ya que los registros deben permanecer físicamente ordenados y para ingresar un
registro debemos encontrar su posición correcta. Por ello debemos reservar algo de espacio sin usar en
c/bloque para guardar nuevos registros. La eliminación de registros es menos grave si se utilizan marcadores
de borrado pero igualmente es costosa. En cuanto a la búsqueda de un registro, es eficaz ya que se utiliza la
búsqueda binaria.
3) Técnicas de dispersión - hash:
Basado en la dispersión, lo que proporciona un acceso muy rápido a los registros que cumplen con la
condición de búsqueda, esta condición debe ser una condición de igualdad sobre un solo campo, denominado
campo de dispersión o campo hash si es la PK. Proporciona una función h, que se aplica al valor del campo
hash de un registro y produce la dirección del bloque de disco en el que está almacenado. Utiliza una
búsqueda interna que accede a un grupo de registros exclusivos utilizando el valor del campo.
UNIDAD 14
NIVEL INTERNO
Definimos una estructura de índice con solo un campo de fichero, se lo conoce como campo de indexación.
El índice almacena todos los valores del campo de índice, junto con una lista de punteros a todos los bloques
del disco que contienen los registros con ese valor. El fichero de índices es más pequeño que el fichero de
datos por lo que se acelera el acceso a los datos. El fichero ya debe existir previamente, no podemos crear un
índice para una relación inexistente. Puedo tener varios índices por fichero, pero esto equivale a una mayor
estructura, lo cual hay que evitar. Los índices se pueden clasificar en:
Tipos de índices ordenados de un nivel:
- Principal: tiene como precondición que el fichero debe estar ordenado por la PK y no contener
valores repetidos. El fichero índice tiene 2 columnas:
1. El primer campo es del mismo tipo de datos que el campo de la PK
2. El segundo campo es un puntero a un bloque del disco que contiene el dato
Es un índice escaso, es decir, no tiene todos los valores presentes, si no solo los primeros de
c/bloque. Utiliza búsqueda binaria. Un problema con este índice para el DBMS es al momento
de la actualización. Para c/relación puedo tener solo 1 índice principal debido a la PK.
- Agrupado: tiene como precondición de que el fichero debe estar ordenado físicamente por
campo no clave. El fichero índice tiene 2 columnas:
1. El primer campo contiene un registro por cada valor distinto del campo agrupado
2. El segundo es un puntero al primer bloque que contiene el registro
Es un índice denso, es decir, tiene una entrada de índice por cada valor distinto de la clave de
búsqueda. Para insertar registros se reserva un bloque entero para cada valor del campo
agrupado.
- Secundario: tiene como precondición que el fichero ya tenga un índice previamente. El fichero
índice tiene 2 columnas:
1. El primer campo es del mismo tipo de datos que algún campo no ordenado del fichero
2. El segundo campo es un puntero
Puede haber más de un índice secundario para el mismo fichero. Es un índice denso.
Proporciona un orden lógico para los registros almacenados.
Índice multinivel: considera el fichero de índice (primer nivel) como un fichero ordenado con un valor
distinto por cada K. Podemos crear un índice principal para el primer nivel, al cual denominamos
segundo nivel, por esta razón podemos utilizar anclas de bloque de modo que el segundo nivel tenga
una sola entrada por cada bloque del primer nivel. Podemos repetir el proceso para el segundo nivel.
UNIDAD 25
BASE DE DATOS DISTRIBUIDAS (DDB)
Colección de múltiples BD distribuidas interrelacionadas de forma lógica sobre una red de computadores.
Surge de la unión de 2 tecnologías: BD y Comunicación de datos y redes. Distribuida en nodos.
Sistema de BDD: cada nodo es un sistema de BD, por lo que c/nodo tiene los 4 componentes
DDBMS es un sistema de gestión del DDB. Es el software encargado de administrar la DDB mientras hace la
distribución transparente para el usuario.
La transparencia hace referencia a que no le deja ver ningún detalle técnico al usuario, con el propósito de
alejarlo lo mayor posible del almacenamiento físico.
ARQUITECTURA:
- Arquitectura de memoria compartida: varios procesadores comparten almacenamiento secundario y
memoria primaria
- Arquitectura de disco compartido: varios procesadores comparten el almacenamiento secundario, pero
cada uno tiene su propia memoria primaria
Permite a los procesadores comunicarse entre sin los gastos de intercambio de mensajes sobre una red.
TÉCNICAS DE FRAGMENTACIÓN
Fragmentación de datos: fragmento mi BD en distintos nodos. Puede ser:
- Fragmentación horizontal: Agrupa filas para crear subconjuntos de tuplas, cada uno de ellos
con un significado lógico y los almacena en otra BD. Estas tuplas se especifican mediante una
condición sobre uno o más atributos.
- Fragmentación vertical: Agrupa las columnas, siempre acompañadas por la PK para poder
reconstruir la relación completa, según un criterio que tengan en común.
- Fragmentación mixta: entremezclando ambos tipos de fragmentación. Agrupa todos los
atributos (columnas) y tuplas (filas) que satisfagan la condición en un subconjunto.
Replicación: mejora la disponibilidad de los datos. Sin embargo puede ralentizar las operaciones de
actualización ya que debemos ejecutar esa operación en cada copia de la BD para mantener la
consistencia. Puede ser:
- Replicación total: tomar mi BD y replicarla en todos los nodos
- Replicación parcial: replicó algunos fragmentos de la BD en distintos nodos
VENTAJAS DE DDB
1. Administración de datos distribuidos con distintos niveles de transparencia: El DDBMS debe ser una
distribución transparente. Tipos de transparencia:
- Transparencia de red o distribución: autonomía del usuario de los detalles operacionales
- Transparencia de replicación: permite que el usuario no se entere de la existencia de copias
- Transparencia de fragmentación: permite que el usuario no se entere de la existencia de
fragmentos. Puede ser horizontal (distribuye una relación en conjunto de tuplas) o vertical
(c/subrelación está definida por un subconjunto de columnas de la relación original)
- Transparencia de diseño y ejecución: libertad de saber cómo está diseñada la BDD
2. Incremento de la fiabilidad y la disponibilidad: logra una mejora al replicar los datos y el software en
más de una ubicación.
- Fiabilidad: probabilidad de que un sistema esté funcionando en un momento de tiempo
- Disponibilidad: probabilidad de que un sistema está continuamente disponible en un intervalo
3. Rendimiento mejorado: al distribuir las BD, las consultas locales y transacciones de acceso a los datos
tienen mayor rendimiento debido al menor tamaño de las BD.
4. Expansión más sencilla
FUNCIONES DEL DDBMS:
1) Seguimiento de los datos: capacidad de controlar la distribución de los datos, fragmentación y
replicación
2) Procesamiento de consultas distribuidas: posibilidad de acceder a sitios remotos y transmitir consultas.
3) Administración de transacciones distribuidas: capacidad de diseñar estrategias de ejecución de
consultas y transacciones, sincronizar el acceso a datos y mantener la integridad de la BD
4) Administración de datos replicados: capacidad de decidir a qué copia acceder y mantener la
consistencia de las copias
5) Recuperación de una BD distribuida: capacidad de recuperarse de las caídas de mis nodos
6) Seguridad: administrar la seguridad de los datos, autorizando accesos a los usuarios
7) Administración del catálogo distribuido: gestionar el directorio que contiene los metadatos
Aumentan la complejidad de un DDBMS en relación con un DBMS centralizado.
TIPOS DE SISTEMAS DE DDB:
Lo que tienen en común es que los datos y el software están distribuidos en distintas localizaciones
conectadas por alguna red de comunicaciones. Factores a tener en cuenta:
Grado de homogeneidad:
- Homogéneo: los servidores y usuarios usan el mismo software
- Heterogéneo: los servidores y usuarios no usan el mismo software
Grado de autonomía local: tiene autonomía si se permite que las transacciones tengan acceso directo
al servidor, en caso contrario no tiene autonomía local
FACTORES QUE DISTINGUEN EL DDBMS DEL DBMS:
- Posee múltiples computadores llamados sitios o nodos
- Los sitios deben estar conectados por algún tipo de red de comunicación para transmitir los datos y
comandos.
Estos sitios pueden estar conectados mediante una red de área local (nodos cercanos) o mediante una red
de área expandida (distribuidos geográficamente a larga distancia). También se puede usar una combinación
de redes
UNIDAD 6:
ALGEBRA RELACIONAL
Conjunto de operaciones básicas del modelo relacional. Permite al usuario especificar las peticiones
fundamentales de recuperación, obteniendo como resultado una nueva relación, la cual puede estar
constituida por 1 o más relaciones (propiedad de cerradura).
- Proporciona un fundamento formal para las operaciones del modelo relacional
- Se utiliza como base para la implementación y optimización de consultas del RBDMS (relacional)
Cálculos relacionales: ofrecen una notación declarativa de alto nivel para especificar las consultas
relacionales, una expresión del cálculo relacional crea una nueva relación. En una expresión de cálculo no
existe un orden de las operaciones, sólo se especifica la info. que el resultado debe contener.
OPERACIONES DEL ÁLGEBRA RELACIONAL
1. Operadores tradicionales: conjunto de operaciones de la teoría matemática de conjuntos. Ejemplo:
unión(), intersección(∩), diferencia de conjuntos(-), producto cartesiano(), etc.
2. Operadores relacionales especiales: constituido por operaciones desarrolladas para la BD
relacionales. Ejemplo: selección(𝞼), proyección(𝝅), concatenación(), etc.
OPERACIONES RELACIONALES UNARIAS
- Selección (select): para seleccionar un subconjunto de las tuplas de una relación que satisfagan una
condición de selección. Considerado un filtro. Las tuplas que satisfacen la condición son seleccionadas y las
que no, descartadas.
Designada como: 𝞼 <condición de selección> (R)
Donde la condición se especifica como <nombre atributo><operador de comparación><valor constante>
- Proyección: selecciona ciertas columnas de la tabla y descarta otras. Usada si solo estamos
interesados en algunos atributos de una relación. Elimina cualquier tupla duplicada
Designada como: 𝝅<lista de atributos> (R)
- Renombrar (rename): renombra los atributos o relación de otra relación
Designada como: ρ (A) renombra a la relación A como S
ρ ₍฀฀฀ (A) renombra a los atributos de la relación de A como p, m, h
ρ ₍฀฀฀ (A) renombra a la relación A como S y a sus atributos como p, m, h
OPERACIONES RELACIONALES BINARIAS
- Concatenación: combina tuplas relacionadas de dos relaciones en una sola. Solo aparecen en el
resultado las tuplas que satisfacen la condición de conexión.
Designada como: (R1) (R2) <condición de conexión>S
OPERACIONES TRADICIONALES BINARIAS:
- Unión: como resultado incluye a todas las tuplas de las relaciones que une. Las duplicadas se eliminan
Designada como: (R1) (R2)
- Intersección: el resultado es una relación que incluye todas las tuplas que están en ambas relaciones
Designada como: (R1) (R2)
- Diferencia de conjunto: el resultado es una relación que incluye todas las tuplas que están en la primer
relación pero no en la segunda
Designada como: (R1) - (R2)
- Producto cartesiano: produce un nuevo elemento combinando c/tupla de una relación con los de otra.
Designada como: (Tuplas de R1) (Tupla de R2)
AGREGADOS:
COMPONENTES DEL DBMS:
Un módulo administrador de los datos almacenados de alto nivel del DBMS controla el acceso a la
información del DBMS almacenada en el disco, sea parte de la BD o del catálogo
El compilador DML compila y genera código objeto que le pasa al Procesador de DB runtime
El procesador de BD runtime recibe comandos y los ejecuta, accede al diccionario de datos y se comunica
con el S.O. para E/S. Administra el buffer en la memoria de procesamiento, compartida o no con S.O.
El subsistema de control de concurrencia subfunción del Procesador de BD para colaborar con control de
concurrencia.
BDA - 1° parcial.pdf
browser_emoji Estamos procesando este archivo...
browser_emoji Lamentablemente la previsualización de este archivo no está disponible. De todas maneras puedes descargarlo y ver si te es útil.
Descargar
. . . . .