SlideShare a Scribd company logo
1 of 38
El rendimiento del sistema depende de la
eficiencia de la estructura de datos que se
utiliza para representar la información en
la base de datos y de la eficiencia del
sistema para operar sobre esa base de
datos
El sistema operativo de la computadora puede
proporcionar algunas de las funciones del
sistema de la base de datos. En la mayoría de
los casos, el sistema operativo proporciona
únicamente los servicios mas básicos y el
sistema de base de datos debe construirse
sobre esa base.
El sistema de base de datos consta de varios componentes
funcionales , entre los que se encuentran:
• El gestor de archivos, que se encarga de asignar el espacio en
la memoria del disco y la estructura de datos que se usa para
representar información almacenada en el disco.
• El gestor de registros intermedios buffer, que es responsable
de transferir la información entre la memoria del disco y la
memoria principal.
• El analizador sintáctico (parser) de consultas, que traduce
sentencias de un lenguaje de consulta a un lenguaje de nivel más
bajo.
• El selector de estrategias, que intenta transformar la solicitud
del usuario en una forma equivalente pero más eficiente,
encontrando así una estrategia adecuada para ejecutar la
consulta.
• El gestor de autorización e integridad, que
prueba la satisfacción de las restricciones de
integridad (como, por ejemplo, restriccio­nes de
clave) y comprueba que el usuario está autorizado
para acceder a los datos.
• El gestor de recuperaciones, que asegura que la
base de datos permanezca en un estado consistente
(correcto) a pesar de que ocurran rallos en el
sistema.
• El controlador de concurrencia, que asegura que
las interacciones concurrentes con la base de datos
se llevan a cabo sin conflictos entre ellas.
Además se requieren varias estructuras de datos como parte de
la implementación física, entre las que se encuentran:
• Archivos de datos, que almacenan la base de datos.
• Diccionario de datos, que almacena información acerca de
la estructura de la base de datos, y la información de
autorización, como las restricciones de clave.
• Índices, que permiten tener acceso rápido a datos que
tienen determinados valores.
• Datos estadísticos, que almacenan información acerca de
los datos en la base de datos. Esta. información la utiliza el
selector de estrategias.
7.2. MEDIOS DE ALMACENAMIENTO7.2. MEDIOS DE ALMACENAMIENTO
FISICOFISICO
En la mayoría de los sistemas de computadores existen
varios tipos de almacenamiento de datos. Estos medios
de almacenamiento se clasifican según la velocidad con
que puede tenerse acceso a los datos, según el coste por
unidad de datos para comprar la memoria, y según la
«fiabilidad» que tienen. Entre los medios con que
normalmente se cuenta están:
• Próximo (caché). Esta es la forma de almacenamiento más rápida
y más costosa. El tamaño de la memoria caché es muy pequeño y
el sistema operativo gestiona su utilización. No necesitaremos
preocupamos de la gestión de la memoria caché en el sistema de
base de datos.
• Memoria principal. Este es el medio de almacenamiento que se
emplea para los datos disponibles sobre los cuales se va a operar.
Las instrucciones de máquina de propósito general operan sobre la
memoria principal. Aunque la memoria principal puede contener
varios megabytes de datos, casi siempre es demasiado pequeña
para almacenar la base de datos completa. A la memoria principal
muchas veces se le llama memoria central. Normalmente los
contenidos de la memoria principal se pierden si hay un corte de
energía eléctrica o si se «cae» el sistema.
• Almacenamiento en disco. Este es el medio principal
para el almacenamiento de datos a largo plazo. Lo común
es que toda la base de datos esté almacenada en disco.
Los datos deben trasladarse del disco a la memoria
principal para poder operar sobre ellos. Después de
realizar las operaciones, los datos deben devolverse al
disco.
• Almacenamiento en cinta. Este tipo de
almacenamiento se usa principalmente para copias de
seguridad y datos de archivo. Aunque la cinta es mucho
más barata que el disco, el acceso a los datos es mucho
más lento, puesto' que la cinta debe leerse
secuencialmente desde el principio. Por esta razón, el
almacena­miento en cinta se denomina almacenamiento
de acceso secuencial y se usa principalmente para recuperarse
de fallos en el disco
7.3. ORGANIZACION DE ARCHIVOS7.3. ORGANIZACION DE ARCHIVOS
Un archivo está organizado lógicamente como
una secuencia de regis­tros. Estos registros se
asignan a bloques del disco. Los archivos se
dan como construcciones básicas en los
sistemas operativos, por lo que supondremos
que existe un sistema de archivos subyacente.
Necesitamos considerar formas de
representar modelos lógicos de datos en
términos de archivos.
Aunque los bloques son de tamaño fijo determinado
por las propie­dades físicas del disco y por el
sistema operativo, los tamaños de los registros
varían. En una base de datos relacional, las tuplas
de relacio­nes distintas son, por lo general, de
diferente tamaño. En una base de datos de red es
probable que el tipo de registro propietario sea de
distinto tamaño que el tipo de registro miembro.
Una forma de enfocar la asignación de la base de datos
a los archivos es utilizar varios archivos y almacenar
en un archivo dado solamente registros de una
longitud fija. Una alternativa es estructurar los
archivos de una forma tal que podamos acomodar
registros de varias longitudes diferentes. Los
archivos de registros de longitud fija son más fáciles
de implementar que los archivos de registros de
longitud variable. Muchas de las técnicas usadas
pueden aplicarse al caso de longitud variable. Así,
pues, empezamos considerando un archivo de
registros de longitud fija.
7.3.1. Registros de longitud fija7.3.1. Registros de longitud fija
Como ejemplo, consideremos un archivo de registros depósito
para le base de datos bancaria. Cada registro de este archivo
se define como sigue:
type depósito = registro
nombre-sucursal: char (20); número-cuenta: integer; nombre-cliente:
char (20); saldo: real;
end
7.3.2. Registros de longitud variable7.3.2. Registros de longitud variable
Los registros de longitud variable se presentan en los sistemas
de base de datos de varias formas:
• Almacenamiento de varios tipos de registros en un archivo.
• Tipos de registros que permiten uno o más campos de
longitudes variables.
• Tipos de registros que permiten campos repetidos.
Existen varias técnicas para implementar los registros de
longitud variable. El formato del registro es:
type lista-depósito = record
nombre-sucursal: char (20);
info-cuenta ; array [1 .. 00] of
record;
número-cuenta: integer;
nombre-cliente: char (20);
saldo; real;
end
end
Definimos info-cuenta como un array con un número arbitrario dc
elementos de manera que el tamaño del registro no tiene límite (¡salvo.
por supuesto, el tamaño del disco!).
Representación en cadena de bytesRepresentación en cadena de bytes
Un método sencillo para implementar los registros de
longitud variable es añadir un símbolo especial de
fin de registro (.1) al final de cada registro. Así
podemos almacenar cada registro como una cadena
de bytes consecutivos.
La representación en cadena de bytes tiene varias
desventajas. Las más serias son:
• No es fácil volver a utilizar el espacio que ocupaba un registro
que se eliminó. Aunque existen técnicas para gestionar la
inserción y eliminación, resultan en un gran número de
fragmentos pequeños de espacio en disco que se desperdician.
• En general, los registros no disponen de espacio para crecer.
Si un registro de longitud variable se hace más largo debe
moverse y si el registro está sujeto, el movimiento resulta
costoso.
Por tanto, la representación en cadena de bytes normalmente no
se utiliza para implementar registros de longitud variable.
Representación de longitud fijaRepresentación de longitud fija
Para implementar los registros de longitud variable de
manera eficiente en un sistema de archivos,
utilizamos uno o más registros de longitud lija para
representar un registro de longitud variable.
Existen dos técnicas de para implementar archivos de
registros de longitud variable empleando registros
de longitud fija .
• Espacio reservado. Si hay una longitud máxima de
registro que nunca se excede, podemos utilizar
registros de longitud fija de esa longitud. El espacio
no utilizado (para registros más cortos que el
espacio máximo) se llena con un símbolo especial
nulo o de «fin de registro» .
• Punteros. El registro de longitud variable se
representa por una lista de registros de longitud fija
encadenado por medio de punteros.
El método de espacio reservado es útil cuando gran
parte de los registros es de longitud cercana al
máximo. Si no es así, puede desperdiciarse una
cantidad apreciable de espacio. En el ejemplo
bancario puede darse el caso de que algunas
sucursales tengan muchas más cuentas que otras.
Esto nos lleva a considerar el uso del método de
punteros. Para representar el archivo empleando
el método de punteros.
 
7.4 ORGANIZACIÓN DE REGRISTROS EN BLOQUES
Un archivo puede considerarse como una colección de registros. Sin embargo, como
los datos se transfieren entre el almacenamiento en disco y la memoria principal en
unidades de bloque, vale la pena asignar los registros a los bloques de tal forma que
un simple bloque contenga registros relacionados entre sí. Si asignamos los registros
a los bloques al azar, normalmente se dará el caso de que sea necesario tener acceso a
un bloque diferente para cada registro que se acceda.
Si podemos acceder a varios de los registros deseados con un solo acceso a bloque,
habremos ahorrado algunos accesos a disco.
Anteriormente describimos una estructura de archivos en la que toda la información
relativa a las cuentas de una sucursal aparecía en un registro (de longitud variable).
Las representaciones de esta estruc­tura de archivo con registros de longitud fija
utilizaban varios registros para representar un registro de longitud variable.
Si podemos almace­nar varios de esos registros en un bloque reducimos el número de
accesos a bloque requeridos para leer un registro de longitud variable.
Es fácil agrupar registros de esta manera si la base de datos nunca
cambia. Sin embargo, supóngase que se abre una nueva cuenta en
la sucursal Perryridge. Si estamos utilizando la estructura que se
muestra en la Figura 7.12 desearíamos añadir el registro que
corresponde a esta cuenta al mismo bloque en que están el resto de
las cuentas de la sucursal Perryridge.
• Como alternativa consideremos una estructura que ocupa un espa­cio un poco mayor
que la estructura de la Figura anterior pero que permite mejorar la eficiencia del acceso a
la información. A cada valor ilc nomhre-aucursal le asignamos una cadena de bloques. Cada
cadena de bloques contiene el registro de longitud variable completo para el
correspondiente valor de nombre-sucursal.
• La Figura 7.13 muestra la estructura apropiada para el archivo depósito. Las cadenas tienen
una estructura ligeramente diferente de las demás estructuras de regis­tros de longitud fija
que hemos utilizado:
• El primer registro de la cadena contiene el valor de nombre-sucursal de la cadena.
• Los siguientes registros contienen los campos que se repiten. No hace falta
repetir el nombre-sucursal, ya que es el mismo para todos los registros de la cadena.
• Obsérvese que hay dos longitudes de registro diferentes en cada
cadena. El primer registro contiene un valor de nombre-sucursal.
Todos los demás registros contienen tres campos: número-cuenta,
nombre-oliente, y saldo.
• cada cadena ocupa exactamente un bloque. Si extendemos el
ejemplo a uno más real, en el que una sucursal tiene miles de
cuentas, una cadena puede requerir varios bloques.
• Reservamos un espacio fijo al prin­cipio de cada bloque como
encabezamiento de bloque y lo usamos para almacenar los punteros de
la cadena. La Figura 7.14 muestra parte de una estructura de
archivos de una base de datos bancaria extendida.
• Al crecer una cadena por inserción de registros, puede que se
necesite añadirle nuevos bloques.
FIGURA 7.14FIGURA 7.14
BLOQUESBLOQUES
ENCADENADOSENCADENADOS
ARCHIVOS SECUENCIALESARCHIVOS SECUENCIALES
• Un archivo secuencial está diseñado para procesar de manera eficiente registros en un
determinado orden basándose en alguna clave de bús­queda. Para permitir una
recuperación rápida de registros en el orden de la clave de búsqueda, los registros se
encadenan por medio de punteros. El puntero de cada registro apunta al siguiente
registro en el orden de la clave de búsqueda.
• La Figura 7.15 muestra un archivo secuencial de registros depósito sacado del ejemplo
bancario. Los registros están almacenados en el orden de la clave de búsqueda,
empleando nombre-sucursal como clave de búsqueda.
Figura 7.15. Archivo secuencial de
registros depósito.
• Para la inserción aplicamos las siguientes reglas:
1.1. Localizar el registro en el archivo que precede al registro que se va a insertar en el
orden de la clave de búsqueda.
2.2. Si existe algún registro libre (es decir, un espacio que haya resultado de una
eliminación) dentro del mismo bloque que este registro, se inserta allí el nuevo
registro. Si no, se inserta un nuevo bloque de desbordamiento. En cualquier caso, se
ajustan los punteros para que los registros queden encadenados en el orden de
la clave de búsqueda.
• La Figura 7.16 muestra el archivo de la Figura 7.15 después de la inserción del
registro (North Town, 888, Adams, 800). La estructura de la Figura 7.16
permite insertar rápidamente registros nuevos, pero obliga a las aplicaciones de
procesamiento secuencial de archivos a procesar los registros en un orden que
no corresponde al orden físico de los registros.
7.6.ASIGNACIÓN (MAPPING) DE DATOS7.6.ASIGNACIÓN (MAPPING) DE DATOS
RELACIONALES A ARCHIVOSRELACIONALES A ARCHIVOS
• Muchos sistemas de base de datos relaciónales almacenan cada relación en
un archivo separado. Esto permite al sistema de base de datos aprovechar
al máximo el sistema de archivos que forma parte del sistema operativo.
• Por tanto, las relaciones pueden asignarse a una estructura simple de
archivos. Esta implementación sencilla de un sistema de base de datos
relacional se adapta bien a los sistemas de base de datos diseñados para
computadores persona­les. En estos sistemas, el tamaño de la base de
datos es pequeño, por lo que no se aprovecharía una estructura de
archivos sofisticada.
• Este enfoque sencillo de la implementación de bases de datos relacionales
se vuelve menos satisfactorio al aumentar el tamaño de la base de datos.
ALMACENAMIENTOALMACENAMIENTO
DE DICCIONARIO DEDE DICCIONARIO DE
DATOSDATOS
Un sistema de base de datos relacional
necesita mantener datos acerca de las
relaciones.
A esta información se le denomina:
Diccionario de Datos o Catalogo de
Sistema.
Entre los tipos de información que el
sistema debe almacenar están:
Los nombres de las relaciones.
Los nombres de los archivos.
Los dominios de los atributos.
Los nombres de las vistas definidas en la base
de datos y la definición de esas vistas.
Las restricciones de integridad de cada
relación (ejemplo: las restricciones de clave)
Los sistemas que utilizan estructuras muy
sofisticadas para almacenar relaciones,
pueden conservarse datos estadísticos y
descriptivos acerca de las relaciones:
Número de tuplas en cada relación.
Método de almacenamiento utilizado para cada
relación( ejemplo, agrupado ó sin agrupar)
Si se utiliza la BD para almacenar datos del
sistema, simplificamos la estructura global
del sistema y permitimos aprovechar toda la
capacidad de aquélla para agilizar el acceso
a los datos del sistema. La elección de
cómo se van a representar los datos por
medio de las relaciones debe hacerla el
diseñador del sistema.
GESTION DE REGISTROSGESTION DE REGISTROS
INTERMEDIOS (BUFFER)INTERMEDIOS (BUFFER)
Otra forma de reducir el número de accesos a
disco es mantener tantos bloques como sea
posible en la memoria principal. El objetivo es
incrementar al máximo la posibilidad de que,
cuando se necesite acceder a un bloque, éste
ya éste en la memoria principal y, por lo tanto
no se requiera acceso al disco
Los registros intermedios (buffer) son
aquellas apartes de la memoria principal
disponible para almacenar copias de bloques
del disco.
El responsable del subsistema para la
asignación de espacio en el buffer se
denomina Gestor del buffer.
El gestor del Buffer intercepta todas las
solicitudes que hace el resto del sistema
pidiendo bloques de la BD. Si el bloque ya
esta en el buffer, se pasa al solicitante la
dirección del bloque en la memoria principal.
Si el bloque no está en el Buffer, el gestor
del buffer lee el bloque del disco y lo escribe
en el buffer y pasa la dirección del bloque
en memoria principal al solicitante. Así el
gestor del buffer es transparente para
aquellos programas del sistema que solicitan
bloques del disco.
El gestor de buffer debe utilizar técnicas mas
sofisticadas que las que se emplean en los
esquemas comunes de gestión de memoria virtual,
con el fin de servir adecuadamente al sistema de
Bd:
Estrategias de Reemplazo: cuando no queda
espacio libre en el buffer, debe sacarse un bloque
antes de que pueda escribirse uno nuevo.
Bloques Sujetos: Para que el sistema de BD
pueda recuperarse de caídas, es necesario
restringir las oportunidades en las que se puede
gravar un bloque en el disco.
Salida forzada de bloques: Existen situaciones
en la que es necesario escribir el bloque en el
disco aunque no se necesite el espacio que ocupa
en el buffer.

More Related Content

What's hot

Archivo secuencial indexado
Archivo secuencial indexadoArchivo secuencial indexado
Archivo secuencial indexadoTortuly
 
Archivo secuencial indexado
Archivo secuencial indexadoArchivo secuencial indexado
Archivo secuencial indexadolesster ostorga
 
Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Julicamargo
 
Archivos Secuenciales Indexados
Archivos Secuenciales IndexadosArchivos Secuenciales Indexados
Archivos Secuenciales Indexadosjennifergu17
 
Archivo Secuencial-Indexado
Archivo Secuencial-IndexadoArchivo Secuencial-Indexado
Archivo Secuencial-Indexadoluismy_martinez
 
Organización lógica y física.
Organización lógica y física.Organización lógica y física.
Organización lógica y física.Lely
 
Archivo secuencial-indexado
Archivo secuencial-indexadoArchivo secuencial-indexado
Archivo secuencial-indexadoAleizapata
 
File organization 1
File organization 1File organization 1
File organization 1Rupali Rana
 
Funciones de administracion de memoria
Funciones de administracion de memoriaFunciones de administracion de memoria
Funciones de administracion de memoriaMiguel Magaña
 
Clasificación y modelos de bases de datos
Clasificación y modelos de bases de datosClasificación y modelos de bases de datos
Clasificación y modelos de bases de datosastrid2014
 
Archivos Y Procesamiento
Archivos Y ProcesamientoArchivos Y Procesamiento
Archivos Y Procesamientojorgeabustillo
 
Query processing in Distributed Database System
Query processing in Distributed Database SystemQuery processing in Distributed Database System
Query processing in Distributed Database SystemMeghaj Mallick
 
Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++EdsonRc
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesadorFernando Camacho
 
Database , 12 Reliability
Database , 12 ReliabilityDatabase , 12 Reliability
Database , 12 ReliabilityAli Usman
 

What's hot (20)

Archivo secuencial indexado
Archivo secuencial indexadoArchivo secuencial indexado
Archivo secuencial indexado
 
Archivo secuencial indexado
Archivo secuencial indexadoArchivo secuencial indexado
Archivo secuencial indexado
 
Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.
 
Archivos Secuenciales Indexados
Archivos Secuenciales IndexadosArchivos Secuenciales Indexados
Archivos Secuenciales Indexados
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Archivo Secuencial-Indexado
Archivo Secuencial-IndexadoArchivo Secuencial-Indexado
Archivo Secuencial-Indexado
 
Organización lógica y física.
Organización lógica y física.Organización lógica y física.
Organización lógica y física.
 
Organización de archivos
Organización de archivosOrganización de archivos
Organización de archivos
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
 
Archivo secuencial-indexado
Archivo secuencial-indexadoArchivo secuencial-indexado
Archivo secuencial-indexado
 
File organization 1
File organization 1File organization 1
File organization 1
 
Funciones de administracion de memoria
Funciones de administracion de memoriaFunciones de administracion de memoria
Funciones de administracion de memoria
 
Clasificación y modelos de bases de datos
Clasificación y modelos de bases de datosClasificación y modelos de bases de datos
Clasificación y modelos de bases de datos
 
Grupos
GruposGrupos
Grupos
 
Archivos Y Procesamiento
Archivos Y ProcesamientoArchivos Y Procesamiento
Archivos Y Procesamiento
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
Query processing in Distributed Database System
Query processing in Distributed Database SystemQuery processing in Distributed Database System
Query processing in Distributed Database System
 
Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 
Database , 12 Reliability
Database , 12 ReliabilityDatabase , 12 Reliability
Database , 12 Reliability
 

Viewers also liked

Algortimos taller
Algortimos tallerAlgortimos taller
Algortimos tallerpoliv06
 
Criterios de evaluacion p3 algortimos dia 8 de junio
Criterios de evaluacion p3 algortimos dia 8 de junioCriterios de evaluacion p3 algortimos dia 8 de junio
Criterios de evaluacion p3 algortimos dia 8 de junioEli Diaz
 
Sesion 02 algoritmos y estructura de datos
Sesion 02  algoritmos y estructura de datosSesion 02  algoritmos y estructura de datos
Sesion 02 algoritmos y estructura de datosimagincor
 
Estructura de Datos y Algoritmos I (I Bimestre)
Estructura de Datos y Algoritmos I (I Bimestre)Estructura de Datos y Algoritmos I (I Bimestre)
Estructura de Datos y Algoritmos I (I Bimestre)Videoconferencias UTPL
 
Sesion 01 algoritmos y estructura de datos
Sesion 01  algoritmos y estructura de datosSesion 01  algoritmos y estructura de datos
Sesion 01 algoritmos y estructura de datosimagincor
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binariosfavi_hola
 
Presentación curso 2150510 algoritmos y programación
Presentación curso 2150510 algoritmos y programaciónPresentación curso 2150510 algoritmos y programación
Presentación curso 2150510 algoritmos y programaciónLuzmila Rojas Estrada
 
7492681 m-algoritmos
7492681 m-algoritmos7492681 m-algoritmos
7492681 m-algoritmoscgviviana
 

Viewers also liked (8)

Algortimos taller
Algortimos tallerAlgortimos taller
Algortimos taller
 
Criterios de evaluacion p3 algortimos dia 8 de junio
Criterios de evaluacion p3 algortimos dia 8 de junioCriterios de evaluacion p3 algortimos dia 8 de junio
Criterios de evaluacion p3 algortimos dia 8 de junio
 
Sesion 02 algoritmos y estructura de datos
Sesion 02  algoritmos y estructura de datosSesion 02  algoritmos y estructura de datos
Sesion 02 algoritmos y estructura de datos
 
Estructura de Datos y Algoritmos I (I Bimestre)
Estructura de Datos y Algoritmos I (I Bimestre)Estructura de Datos y Algoritmos I (I Bimestre)
Estructura de Datos y Algoritmos I (I Bimestre)
 
Sesion 01 algoritmos y estructura de datos
Sesion 01  algoritmos y estructura de datosSesion 01  algoritmos y estructura de datos
Sesion 01 algoritmos y estructura de datos
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Presentación curso 2150510 algoritmos y programación
Presentación curso 2150510 algoritmos y programaciónPresentación curso 2150510 algoritmos y programación
Presentación curso 2150510 algoritmos y programación
 
7492681 m-algoritmos
7492681 m-algoritmos7492681 m-algoritmos
7492681 m-algoritmos
 

Similar to Estructura de archivos y sistema

