Introducción

Anuncio
11/03/2013
Conceptos Fundamentales

Organización de Datos
Representación de una cosa real o ideal o de un evento ocurrido
o programado para que ocurra, en una unidad lógica de
manipulación llamada registro, en términos de características
descriptivas (también llamadas atributos) que se representan en
unidades llamadas campos.
Técnicas de representación y
almacenamiento de datos en archivos para su
recuperación, resguardo y transmisión en
formas eficientes y seguras.
Organización de Datos - Curso Servetto
1





3
FIUBA

FIUBA



4
De Intercambio de Datos: para representar datos en formatos estándar de
manera que puedan ser procesados libremente conociendo el estándar.
Generalmente son archivos de texto, con alguna convención para rotular o
delimitar datos, que pueden incluir o no definiciones sobre la estructura de la
información contenida (un estándar actual es el XML: eXtensible Markup
Language).
De Recursos de Programa o Unidades Grandes de Información: imágenes, audio,
vídeo.
De Productos de Programas: archivos con tipo asociado a un programa o
aplicación (.doc, .xls, etc.).
De Empaquetado de Archivos: para agrupar, normalmente en forma comprimida,
archivos y directorios, con propósitos de trasmisión o respaldo (.zip, .rar,
etc.).
Organización de Datos - Curso Servetto
Sistema de Archivo
Funciones del Sistema Operativo
 El Sistema Operativo es responsable del manejo de recursos de
 Identificación y localización de archivos: mediante un
Organización de Datos - Curso Servetto
FIUBA
Clasificación de Archivos (cont.)
FIUBA
FIUBA
sistema jerárquico de directorio o catálogo de archivos.
una computadora. Los recursos pueden ser físicos (el
hardware) o lógicos (carpetas y archivos). Una de sus
funciones es proveer una interfaz controlada entre usuarios y
aplicaciones, a nivel lógico, y dispositivos de almacenamiento
secundario, a nivel físico: usuarios y programas tienen una
visión lógica de la información almacenada, y los
dispositivos de almacenamiento tienen una visión física; el
sistema operativo es el mediador.
 El conjunto de programas del sistema operativo encargados de
proveer la visión lógica de la información almacenada a
usuarios y programas conforman el Sistema de Archivo.
5
Organización de Datos - Curso Servetto
2
De Datos Maestros: datos de un sistema de información que representan
entidades de existencia real o ideal, por ejemplo productos o servicios, o
valores de referencia para determinar características o atributos de otros
datos (dominios de atributos definidos por extensión).
De Datos Transaccionales: registros de hechos o eventos relacionados con datos
maestros, por ejemplo de ventas de productos o de prestaciones de servicios.
De Reporte: información editada para su presentación al usuario (en general en
formatos pdf, html o de texto).
De Trabajo: resultados parciales o intermedios de procesamiento, o datos de
intercambio entre programas.
De Control de Datos: para almacenar metadatos (definiciones de datos),
administrar espacios libres, registrar identificadores de registro vacantes o
acceder al contenido de otro archivo (índices y tablas de acceso).
Organización de Datos - Curso Servetto
Archivo de Datos
Unidad lógica de almacenamiento permanente de registros,
administrada por un Sistema Operativo. Dentro de un archivo los
registros pueden organizarse en otras unidades lógicas llamadas
bloques o páginas.
Clasificación de Archivos

Dato
 Seguridad: los sistemas operativos que identifican a usuarios
generalmente permiten que los mismos establezcan permisos
de acceso a sus archivos para otros usuarios o grupos de
usuarios, e invariablemente aíslan o encapsulan sus espacios de
almacenamiento.
 Asignación de espacio en dispositivos de almacenamiento:
para implementar archivos, el Sistema de Archivo debe llevar
cuenta de las unidades de asignación que cada uno ocupa, así
como de las unidades de asignación libres en cada dispositivo
de almacenamiento.
6
Organización de Datos - Curso Servetto
FIUBA
1
11/03/2013
Funciones del Sistema Operativo
Visión Lógica de Archivos
 Coordinación de transferencia: el sistema operativo debe atender
