170 likes | 480 Views
Organización de Datos. Técnicas de representación y almacenamiento de datos en archivos para su recuperación y transmisión en formas eficientes y seguras. Principios Conceptuales Clave.
E N D
Organización de Datos - Curso Servetto Organización de Datos Técnicas de representación y almacenamiento de datos en archivos para su recuperación y transmisión en formas eficientes y seguras.
Organización de Datos - Curso Servetto Principios Conceptuales Clave • DatoRepresentació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. • ArchivoUnidad 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.
Organización de Datos - Curso Servetto Diseño de Datos El diseño de datos se realiza en dos fases o etapas: la de diseño conceptual, en la que se caracterizan, y la de diseño lógico, en la que se define su organización. • La caracterización o definición conceptual de datos (definición de atributos) implica la definición, sin especificar tipos o dominios, de registros lógicos. • La definición lógica de datos implica la definición de bloques o unidades de organización dentro de un archivo. • Ambas definiciones deben realizarse con una convención independiente del lenguaje de programación.
Organización de Datos - Curso Servetto Diseño Conceptual de Datos • Los atributos peculiares de una cosa, persona o evento deben distinguirlo de los demás, por lo que debe haber un atributo o conjunto de ellos que identifique unívocamente al dato y conforme lo que se llama un identificador. Un dato puede tener más de un identificador. • Hay atributos que sólo se pueden describir en términos de otros atributos (por ejemplo domicilio). • Hay atributos que pueden desconocerse al momento de registrar un dato (de registro opcional). • Hay atributos que sólo se pueden describir en términos de una lista de valores del mismo tipo o estructura (polivalentes). • Hay datos que se relacionan con uno o más datos, de la misma clase o de otra.
Organización de Datos - Curso Servetto Definición Conceptual de Datos 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 (atributos componentes entre paréntesis), y la cardinalidad. Los calificadores significan: i: identificador, ie: identificador externo (de otro dato), d: definido (el valor se toma de otro archivo) ? : Opcionalidad (0 ó 1 valor) * : Ninguno o varios valores (*3 implica ninguno o hasta 3 valores) + : Uno o varios valores (+ seguido de un número implicaría uno hasta ese número de valores)
Organización de Datos - Curso Servetto Uno a uno y Uno a muchos Modelo de Objetos A((a1)i, a2, …, ((b)ie)*) B((b1)i, b2, …, ((a)ie)?) Modelo Relacional A((a1)i, a2, …) B((b1)i, b2, …, ((a)ie)?) Muchos a muchos Modelo de Objetos A((a1)i, a2, …, ((b)ie)*) B((b1)i, b2, …, ((a)ie)*) Modelo Relacional A((a1)i, a2, …) B((b1)i, b2, …) AB(((a)ie, (b)ie)i) Relaciones Conceptuales
Organización de Datos - Curso Servetto Definición Lógica de Datos Tipos de valores convencionales independientes de lenguajes de programación: EC: Enteros Cortos (complemento a dos en un byte) E: Enteros (complemento a dos en dos bytes) EL: Enteros Largos (complemento a dos en cuatro bytes) F: Fraccionarios (punto flotante) C: Caracteres (con longitud exacta entre paréntesis) V: 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í)
Organización de Datos - Curso Servetto Definición Lógica de Datos Registros de longitud fija (las unidades de organización son los mismos registros): Persona(apellidos: C(64), nombres: C(64), fecha de nacimiento(año: E, mes: E, día: E), DNI: EL, (domicilio(tipo(‘real ’ | ‘laboral’ | ‘legal’): C(7), calle: C(32), ubicación: C(32), teléfonos: C(32), localidad: C(32), provincia: C(16), CPA: C(8)))3, (e-mail: C(32))2, nro celular: C(16)) Registros de longitud variable (las unidades de organización son bloques, y se requiere campos de control): Persona(cantRR: E, (apellidos: V, nombres: V, fecha de nacimiento(año: E, mes: E, día: E), DNI: EL, cantDoms: EC, (domicilio(tipo(‘real’ | ‘laboral’ | ‘legal’): V, calle: V, ubicación: V, cantNros: EC, (teléfono: V)*, localidad: V, provincia: V, (CPA: C(8))?))*3, cantD: EC, (e-mail: V)*, nro celular: V)*)
Organización de Datos - Curso Servetto Relaciones Lógicas entre Datos Modelo de Objetos Definición Conceptual A((a1)i, a2, …, ((b)ie)*) B((b1)i, b2, …, ((a)ie)*) Definición Lógica (Identificadores automáticos) A(idA: EL, (a1)i, a2, …, (b: EL)*) B(idB: EL, (b1)i, b2, …, (a: EL)*) Inconveniente con bajas → quedan referenciados objetos eliminados → no se reutilizan identificadores
Organización de Datos - Curso Servetto Relaciones Lógicas entre Datos Modelo Relacional Definición Conceptual A((a1)i, a2, …) B((b1)i, b2, …) AB(((a)ie, (b)ie)i) Definición Lógica A(a1: Ta1, a2: Ta2, …) B(b1:Tb1, b2:Tb2, …) AB(a:Ta1, b:Tb1) Si un dato tuviera identificador compuesto se le podría definir un identificador lógico EL automático
Organización de Datos - Curso Servetto Organización de Registros Problemas • Representación de valores nulos: mapas de nulidad • Determinación de tamaños de bloque: 512 * 2^n bytes (buffering) • Administración de espacio libre: 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 Datos lógicamente independientes 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. Independencia Lógica de Datos Datos lógicamente dependientes Dependen de una aplicación propietaria (sólo la aplicación conoce la estructura y organización de los registros).
Organización de Datos - Curso Servetto Conceptos 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 con predominio de acceso secuencial son la secuencial y la secuencial indexada; y aquellas con predominio de acceso relativo son las balanceadas, la directa y la indexada.
Organización de Datos - Curso Servetto Clasificación de Archivos • 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). Acceso predominantemente relativo. • De Datos Transaccionales: registros de hechos o eventos relacionados con datos maestros, por ejemplo de ventas de productos o de prestaciones de servicios. Acceso predominantemente secuencial. • De Reporte: información editada para su presentación al usuario (en general en formatos pdf, html o de texto). Acceso secuencial. • De Trabajo: resultados parciales o intermedios de procesamiento, o datos de intercambio entre programas. Acceso generalmente secuencial. • 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 Clasificación de Archivos (cont.) • 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). Acceso secuencial. • 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 Primitivas de Organización de Archivos • De Creación: creación y carga inicial sin validación de unicidad. • De Actualización de Registros: inserción con validación de unicidad, modificación y supresión. • De Recuperación de Registros: consulta o recuperación unitaria de registros, y reporte o recuperación comprensiva. • Mantenimiento: reestructuración (reconstrucción), reorganización (cambio de organización), depuración y respaldo.