Similar to Estructura de archivos y sistema (20)

Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Caracteristicas dbms (1)
Caracteristicas dbms (1)Caracteristicas dbms (1)
Caracteristicas dbms (1)
 
BASES DE DATOS
BASES DE DATOSBASES DE DATOS
BASES DE DATOS
 
Clase04 Arquitectura PACS
Clase04 Arquitectura PACSClase04 Arquitectura PACS
Clase04 Arquitectura PACS
 
Ova
OvaOva
Ova
 
Base de datos
Base de datosBase de datos
Base de datos
 
Unidad 2 Arquitectura del gestor
Unidad 2 Arquitectura del gestorUnidad 2 Arquitectura del gestor
Unidad 2 Arquitectura del gestor
 
Base de datos
Base de datosBase de datos
Base de datos
 
Gestion de almacenamiento
Gestion de almacenamientoGestion de almacenamiento
Gestion de almacenamiento
 
Clase 04 Arquitectura PACS
Clase 04 Arquitectura PACSClase 04 Arquitectura PACS
Clase 04 Arquitectura PACS
 
Administración de Base de Datos
Administración de Base de DatosAdministración de Base de Datos
Administración de Base de Datos
 
Ciberconsulta -karen plata- 11-6
Ciberconsulta -karen plata- 11-6Ciberconsulta -karen plata- 11-6
Ciberconsulta -karen plata- 11-6
 
Sistemas de-archivo
Sistemas de-archivoSistemas de-archivo
Sistemas de-archivo
 
Referente conceptual
Referente conceptualReferente conceptual
Referente conceptual
 
Oracle g11 - Administration workshop1 sg1
Oracle g11 - Administration workshop1  sg1 Oracle g11 - Administration workshop1  sg1
Oracle g11 - Administration workshop1 sg1
 
Base de dato
Base de  dato Base de  dato
Base de dato
 
Base de dato act4
Base de  dato act4Base de  dato act4
Base de dato act4
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 

Recently uploaded

SEMANA 1 Calidad de Vida Universitaria.pdf
SEMANA 1 Calidad de Vida Universitaria.pdfSEMANA 1 Calidad de Vida Universitaria.pdf
SEMANA 1 Calidad de Vida Universitaria.pdfDamarisJudithRamosCa
 
calidad de vida en el trabajo.......pptx
calidad de vida en el trabajo.......pptxcalidad de vida en el trabajo.......pptx
calidad de vida en el trabajo.......pptxManuelaLenSaldaa
 
Creación para una empresa instancias bns
Creación para una empresa instancias bnsCreación para una empresa instancias bns
Creación para una empresa instancias bnsirenedioniciodejesus
 
PLAN DE CAPACITACIÓN EN GESTIÓN HUMANA.pdf
PLAN DE CAPACITACIÓN EN GESTIÓN HUMANA.pdfPLAN DE CAPACITACIÓN EN GESTIÓN HUMANA.pdf
PLAN DE CAPACITACIÓN EN GESTIÓN HUMANA.pdfcamilaherrera5536
 
"A medida que los niveles de liquidez aumenten, en el medio plazo, podremos v...
"A medida que los niveles de liquidez aumenten, en el medio plazo, podremos v..."A medida que los niveles de liquidez aumenten, en el medio plazo, podremos v...
"A medida que los niveles de liquidez aumenten, en el medio plazo, podremos v...Alejandro Romero
 
Programa de organización de Escuela Sabática (Opción 1)
Programa de organización de Escuela Sabática (Opción 1)Programa de organización de Escuela Sabática (Opción 1)
Programa de organización de Escuela Sabática (Opción 1)Pr. David Xolo
 
MAPA MENTAL SOBRE EL LIDERAZGO Y SUS VENTAJAS
MAPA MENTAL SOBRE EL LIDERAZGO Y SUS VENTAJASMAPA MENTAL SOBRE EL LIDERAZGO Y SUS VENTAJAS
MAPA MENTAL SOBRE EL LIDERAZGO Y SUS VENTAJASdrariogamers
 
Estas son las verdaderas joyas de BME Growth: Casos de éxito
Estas son las verdaderas joyas de BME Growth: Casos de éxitoEstas son las verdaderas joyas de BME Growth: Casos de éxito
Estas son las verdaderas joyas de BME Growth: Casos de éxitoAlejandro Romero
 
presentacion de armas individuales y colectivas-1.pptx
presentacion de armas individuales y colectivas-1.pptxpresentacion de armas individuales y colectivas-1.pptx
presentacion de armas individuales y colectivas-1.pptxjaviereduardomontene
 

Recently uploaded (9)

SEMANA 1 Calidad de Vida Universitaria.pdf
SEMANA 1 Calidad de Vida Universitaria.pdfSEMANA 1 Calidad de Vida Universitaria.pdf
SEMANA 1 Calidad de Vida Universitaria.pdf
 
calidad de vida en el trabajo.......pptx
calidad de vida en el trabajo.......pptxcalidad de vida en el trabajo.......pptx
calidad de vida en el trabajo.......pptx
 
Creación para una empresa instancias bns
Creación para una empresa instancias bnsCreación para una empresa instancias bns
Creación para una empresa instancias bns
 
PLAN DE CAPACITACIÓN EN GESTIÓN HUMANA.pdf
PLAN DE CAPACITACIÓN EN GESTIÓN HUMANA.pdfPLAN DE CAPACITACIÓN EN GESTIÓN HUMANA.pdf
PLAN DE CAPACITACIÓN EN GESTIÓN HUMANA.pdf
 
"A medida que los niveles de liquidez aumenten, en el medio plazo, podremos v...
"A medida que los niveles de liquidez aumenten, en el medio plazo, podremos v..."A medida que los niveles de liquidez aumenten, en el medio plazo, podremos v...
"A medida que los niveles de liquidez aumenten, en el medio plazo, podremos v...
 