solicitudes simultáneas de acceso a un mismo dispositivo de
almacenamiento de varios procesos; para optimizar sus servicios debe
priorizar la atención de solicitudes de lectura o escritura de registros
físicos que se encuentren en las pistas más próximas a la posición actual
de los brazos de lectoescritura en el mismo sentido de desplazamiento
actual (algoritmo del ascensor).
 Coordinación de comunicación entre la CPU y los dispositivos de
almacenamiento: interacción asincrónica entre la CPU y los dispositivos
de almacenamiento. Otra forma de optimizar la comunicación y
administrar el acceso concurrente de procesos a un mismo registro físico,
ya que los dispositivos de almacenamiento tienen acceso directo a la
memoria RAM (son dispositivos DMA: Direct Memory Access devices) es el
empleo de data caching o buffering, con bloqueo (denegación de acceso)
de buffers.
Organización de Datos - Curso Servetto
7
FIUBA
Atributos












8
Protección Acceso
Contraseña
Creador
Propietario
Indicador Solo Lectura
Indicador Oculto
Indicador Texto/Binario
Indicador Bloqueo
Indicador Temporal
Fechas/Horas
Tamaño
Nombre
Operaciones











Crear
Eliminar
Abrir
Cerrar
Leer
Escribir
Escribir al Final
Posicionarse
Obtener Atributos
Definir Atributos
Renombrar
Organización de Datos - Curso Servetto
FIUBA
Diseño de Datos
El diseño de datos se realiza en dos fases o etapas: la de
diseño conceptual o de alto nivel, en la que se caracterizan,
y la de diseño lógico (de programación) o de bajo nivel, en
la que se define su organización.
Organización de Archivos
Se abordan técnicas de organización de datos en archivos con el
objetivo de optimizar la eficiencia de almacenamiento, recuperación y
resguardo de los datos, comenzando con las bases conceptuales y
procedimentales sobre las que se apoyarán dichas técnicas.
Organización de Datos - Curso Servetto
9
FIUBA
La definición conceptual de datos implica la definición de
atributos, sin especificar tipos o dominios.
La definición lógica de datos implica la definición de bloques o
unidades de organización dentro de un archivo, especificando
tipos o dominios para atributos, y la determinación de la
convención de almacenamiento y recuperación.
Ambas definiciones deben realizarse con una convención
independiente del lenguaje de programación.
10
Diseño Conceptual de Datos





11
FIUBA
Definición Conceptual de Datos
Cada cosa o evento debe poder distinguirse de los demás del mismo
conjunto, por lo que debe haber uno o más atributos que identifiquen
unívocamente a los datos, conformando lo que se llama un identificador. Un
conjunto de datos puede tener más de un identificador.
Hay atributos que sólo se pueden describir en términos de otros atributos:
compuestos
Hay atributos que pueden desconocerse al momento de registrar un dato, o
ser características que un dato particular puede no poseer: opcionales
Hay atributos que pueden precisarse en términos de una lista de valores del
mismo tipo o estructura: polivalentes
Hay atributos que relacionan un dato con otro u otros del mismo conjunto o
de otro: identificadores externos
Organización de Datos - Curso Servetto
Organización de Datos - Curso Servetto
FIUBA
Persona(((apellido)+, (nombre)+, fecha de nacimiento(año, mes,
día))i, (DNI)i, (domicilio(tipo(‘real’ | ‘laboral’ | ‘legal’), calle,
ubicación, (teléfono)*, localidad, (provincia)d, (CPA)?))*3, (e-mail)*,
(nro celular)?)
Para cada atributo se indica la identidad (nombre), la estructura (en caso de
que sean compuestos), y la cardinalidad.También se puede definir la
extensión. Los calificadores son:
12
De identificación
De cardinalidad
i identificador
? opcional
ie identificador externo
* ninguno o varios
d definido por extensión en otro archivo
+ uno o varios
Organización de Datos - Curso Servetto
FIUBA
2
11/03/2013
Definición Lógica de Datos
Definición Lógica de Datos
Tipos de valores convencionales independientes de lenguajes de
programación:
En Enteros
complemento a dos en n bytes
Fn Fraccionarios
punto flotante en n bytes
Cn Caracteres
con longitud exacta n
CV Caracteres Variables
hasta 255, con prefijo de longitud
T
Texto
cantidad ilimitada de caracteres, incluyendo
caracteres de control como salto de línea,
retorno de carro, tabulación, fin de texto
L
Lógicos
0: Falso o No, 1: Verdadero o Sí
B
Binario
imagen, audio, vídeo, etc.
Organización de Datos - Curso Servetto
13
Registros de longitud fija (las unidades de organización son los
mismos registros):
Persona(apellidos: C64, nombres: C64, fecha de nacimiento(año: E2, mes:
E1, día: E1), DNI: E4, (domicilio(tipo(‘real ’ | ‘laboral’ | ‘legal’): C7,
calle: C32, ubicación: C32, teléfonos: C32, localidad: C32, provincia: C16,
CPA: C8))3, (e-mail: C32)2, nro celular: C16)
Registros de longitud variable (las unidades de organización son
bloques, y se requiere campos de control):
Persona(cantRR: E1, (apellidos: CV, nombres: CV, fecha de nacimiento(año:
E2, mes: E1, día: E1), DNI: E4, cantDoms: E1, (domicilio(tipo(‘real’ |
‘laboral’ | ‘legal’): CV, calle: CV, ubicación: CV, cantNros: E1, (teléfono:
CV)*, localidad: CV, provincia: CV, (CPA: C8)?))*3, cantD: E1, (e-mail:
CV)*, nro celular: CV)*)
FIUBA
Organización de Registros



15
Datos lógicamente
dependientes
Representación de valores nulos: mapas de nulidad en
cada registro
Determinación de tamaños de bloque: 512 * 2^n bytes
(coordinación con buffering)
Administración de espacio libre:

Dependen de una aplicación
propietaria (sólo la
aplicación conoce la
estructura y organización de
los registros).
encadenamiento de registros vs mapas para registros de
longitud fija
listas de espacio libre vs archivo auxiliar para registros de
longitud variable
Organización de Datos - Curso Servetto
FIUBA
FIUBA
Hay una definición de los datos
(metadatos) pública y en una
convención estándar (por
ejemplo XML).
Opciones: encabezados en
archivos vs diccionario.
FIUBA
Primitivas de Organización de Archivos
Dónde almacenar registros nuevos y cómo encontrar registros dentro del
archivo para eliminarlos, modificarlos o recuperarlos para consulta.
Los esquemas de organización se basan en los modos de acceso a archivos
que proveen los sistemas operativos: secuencial (los registros se acceden en
orden de posición) y relativo (se accede a registros con posicionamiento
previo -seek).
Para determinar cómo organizar un archivo se debe considerar los
patrones de acceso que requiere.
Las organizaciones indicadas cuando hay predominio de acceso secuencial
son la secuencial, balanceadas secuenciales (B+ o B#) o la secuencial indexada; y
cuando hay predominio de acceso relativo son las balanceadas no secuenciales
(B o B*), las directas o la indexada.
Organización de Datos - Curso Servetto
Datos lógicamente
independientes
Organización de Datos - Curso Servetto
16
Conceptos de Organización de Archivos
17
FIUBA
Independencia Lógica de Datos
Problemas

Organización de Datos - Curso Servetto
14
1.
2.
3.
4.
18
De Creación: creación y carga inicial sin validación de
unicidad ni búsqueda de espacio libre.
De Actualización de Registros: inserción con validación
de unicidad y búsqueda de espacio libre, modificación y
supresión.
De Recuperación de Registros: consulta o recuperación
unitaria de registros, y reporte o recuperación
comprensiva.
De Mantenimiento: reestructuración (reconstrucción),
depuración (archivos transaccionales) y respaldo.
Organización de Datos - Curso Servetto
FIUBA
3
Descargar