Examen Final - 75.06. Organización de Datos

Cátedra: Ing. Saubidet
Fecha: 3ra fecha - (Segundo Cuatrimestre) 2008
Día: 12/02/09

Enunciado

Punto 1

Sea el siguiente archivo XML:

<sumatoria>
  <variable from="0" to="25">i</variable>
  <formula>i*(i+1)</formula>
</sumatoria>

Donde se quiere validar: Variable debe ser una única letra. Variable y fórmula pueden aparecer en orden indistinto. “from” debe ser un número entero al igual que “to”. Fórmula es una expresión matemática.

Realizar el DTD y un XML Schema que permitan validar de la mejor forma posible el vocabulario planteado (25 puntos).

Punto 2

En un file system en el cual el tamaño del bloque es fijo, qué soluciones pueden implementarse para solucionar el problema de la fragmentación al almacenar archivos chicos sin perjudicar la forma en que se leen los archivos grandes. (25 puntos).

Punto 3

Descomprimir el archivo cuyo contenido representa al número 0.1458 utilizando un compresor aritmético dinámico de orden 1, considerando como únicos caracteres posibles a A, B, C y EOF, y teniendo en cuenta que el compresor asigna rangos a los caracteres ordenando de menor a mayor (el EOF es el último) (25 puntos).

Punto 4

Proponga todos los cambios necesarios que deberían hacerse tanto en la estructura física del archivo como en las primitivas de forma tal de soportar registros de longitud variable en la organización relativa. Se evalua la calidad de la solución presentada (25 puntos).

Resolucion

Punto 1

DTD:

<!DOCTYPE sumatoria [
  <!ELEMENT sumatoria ((variable,formula)|(formula,variable))>
  <!ELEMENT variable (#PCDATA)>
    <!ATTLIST variable from CDATA #REQUIRED>
    <!ATTLIST variable to CDATA #REQUIRED>
  <!ELEMENT formula (#PCDATA)>
]>

XML SCHEMA:

  <?xml version="1.0"?>
  <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element name="sumatoria">
      <xsd:complexType>
        <xsd:all>
          <xsd:element name="variable" type="VARIABLE_TYPE"/>
          <xsd:element name="formula" type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
    </xsd:element>

    <xsd:complexType name="VARIABLE_TYPE">
      <xsd:simpleContent>
        <xsd:extension base="LETTER">
          <xsd:attribute name="from" type="xsd:integer" use="required"/>
          <xsd:attribute name="to" type="xsd:integer" use="required"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>

    <xsd:simpleType name="LETTER">
      <xsd:restriction base="xsd:string">
        <xsd:pattern value="[a-zA-Z]"/>
      </xsd:restriction>
    </xsd:simpleType>
  </xsd:schema>

Punto 2

Punto 3

Punto 4

Una muy buena explicación se puede ver en este apunte: Registros de longitud variable

materias/75/06/final_saubidet_20090212_xx.txt · Última modificación: 2009/02/18 22:12 por stoma
 
Excepto donde se indique lo contrario, el contenido de esta wiki se autoriza bajo la siguiente licencia: CC Attribution-Noncommercial-Share Alike 3.0 Unported


Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki