La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Estructuras de Archivos y Bases de datos

Presentaciones similares


Presentación del tema: "Estructuras de Archivos y Bases de datos"— Transcripción de la presentación:

1 Estructuras de Archivos y Bases de datos
Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear: Computer Science – An overview

2 Sistema de Gestión de archivos
Se considera parte del sistema operativo. La entrada a la aplicación se realiza por medio de archivos. La salida se guarda en archivos para su almacenamiento a largo plazo.

3 Términos relacionados con los archivos - 1
Campo: Elemento de datos básico. Contiene un valor único. Se caracteriza por su longitud y por el tipo de datos. Registro: Conjunto de campos relacionados. Pueden tratarse como una unidad: Ejemplo: un registro “empleado”.

4 Términos relacionados con los archivos - 2
Conjunto de registros similares. Tratado como una entidad única. Tienen nombres únicos. Se suelen aplicar restricciones al control de accesos. Base de datos: Conjunto de datos relacionados. Existen relaciones entre los elementos.

5 Operaciones típicas Sobre registros Sobre archivos Recuperar _Uno
Recuperar _Siguiente Recuperar _Previo Insertar_Uno Borrar_Uno Recuperar_Todo Actualizar_Uno Recuperar _Varios Sobre archivos Copiar o duplicar Borrar Escanear (antivirus)‏ Nombrar Renombrar Modificar características

6 Sistemas de gestión de archivos
Es el mecanismo por medio del cual un usuario o aplicación puede acceder a los archivos. El programador no necesita desarrollar software de gestión de archivos.

7 Objetivos para un sistema de gestión de archivos
Cumplir con las necesidades de gestión de datos y con los requerimientos del usuario. Optimizar el rendimiento. Minimizar la posibilidad de pérdida o destrucción de datos. Ofrecer un conjunto estándar de rutinas de interfaz de E/S. Proporcionar soporte de E/S para múltiples usuarios. Ofrecer soporte de E/S para la variedad de tipos de dispositivos de almacenamiento.

8 Requisitos mínimos de un usuario
crear, borrar y cambiar los archivos. tener acceso a los archivos de otros usuarios. controlar qué tipos de accesos estarán permitidos a sus archivos. reestructurar sus archivos de manera adecuada al problema. mover datos entre los archivos. guardar una copia de reserva y recuperar sus archivos en el caso de que hayan sufrido algún daño. acceder a sus archivos mediante un nombre simbólico.

9 Programa de usuario Secuencial indexado Pila Secuencial Indexado Dispersión E/S lógica Supervisor básico de E/S Sistema de archivos básico Controlador del dispositivo Disco Controlador del dispositivo Cinta Figura Arquitectura del software del sistema de archivos [GROS86].

10 Funciones del sistema de gestión de archivos
Identifica y ubica el archivo en cuestión. Utiliza un directorio que describe la ubicación de todos los archivos y sus atributos. Los sistemas compartidos aplican algún control de acceso a los usuarios. La E/S se lleva a cabo por bloques. Asigna los archivos a los bloques disponibles. Gestiona el espacio libre, de manera que se conozca qué bloques están disponibles.

11 Criterios en la elección de una organización de archivos
Acceso rápido Facilidad de actualización Economía de almacenamiento Mantenimiento sencillo Fiabilidad

12 Organización de archivos
Pilas: Los datos se recogen en el orden en que llegan. La finalidad es acumular una masa de datos y guardarla. Los registros pueden tener campos diferentes. No hay una estructura. El acceso a los registros se hace por búsqueda exhaustiva.

13 Figura 12.3. Organizaciones comunes de archivo.
Pilas Registros de longitud variable Conjunto variable de campos Orden cronológico (a) Archivo de pila Figura Organizaciones comunes de archivo.

14 Organización de archivos
Archivos secuenciales: Se emplea un formato fijo para los registros. Los registros son de la misma longitud. Todos los campos son iguales (longitud y posición). El nombre del campo y su longitud son atributos de la estructura del archivo. Un campo particular es conocido como el campo clave: Identifica unívocamente al registro. Los registros se almacenan en secuencia por la clave.

15 Organización de archivos
Archivos secuenciales: Se realiza una actualización por lotes que mezcla el archivo de registro con el archivo maestro. Los nuevos registros se ubican en un archivo de registro o archivo de transacciones.

16 Figura 12.3. Organizaciones comunes de archivo.
Archivo secuencial Registros de longitud fija Conjunto fijo de campos en orden constante Orden secuencial por el campo clave (b) Archivo secuencial Figura Organizaciones comunes de archivo.

17 Organización de archivos
Archivos secuenciales indexados El índice proporciona una capacidad de búsqueda para llegar rápidamente a las proximidades de un registro deseado: Contiene un campo clave y un puntero al archivo principal. Se busca el índice hasta encontrar el valor mayor de la clave que es igual o precede al valor deseado de la clave. La búsqueda continúa en el archivo principal a partir de la posición indicada por el puntero.

