Estructuras de Archivos y Bases de datos

Slides:



Advertisements
Presentaciones similares
Organizaciones Indexadas
Advertisements

Organización Secuencial
DEFINICIONES. TIPOS. SEMANA 12
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
UNIX COMP 240.
GESTION DE DISPOSITIVOS
Mantenimiento preventivo al software
Introducción a LAS Bases de Datos
Sistemas Gestores de Ficheros
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Introducción a los Sistemas de Bases de Datos
¿QUÉ SON LAS BASES DE DATOS?
Implementación de archivos
Teoría de lenguajes y compiladores
Base de Datos Relacional.
Planificación de la Información.
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
1.1.2 Sistemas de información para la gestión y para la ayuda en la toma de decisiones. Los SI contribuyen activamente a la consecución de los objetivos.
INTEGRANTES ALEXIS MENDOZA ALDAIR ARRIETA CARLOS PASTOR LORENA RODRIGUEZ ANTHONY JIMENEZ.
Almacenamiento y Recuperación de la Información 2do Semestre 2005 Wenceslao Palma M.
UNIDAD I Conceptos Básicos.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
PROGRAMACION II.  Es un conjunto de datos no necesariamente del mismo tipo, los cuales se podrán manipular o realizar cualquier operación sobre cada.
Administración de memoria
Administración del espacio
 LOPEZ MENDOZA CORINA AMALINALLI  GRUPO 304.  Una base de datos o banco de datos (en ocasiones abreviada BB.DD.) es un conjunto de datos pertenecientes.
Administración de Archivos
Sebastián Sánchez Prieto
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
Clase 10: Estructuras de datos y arreglos.
Introducción A Las Bases De Datos
BASE DE DATOS BY: Julián Villar Vázquez.
Sistema de archivos Sistemas operativos.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
UNIVERSIDAD LATINA BASES DE DATOS.
Asignación de Espacio No Contiguo
Administración de Memoria
Sistema de Archivos Hernández Martinez Sonia Lizbeth
ORGANIZACIÓN DE LOS DATOS PARA PROCESARLOS EN COMPUTADORA Las computadoras trabajan con datos. Aceptan y procesan datos, y comunican resultados. No pueden.
Introducción a los Sistemas Operativos
Introducción a las Bases de Datos Relacionales Juan Alberto Sigüenza Escuela Técnica Superior de Informática Universidad Autónoma de Madrid.
Página 1 20/03/2005 Materia: Tecnología de la Información Curso: Profesora Ariana Rosenthal Tecnología de la Información Profesora Ariana Rosenthal Administración.
Capítulo 7 Gestión de memoria.
Introducción a los SOs.
Teoría de Sistemas Operativos Administración de Archivos.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Seminario de Informática Elementos Conceptuales
SISTEMAS DE ARCHIVOS.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Access.
COLEGIO DE BACHILLERES “XOCHIMILCO TEPEPAN” Nº13  Tecnologías de la Información y comunicación 3.  Profa. Gabriela Pichardo Lazardo EQUIPO 25  Emmanuel.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Diseño de una base de datos y elementos básicos Integrantes: López Ponce de León José Efrén Velazquez Martínez Brenda Equipo:10Grupo:307.
Archivos y bases de datos.
Almacenamiento de la información IES Virgen del Espino.
1 FUNDAMENTOS DE BASES DE DATOS SISTEMA GESTOR DE BASES DE DATOS (SGBD) Consiste en una colección de datos interrelacionados y un conjunto de programas.
PLATAFORMA TEÓRICO-CONCEPTUAL
Bases de Datos Unidad 1.
Tema 11 Bases de Datos y el Lenguaje SQL
BASE DE DATOS DISTRIBUIDAS
MIA - Grupo 5 Unidad 2.
Programación II Concepto de Archivos.
Bases de Datos y Sistemas de Gestión de Bases Relacionales.
Introducción Base de datos Ing. Linda K. Masias M. Base de datos (MySQL)
Sistema de Gestión de Archivos FUNDAMENTOS TEORICOS Ing. Jorge Gutiérrez D Universidad Nacional de Colombia Catedrático - I Sem 2009
Gestión de Memoria – Parte 2
13/11/14. UNIDADES DEL SEMESTRE Este trabajo esta diseñado para saber los propósitos de los sistemas de información, así como el buen desempeño que le.
Sistemas de archivos. Sistemas de archivos 2 Objetivo del SdA  Ocultar al usuario los detalles relativos al almacenamiento de información en dispositivos.
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

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

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.

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”.

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.

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

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.

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.

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.

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 12.1. Arquitectura del software del sistema de archivos [GROS86].

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.

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

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.

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

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.

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.

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 12.3. Organizaciones comunes de archivo.

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.

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 500.000 accesos para hallar un registro en un archivo secuencial. Si un índice contiene 1.000 entradas, se necesitan 500 accesos para hallar la clave, seguidos de 500 accesos al archivo principal. Entonces, ahora se necesitan 1.000 accesos por término medio.

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.

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

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.

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.

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.

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.

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

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 12.5. Ejemplo de directorio estructurado en Árbol.

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.

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.

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).

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.

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

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.

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 12.7. Asignación contigua de archivos.

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 12.8. Asignación contigua de archivos (tras compactación).

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.

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

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

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

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

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

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

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

Niveles conceptuales de bases de datos

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.

Modelo relacional

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

Relación que contiene redundancia

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

La operación SELECT

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));

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

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);

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!!!

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ó