Programa de organización de Escuela Sabática (Opción 1)
Programa de organización de Escuela Sabática (Opción 1)Programa de organización de Escuela Sabática (Opción 1)
Programa de organización de Escuela Sabática (Opción 1)
 
MAPA MENTAL SOBRE EL LIDERAZGO Y SUS VENTAJAS
MAPA MENTAL SOBRE EL LIDERAZGO Y SUS VENTAJASMAPA MENTAL SOBRE EL LIDERAZGO Y SUS VENTAJAS
MAPA MENTAL SOBRE EL LIDERAZGO Y SUS VENTAJAS
 
Estas son las verdaderas joyas de BME Growth: Casos de éxito
Estas son las verdaderas joyas de BME Growth: Casos de éxitoEstas son las verdaderas joyas de BME Growth: Casos de éxito
Estas son las verdaderas joyas de BME Growth: Casos de éxito
 
presentacion de armas individuales y colectivas-1.pptx
presentacion de armas individuales y colectivas-1.pptxpresentacion de armas individuales y colectivas-1.pptx
presentacion de armas individuales y colectivas-1.pptx
 

Estructura de archivos y sistema

  • 1.
  • 2. El rendimiento del sistema depende de la eficiencia de la estructura de datos que se utiliza para representar la información en la base de datos y de la eficiencia del sistema para operar sobre esa base de datos
  • 3. El sistema operativo de la computadora puede proporcionar algunas de las funciones del sistema de la base de datos. En la mayoría de los casos, el sistema operativo proporciona únicamente los servicios mas básicos y el sistema de base de datos debe construirse sobre esa base.
  • 4. El sistema de base de datos consta de varios componentes funcionales , entre los que se encuentran: • El gestor de archivos, que se encarga de asignar el espacio en la memoria del disco y la estructura de datos que se usa para representar información almacenada en el disco. • El gestor de registros intermedios buffer, que es responsable de transferir la información entre la memoria del disco y la memoria principal. • El analizador sintáctico (parser) de consultas, que traduce sentencias de un lenguaje de consulta a un lenguaje de nivel más bajo. • El selector de estrategias, que intenta transformar la solicitud del usuario en una forma equivalente pero más eficiente, encontrando así una estrategia adecuada para ejecutar la consulta.
  • 5. • El gestor de autorización e integridad, que prueba la satisfacción de las restricciones de integridad (como, por ejemplo, restriccio­nes de clave) y comprueba que el usuario está autorizado para acceder a los datos. • El gestor de recuperaciones, que asegura que la base de datos permanezca en un estado consistente (correcto) a pesar de que ocurran rallos en el sistema. • El controlador de concurrencia, que asegura que las interacciones concurrentes con la base de datos se llevan a cabo sin conflictos entre ellas.
  • 6. Además se requieren varias estructuras de datos como parte de la implementación física, entre las que se encuentran: • Archivos de datos, que almacenan la base de datos. • Diccionario de datos, que almacena información acerca de la estructura de la base de datos, y la información de autorización, como las restricciones de clave. • Índices, que permiten tener acceso rápido a datos que tienen determinados valores. • Datos estadísticos, que almacenan información acerca de los datos en la base de datos. Esta. información la utiliza el selector de estrategias.
  • 7. 7.2. MEDIOS DE ALMACENAMIENTO7.2. MEDIOS DE ALMACENAMIENTO FISICOFISICO En la mayoría de los sistemas de computadores existen varios tipos de almacenamiento de datos. Estos medios de almacenamiento se clasifican según la velocidad con que puede tenerse acceso a los datos, según el coste por unidad de datos para comprar la memoria, y según la «fiabilidad» que tienen. Entre los medios con que normalmente se cuenta están:
  • 8. • Próximo (caché). Esta es la forma de almacenamiento más rápida y más costosa. El tamaño de la memoria caché es muy pequeño y el sistema operativo gestiona su utilización. No necesitaremos preocupamos de la gestión de la memoria caché en el sistema de base de datos. • Memoria principal. Este es el medio de almacenamiento que se emplea para los datos disponibles sobre los cuales se va a operar. Las instrucciones de máquina de propósito general operan sobre la memoria principal. Aunque la memoria principal puede contener varios megabytes de datos, casi siempre es demasiado pequeña para almacenar la base de datos completa. A la memoria principal muchas veces se le llama memoria central. Normalmente los contenidos de la memoria principal se pierden si hay un corte de energía eléctrica o si se «cae» el sistema.
  • 9. • Almacenamiento en disco. Este es el medio principal para el almacenamiento de datos a largo plazo. Lo común es que toda la base de datos esté almacenada en disco. Los datos deben trasladarse del disco a la memoria principal para poder operar sobre ellos. Después de realizar las operaciones, los datos deben devolverse al disco. • Almacenamiento en cinta. Este tipo de almacenamiento se usa principalmente para copias de seguridad y datos de archivo. Aunque la cinta es mucho más barata que el disco, el acceso a los datos es mucho más lento, puesto' que la cinta debe leerse secuencialmente desde el principio. Por esta razón, el almacena­miento en cinta se denomina almacenamiento de acceso secuencial y se usa principalmente para recuperarse de fallos en el disco
  • 10. 7.3. ORGANIZACION DE ARCHIVOS7.3. ORGANIZACION DE ARCHIVOS Un archivo está organizado lógicamente como una secuencia de regis­tros. Estos registros se asignan a bloques del disco. Los archivos se dan como construcciones básicas en los sistemas operativos, por lo que supondremos que existe un sistema de archivos subyacente. Necesitamos considerar formas de representar modelos lógicos de datos en términos de archivos.
  • 11. Aunque los bloques son de tamaño fijo determinado por las propie­dades físicas del disco y por el sistema operativo, los tamaños de los registros varían. En una base de datos relacional, las tuplas de relacio­nes distintas son, por lo general, de diferente tamaño. En una base de datos de red es probable que el tipo de registro propietario sea de distinto tamaño que el tipo de registro miembro.
  • 12. Una forma de enfocar la asignación de la base de datos a los archivos es utilizar varios archivos y almacenar en un archivo dado solamente registros de una longitud fija. Una alternativa es estructurar los archivos de una forma tal que podamos acomodar registros de varias longitudes diferentes. Los archivos de registros de longitud fija son más fáciles de implementar que los archivos de registros de longitud variable. Muchas de las técnicas usadas pueden aplicarse al caso de longitud variable. Así, pues, empezamos considerando un archivo de registros de longitud fija.
  • 13. 7.3.1. Registros de longitud fija7.3.1. Registros de longitud fija Como ejemplo, consideremos un archivo de registros depósito para le base de datos bancaria. Cada registro de este archivo se define como sigue: type depósito = registro nombre-sucursal: char (20); número-cuenta: integer; nombre-cliente: char (20); saldo: real; end
  • 14. 7.3.2. Registros de longitud variable7.3.2. Registros de longitud variable Los registros de longitud variable se presentan en los sistemas de base de datos de varias formas: • Almacenamiento de varios tipos de registros en un archivo. • Tipos de registros que permiten uno o más campos de longitudes variables. • Tipos de registros que permiten campos repetidos. Existen varias técnicas para implementar los registros de longitud variable. El formato del registro es:
  • 15. type lista-depósito = record nombre-sucursal: char (20); info-cuenta ; array [1 .. 00] of record; número-cuenta: integer; nombre-cliente: char (20); saldo; real; end end Definimos info-cuenta como un array con un número arbitrario dc elementos de manera que el tamaño del registro no tiene límite (¡salvo. por supuesto, el tamaño del disco!).
  • 16. Representación en cadena de bytesRepresentación en cadena de bytes Un método sencillo para implementar los registros de longitud variable es añadir un símbolo especial de fin de registro (.1) al final de cada registro. Así podemos almacenar cada registro como una cadena de bytes consecutivos. La representación en cadena de bytes tiene varias desventajas. Las más serias son:
  • 17. • No es fácil volver a utilizar el espacio que ocupaba un registro que se eliminó. Aunque existen técnicas para gestionar la inserción y eliminación, resultan en un gran número de fragmentos pequeños de espacio en disco que se desperdician. • En general, los registros no disponen de espacio para crecer. Si un registro de longitud variable se hace más largo debe moverse y si el registro está sujeto, el movimiento resulta costoso. Por tanto, la representación en cadena de bytes normalmente no se utiliza para implementar registros de longitud variable.
  • 18. Representación de longitud fijaRepresentación de longitud fija Para implementar los registros de longitud variable de manera eficiente en un sistema de archivos, utilizamos uno o más registros de longitud lija para representar un registro de longitud variable. Existen dos técnicas de para implementar archivos de registros de longitud variable empleando registros de longitud fija .
  • 19. • Espacio reservado. Si hay una longitud máxima de registro que nunca se excede, podemos utilizar registros de longitud fija de esa longitud. El espacio no utilizado (para registros más cortos que el espacio máximo) se llena con un símbolo especial nulo o de «fin de registro» . • Punteros. El registro de longitud variable se representa por una lista de registros de longitud fija encadenado por medio de punteros.
  • 20. El método de espacio reservado es útil cuando gran parte de los registros es de longitud cercana al máximo. Si no es así, puede desperdiciarse una cantidad apreciable de espacio. En el ejemplo bancario puede darse el caso de que algunas sucursales tengan muchas más cuentas que otras. Esto nos lleva a considerar el uso del método de punteros. Para representar el archivo empleando el método de punteros.  
  • 21. 7.4 ORGANIZACIÓN DE REGRISTROS EN BLOQUES Un archivo puede considerarse como una colección de registros. Sin embargo, como los datos se transfieren entre el almacenamiento en disco y la memoria principal en unidades de bloque, vale la pena asignar los registros a los bloques de tal forma que un simple bloque contenga registros relacionados entre sí. Si asignamos los registros a los bloques al azar, normalmente se dará el caso de que sea necesario tener acceso a un bloque diferente para cada registro que se acceda. Si podemos acceder a varios de los registros deseados con un solo acceso a bloque, habremos ahorrado algunos accesos a disco. Anteriormente describimos una estructura de archivos en la que toda la información relativa a las cuentas de una sucursal aparecía en un registro (de longitud variable). Las representaciones de esta estruc­tura de archivo con registros de longitud fija utilizaban varios registros para representar un registro de longitud variable. Si podemos almace­nar varios de esos registros en un bloque reducimos el número de accesos a bloque requeridos para leer un registro de longitud variable.
  • 22. Es fácil agrupar registros de esta manera si la base de datos nunca cambia. Sin embargo, supóngase que se abre una nueva cuenta en la sucursal Perryridge. Si estamos utilizando la estructura que se muestra en la Figura 7.12 desearíamos añadir el registro que corresponde a esta cuenta al mismo bloque en que están el resto de las cuentas de la sucursal Perryridge.
  • 23. • Como alternativa consideremos una estructura que ocupa un espa­cio un poco mayor que la estructura de la Figura anterior pero que permite mejorar la eficiencia del acceso a la información. A cada valor ilc nomhre-aucursal le asignamos una cadena de bloques. Cada cadena de bloques contiene el registro de longitud variable completo para el correspondiente valor de nombre-sucursal. • La Figura 7.13 muestra la estructura apropiada para el archivo depósito. Las cadenas tienen una estructura ligeramente diferente de las demás estructuras de regis­tros de longitud fija que hemos utilizado: • El primer registro de la cadena contiene el valor de nombre-sucursal de la cadena. • Los siguientes registros contienen los campos que se repiten. No hace falta repetir el nombre-sucursal, ya que es el mismo para todos los registros de la cadena.
  • 24. • Obsérvese que hay dos longitudes de registro diferentes en cada cadena. El primer registro contiene un valor de nombre-sucursal. Todos los demás registros contienen tres campos: número-cuenta, nombre-oliente, y saldo. • cada cadena ocupa exactamente un bloque. Si extendemos el ejemplo a uno más real, en el que una sucursal tiene miles de cuentas, una cadena puede requerir varios bloques. • Reservamos un espacio fijo al prin­cipio de cada bloque como encabezamiento de bloque y lo usamos para almacenar los punteros de la cadena. La Figura 7.14 muestra parte de una estructura de archivos de una base de datos bancaria extendida. • Al crecer una cadena por inserción de registros, puede que se necesite añadirle nuevos bloques. FIGURA 7.14FIGURA 7.14 BLOQUESBLOQUES ENCADENADOSENCADENADOS
  • 25. ARCHIVOS SECUENCIALESARCHIVOS SECUENCIALES • Un archivo secuencial está diseñado para procesar de manera eficiente registros en un determinado orden basándose en alguna clave de bús­queda. Para permitir una recuperación rápida de registros en el orden de la clave de búsqueda, los registros se encadenan por medio de punteros. El puntero de cada registro apunta al siguiente registro en el orden de la clave de búsqueda. • La Figura 7.15 muestra un archivo secuencial de registros depósito sacado del ejemplo bancario. Los registros están almacenados en el orden de la clave de búsqueda, empleando nombre-sucursal como clave de búsqueda. Figura 7.15. Archivo secuencial de registros depósito.
  • 26. • Para la inserción aplicamos las siguientes reglas: 1.1. Localizar el registro en el archivo que precede al registro que se va a insertar en el orden de la clave de búsqueda. 2.2. Si existe algún registro libre (es decir, un espacio que haya resultado de una eliminación) dentro del mismo bloque que este registro, se inserta allí el nuevo registro. Si no, se inserta un nuevo bloque de desbordamiento. En cualquier caso, se ajustan los punteros para que los registros queden encadenados en el orden de la clave de búsqueda. • La Figura 7.16 muestra el archivo de la Figura 7.15 después de la inserción del registro (North Town, 888, Adams, 800). La estructura de la Figura 7.16 permite insertar rápidamente registros nuevos, pero obliga a las aplicaciones de procesamiento secuencial de archivos a procesar los registros en un orden que no corresponde al orden físico de los registros.
  • 27. 7.6.ASIGNACIÓN (MAPPING) DE DATOS7.6.ASIGNACIÓN (MAPPING) DE DATOS RELACIONALES A ARCHIVOSRELACIONALES A ARCHIVOS • Muchos sistemas de base de datos relaciónales almacenan cada relación en un archivo separado. Esto permite al sistema de base de datos aprovechar al máximo el sistema de archivos que forma parte del sistema operativo. • Por tanto, las relaciones pueden asignarse a una estructura simple de archivos. Esta implementación sencilla de un sistema de base de datos relacional se adapta bien a los sistemas de base de datos diseñados para computadores persona­les. En estos sistemas, el tamaño de la base de datos es pequeño, por lo que no se aprovecharía una estructura de archivos sofisticada. • Este enfoque sencillo de la implementación de bases de datos relacionales se vuelve menos satisfactorio al aumentar el tamaño de la base de datos.
  • 29. Un sistema de base de datos relacional necesita mantener datos acerca de las relaciones. A esta información se le denomina: Diccionario de Datos o Catalogo de Sistema.
  • 30. Entre los tipos de información que el sistema debe almacenar están: Los nombres de las relaciones. Los nombres de los archivos. Los dominios de los atributos. Los nombres de las vistas definidas en la base de datos y la definición de esas vistas. Las restricciones de integridad de cada relación (ejemplo: las restricciones de clave)
  • 31. Los sistemas que utilizan estructuras muy sofisticadas para almacenar relaciones, pueden conservarse datos estadísticos y descriptivos acerca de las relaciones: Número de tuplas en cada relación. Método de almacenamiento utilizado para cada relación( ejemplo, agrupado ó sin agrupar)
  • 32. Si se utiliza la BD para almacenar datos del sistema, simplificamos la estructura global del sistema y permitimos aprovechar toda la capacidad de aquélla para agilizar el acceso a los datos del sistema. La elección de cómo se van a representar los datos por medio de las relaciones debe hacerla el diseñador del sistema.
  • 33. GESTION DE REGISTROSGESTION DE REGISTROS INTERMEDIOS (BUFFER)INTERMEDIOS (BUFFER) Otra forma de reducir el número de accesos a disco es mantener tantos bloques como sea posible en la memoria principal. El objetivo es incrementar al máximo la posibilidad de que, cuando se necesite acceder a un bloque, éste ya éste en la memoria principal y, por lo tanto no se requiera acceso al disco
  • 34. Los registros intermedios (buffer) son aquellas apartes de la memoria principal disponible para almacenar copias de bloques del disco. El responsable del subsistema para la asignación de espacio en el buffer se denomina Gestor del buffer.
  • 35. El gestor del Buffer intercepta todas las solicitudes que hace el resto del sistema pidiendo bloques de la BD. Si el bloque ya esta en el buffer, se pasa al solicitante la dirección del bloque en la memoria principal.
  • 36. Si el bloque no está en el Buffer, el gestor del buffer lee el bloque del disco y lo escribe en el buffer y pasa la dirección del bloque en memoria principal al solicitante. Así el gestor del buffer es transparente para aquellos programas del sistema que solicitan bloques del disco.
  • 37. El gestor de buffer debe utilizar técnicas mas sofisticadas que las que se emplean en los esquemas comunes de gestión de memoria virtual, con el fin de servir adecuadamente al sistema de Bd: Estrategias de Reemplazo: cuando no queda espacio libre en el buffer, debe sacarse un bloque antes de que pueda escribirse uno nuevo.
  • 38. Bloques Sujetos: Para que el sistema de BD pueda recuperarse de caídas, es necesario restringir las oportunidades en las que se puede gravar un bloque en el disco. Salida forzada de bloques: Existen situaciones en la que es necesario escribir el bloque en el disco aunque no se necesite el espacio que ocupa en el buffer.