18 Organización de archivos
Comparación de archivos secuenciales y archivos secuenciales indexados: Ejemplo: un archivo contiene 1 millón de registros. Por término medio, se necesitan accesos para hallar un registro en un archivo secuencial. Si un índice contiene entradas, se necesitan 500 accesos para hallar la clave, seguidos de 500 accesos al archivo principal. Entonces, ahora se necesitan accesos por término medio.

19 Organización de archivos
Archivos secuenciales indexados: Se añaden nuevos registros al archivo de desbordamiento. El registro del archivo principal que precede se actualiza con un puntero al registro nuevo. El archivo secuencial indexado se combina con el archivo de desbordamiento en un tratamiento por lotes. Para ofrecer una eficacia mayor, se pueden usar múltiples niveles de indexación.

20 Archivo secuencial indexado
principal Niveles de indexación Índice Archivo de overflow o desbordamiento (c) Archivo secuencial indexado Figura Organizaciones comunes de archivo.

21 Organización de archivos
Archivos indexados: Utilizan múltiples índices para cada campo clave. Puede contener un índice exhaustivo que contenga una entrada para cada registro del archivo principal. Puede contener un índice parcial.

22 Organización de archivos
Archivos directos o de dispersión: Acceden directamente a cualquier bloque de dirección conocida. Se requiere un campo clave en cada registro.

23 Directorio de archivos
Contiene información sobre los archivos: Atributos. Ubicación. Propietario. El directorio es propiamente un archivo, poseído por el sistema operativo. Ofrece una traducción entre los nombres de archivo y los archivos propiamente dichos.

24 Directorio jerárquico o estructurado en árbol
Existe un directorio raíz que incluye otros directorios y archivos. Cada uno de estos directorios puede tener a su vez subdirectorios y archivos como entradas. Cualquier archivo puede ser localizado siguiendo un camino desde el directorio raíz o maestro, descendiento por varias ramas: Este es el nombre de camino del archivo. Se pueden tener varios archivos con el mismo nombre de archivo mientras tengan nombres de camino únicos. El “directorio actual” es el directorio de trabajo. Las referencias a los archivos son relativas al directorio de trabajo.

25 Figura 12.4. Directorio estructurado en árbol.
Directorio maestro (raíz)‏ Subdirectorio Subdirectorio Subdirectorio Subdirectorio Subdirectorio Archivo Archivo Archivo Archivo Figura Directorio estructurado en árbol.

26 Figura 12.5. Ejemplo de directorio estructurado en Árbol.
Directorio maestro Sistema Usuario A Usuario B Usuario C Directorio “Usuario C” Directorio “Usuario A” Directorio “Usuario B” Dibujos Textos Directorio “Textos” Directorio “Dibujos” Tema 1 ABC Directorio “Tema 1” ABC Archivo “ABC” Archivo “ABC” Nombre de camino: /UsuarioB/Textos/Tema 1/ABC Figura Ejemplo de directorio estructurado en Árbol.

27 Compartimiento de archivos
En un sistema multiusuario, existe la necesidad de permitir a los usuarios compartir archivos. Dos cuestiones: Los derechos de acceso. La gestión de los accesos simultáneos.

28 Derechos de acceso Ejecución: Lectura: Adición: Actualización:
El usuario puede cargar y ejecutar un programa. Lectura: El usuario puede leer el archivo para cualquier propósito, incluyendo copia y ejecución. Adición: El usuario puede añadir datos al archivo. Actualización: El usuario puede modificar, borrar y añadir datos al archivo. Cambio de protección: El usuario puede cambiar los derechos de acceso otorgados a otros usuarios. Borrado: El usuario puede borrar el archivo del sistema de archivos.

29 Derechos de acceso Propietario:
Dispone de todos los derechos de acceso enumerados antes. Puede otorgar derechos a los otros usando las siguientes clases de usuarios: Usuario específico. Grupos de usuarios. Todos (archivos públicos).

30 Acceso simultáneo El usuario puede bloquear el archivo entero cuando lo vaya a actualizar. Un mejor control es bloquear los registros individuales durante la actualización. Al diseñar la posibilidad de accesos compartidos, deben abordarse aspectos de exclusión mutua e interbloqueo.

31 Sistema de gestión del almacenamiento secundario
Debe asignarse espacio a los archivos. Es necesario guardar constancia del espacio disponible para asignar.

32 Métodos de asignación de archivos
Asignación contigua: Cuando se crea un archivo se le asigna un único conjunto contiguo de bloques. La tabla de asignación necesita sólo una entrada por cada archivo: Bloque de comienzo y longitud del archivo. Se producirá fragmentación externa.

33 Figura 12.7. Asignación contigua de archivos.
Tabla de asignación de archivos Archivo A Nombre de archivo Bloque de inicio Longitud Archivo A Archivo B Archivo C Archivo D Archivo B Archivo E Archivo C Archivo E Archivo D Figura Asignación contigua de archivos.

34 Figura 12.8. Asignación contigua de archivos (tras compactación).
Tabla de asignación de archivos Archivo A Nombre de archivo Bloque de inicio Longitud Archivo A Archivo B Archivo B Archivo C Archivo D Archivo C Archivo E Archivo E Archivo D Figura Asignación contigua de archivos (tras compactación).

35 Métodos de asignación de archivos
Asignación indexada: La tabla de asignación de archivos contiene un índice separado de un nivel para cada archivo. El índice posee una entrada para cada sección asignada al archivo. La tabla de asignación contiene números de bloque para el índice.

36 Figura 12.11. Asignación indexada por bloques.
Tabla de asignación de archivos Archivo B Nombre de archivo Bloque índice Archivo B Figura Asignación indexada por bloques.

37 El rol del sistema operativo cuando se accesa un archivo
Memoria principal Almacenamiento masivo El sistema operativo recupera datos desde el almacenamiento masivo en unidades de registros físicos (bloques, sectores)‏ Los programas de aplicación accesan datos en el buffer en unidades de registros lógicos o campos

38 Lista de sectores conteniendo el archivo
Mantención del orden en un archivo por medio de una tabla de ubicaciones Lista de sectores conteniendo el archivo Sectores del disco que contienen el archivo

39 Número de identificación del empleado
Estructura de un archivo simple de empleados implementado como un archivo de texto. El archivo consiste de una secuencia de registros de 31 caracteres cada uno. Archivo Cada registro consiste de un campo de 25 caracteres conteniendo el nombre del empleado seguido de un campo de 6 caracteres conteniendo el número de identificación Registro lógico Nombre del empleado Número de identificación del empleado

40 Bases de Datos J. Glenn Brookshear: Computer Science - An overview
C. J. Date - Introducción a los sistemas de base de datos

41 Una organización de archivos vs base de datos - 1
A: sistema de información basado en archivos Registros de clientes Registros de sueldos Registros de empleados Registros del inventario Registros de ventas Depto. Servicios al cliente Depto. Sueldos Depto. Personal Depto Adquisiciones Depto Marketing

42 Una organización de archivos vs base de datos - 2
B: sistema de información basado en bases de datos Depto. Servicios al cliente Depto Marketing Base de datos integrada Depto. Sueldos Depto Adquisiciones Depto. Personal

43 Niveles conceptuales de bases de datos

44

45 Sección posterior y secciones frontales.
La sección posterior es el DBMS en sí. Permite llevar a cabo todas las funciones básicas de un DBMS: definición de datos, manipulación de los mismos, seguridad, integridad, etc. En particular, permite establecer todos los aspectos de los niveles externo, conceptual e interno. Así, "sección posterior" en este contexto es tan solo otro nombre para el DBMS.

46 Modelo relacional

47 Relación que contiene la información de empleados
Cada fila se llama tupla Las columnas se llaman atributos

48 Relación que contiene redundancia

49 Base de datos que consiste en tres relaciones
Encontrar los departamentos en los cuales el empleado 23Y34 ha trabajado

50 La operación SELECT

51 Ejemplo: alumno-curso (mysql)(1)
Crear tabla alumno: nmat nombre CREATE TABLE alumno (nmat int, nombre varchar(40)); Crear tabla curso: cod nombre CREATE TABLE curso (nmat int, nombre varchar(40));

52 Ejemplo: alumno-asignatura (mysql)(2)
Crear tabla alumno-curso: nmat cod CREATE TABLE al_cur (nmat int, cod int); Modelo entidad-relación: al_cur alumno curso Entidad relación Entidad

53 Ejemplo: alumno-asignatura (mysql)(3)
Agregar tuplas a tabla alumno: INSERT INTO TABLE alumno VALUES (111, ‘gonzalez pedro’); Agregar tuplas a tabla curso: INSERT INTO TABLE curso VALUES (1, ‘calculo I’); Agregar tuplas a tabla al_cur (inscribir asignaturas de un alumno): INSERT INTO TABLE al_cur VALUES (111,1); INSERT INTO TABLE al_cur VALUES (111,2); INSERT INTO TABLE al_cur VALUES (111,3);

54 Ejemplo: alumno-asignatura (mysql)(4)
Obtener los alumnos de un curso por código de curso: Forma 1: mysql> SELECT a.nombre FROM alumno AS a, al_cur AS b WHERE a.nmat=b.nmat AND b.cod=1; Forma 2: mysql> SELECT alumno.nombre FROM alumno, al_cur WHERE alumno.nmat=al_cur.nmat AND al_cur.cod=1; Obtener los alumnos de un curso por nombre de curso: Forma 1: mysql> SELECT a.nombre FROM alumno AS a, al_cur AS b, curso AS c WHERE a.nmat=b.nmat AND b.cod=c.cod AND c.nombre=‘caculo I’; Forma 2: TAREA!!!

55 Ejemplo: más tareas (5) Obtener los códigos de los cursos que inscribió un alumno, por número de matricula Obtener los nombres de los cursos que inscribió un alumno, por número de matricula Obtener los nombres y códigos de los cursos que inscribió un alumno, por número de matricula agregar la tabla profesor y crear a relación asignatura-profesor, hacer las consultas que incluyan nombres de profesor sus alumnos por curso Agregar en la tablas de relaciones el semestre en los que se realizó


Descargar ppt "Estructuras de Archivos y Bases de datos"

Presentaciones similares


Anuncios Google