<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><!-- InstanceBegin template="../../Templates/DocTemp.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
<!-- InstanceBeginEditable name="doctitle" -->
<title>Database Platforms - Flat Files</title>
<!-- InstanceEndEditable --> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../../docs.css" rel="stylesheet" type="text/css">
<script language="JavaScript1.2" src="../../docs.js"></script>
<!-- InstanceBeginEditable name="head" --><!-- InstanceEndEditable -->
</head>

<body>
<table width="100%" class="lightblue" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><a href="http://www.omnidex.com"><img src="../../images/flatlogo.gif" width="95" height="25" hspace="3" vspace="3" border="0"></a></td>
    <td><img src="../../images/omnidex.gif" width="109" height="25" hspace="3" vspace="3"></td>
    <td align="right" valign="top"><p class="banner"><a href="../../Contents.htm">Contents</a> 
        | <a href="../../Quick%20Links.htm">Quick Links</a></p></td>
  </tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr> 
    <td width="175" class="bar"><p class="banner">&nbsp;</p></td>
    <td align="right" class="bar"> <!-- InstanceBeginEditable name="Section Title" -->
      <h1>Database Platforms</h1>
      <!-- InstanceEndEditable --></td>
  </tr>
  <tr> 
    <td width="175" class="left1 lightblue"><img src="../../images/blank.gif" width="10" height="20"> 
    </td>
    <td valign="top" class="left1 lightblue">&nbsp; </td>
  </tr>
  <tr> 
    <td width="175" valign="top" class="left"><!-- InstanceBeginEditable name="leftnav" --> 
      <p><a href="#compare">Flat File Comparison</a></p>
      <p><a href="#space">Disk Space Requirements</a></p>
      <p><a href="#time">Retrieval Times</a></p>
      <p><a href="#def">Test Table Definitions</a></p>
      <p class="line">&nbsp;</p>
      <p>Flat Files</p>
      <p><a href="Environment%20File.htm">Environment File Declarations</a></p>
      <p><a href="Tab-Delimited%20Files.htm">Tab-Delimited Files (TDF)</a></p>
      <p><a href="Omnidex%20Stand-Alone%20Tables%20(OST).htm">Omnidex 
        Stand-Alone Tables (OST)</a></p>
      <p>&nbsp;</p>
      <p><a href="../Supported%20Database%20Platforms.htm">Database Platforms</a></p>
      <!-- InstanceEndEditable --></td>
    <td valign="top" class="content"> <!-- InstanceBeginEditable name="Content" --> 
      <h2>Flat Files</h2>
      <p>Omnidex can be used as a flat file database driver for high-volume, <font color="#FF0000"><strong>**</strong></font>read-only 
        applications. As a rule, flat files require considerably less disk space 
        than a typical RDBMS and out-perform an RDBMS in retrieval speed. This 
        is mainly a result of the absence of the Database Management System, which 
        can incur a tremendous amount of overhead to &quot;manage&quot; the data.</p>
      <p>&nbsp;</p>
      <p><font color="#FF0000"><strong>**</strong></font>Omnidex does not have 
        the ability to delete rows from a flat file database. However, logical 
        deletes can be just as effective. A logical delete is a flag within the 
        table, a single byte column, indicating whether or not the row has been 
        deleted.</p>
      <p class="line">&nbsp;</p>
      <h3><a name="compare"></a>Flat File Comparison</h3>
      <p>The following compares disk space requirements and performance issues 
        of different types of flat files supported by Omnidex. Covered in this 
        comparison are the typical flat files that are a part of every operating 
        system, tab-delimited files (TDF), and Omnidex Stand-Alone Tables (OST).</p>
      <p class="line2">&nbsp;</p>
      <h4><a name="space"></a>Disk Space Requirements</h4>
      <P>The following table demonstrates the differences between flat files, 
        TDFs, and OSTs (Omnidex Stand-alone Tables) in disk space. The database 
        table definitions are listed after the retrieval time examples.</P>
      <TABLE WIDTH="100%" CELLPADDING="2" CELLSPACING="1" BORDER="1">
        <TR> 
          <TD COLSPAN="4" WIDTH="20%" VALIGN=TOP> <P STYLE="text-align : center;" ALIGN=CENTER> 
              <SPAN STYLE="font-weight : bold;">Disk Space</SPAN></TD>
        </TR>
        <TR> 
          <TD WIDTH="25%" VALIGN=TOP> <P> <SPAN STYLE="font-weight : bold;">Table 
              Name</SPAN></TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> <SPAN STYLE="font-weight : bold;">FFL</SPAN></TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> <SPAN STYLE="font-weight : bold;">TDF</SPAN></TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> <SPAN STYLE="font-weight : bold;">OST</SPAN></TD>
        </TR>
        <TR> 
          <TD WIDTH="25%" VALIGN=TOP> <P> Companies</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 936,000</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 466,900</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 936,624</TD>
        </TR>
        <TR> 
          <TD WIDTH="25%" VALIGN=TOP> <P> Dates</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 210,384</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 257,078</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 211,200</TD>
        </TR>
        <TR> 
          <TD WIDTH="25%" VALIGN=TOP> <P> ZipCodes</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 3,290,820</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 2,317,304</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 3,291,636</TD>
        </TR>
      </TABLE>
      <p>Note that the Dates table increased in size when stored in a TDF. This 
        happened for three reasons: the table contains very little white space 
        so almost no compression actually took place, almost every field is a 
        binary field so these actually increased in size, and the column delimiters 
        were added.</p>
      <p>The difference in overall size between the OST and flat file is the space 
        required for the header located at the beginning of every OST.</p>
      <P>&nbsp; </P>
      <P>The following table compares disk space requirements, in bytes, for various 
        types of data as it would be stored in the different types of files. The 
        single quotes are included to show that the enclosed data is a character 
        string.</P>
      <TABLE WIDTH="100%" CELLPADDING="2" CELLSPACING="0" BORDER="0">
        <TR> 
          <TD WIDTH="5%" VALIGN=TOP></TD>
          <TD WIDTH="45%" VALIGN=TOP> <P> <SPAN STYLE="font-weight : bold;">Value</SPAN></TD>
          <TD WIDTH="15%" VALIGN=TOP> <P> <SPAN STYLE="font-weight : bold;">Binary</SPAN></TD>
          <TD WIDTH="20%" VALIGN=TOP> <P> <SPAN STYLE="font-weight : bold;">TDF</SPAN></TD>
          <TD WIDTH="15%" VALIGN=TOP> <P> <SPAN STYLE="font-weight : bold;">OST</SPAN></TD>
        </TR>
        <TR> 
          <TD WIDTH="5%" VALIGN=TOP> <P> 1</TD>
          <TD WIDTH="45%" VALIGN=TOP> <P> 'CA'</TD>
          <TD WIDTH="15%" VALIGN=TOP> <P> 2</TD>
          <TD WIDTH="20%" VALIGN=TOP> <P> 3 to 5</TD>
          <TD WIDTH="15%" VALIGN=TOP> <P> 2</TD>
        </TR>
        <TR> 
          <TD WIDTH="5%" VALIGN=TOP> <P> 2</TD>
          <TD WIDTH="45%" VALIGN=TOP> <P> 10000</TD>
          <TD WIDTH="15%" VALIGN=TOP> <P> 2</TD>
          <TD WIDTH="20%" VALIGN=TOP> <P> 6 to 8</TD>
          <TD WIDTH="15%" VALIGN=TOP> <P> 2</TD>
        </TR>
        <TR> 
          <TD WIDTH="5%" VALIGN=TOP> <P> 3</TD>
          <TD WIDTH="45%" VALIGN=TOP> <P> 10000000000</TD>
          <TD WIDTH="15%" VALIGN=TOP> <P> 4</TD>
          <TD WIDTH="20%" VALIGN=TOP> <P> 11 to 13</TD>
          <TD WIDTH="15%" VALIGN=TOP> <P> 4</TD>
        </TR>
        <TR> 
          <TD WIDTH="5%" VALIGN=TOP> <P> 4</TD>
          <TD WIDTH="45%" VALIGN=TOP> <P> 'Comments field length 60'</TD>
          <TD WIDTH="15%" VALIGN=TOP> <P> 60</TD>
          <TD WIDTH="20%" VALIGN=TOP> <P> 25 to 27</TD>
          <TD WIDTH="15%" VALIGN=TOP> <P> 60</TD>
        </TR>
      </TABLE>
      <p>Note that in all cases, the data stored in an OST is identical in size 
        to a typical flat file.</p>
      <ul>
        <li>Line 1 is a common value in a State Code field. This field is defined 
          as a 2 byte character field and requires 2 bytes storage space in a 
          normal flat file. To store this value in a TDF, however, will require 
          3 to 5 bytes: 1 byte for each character, 1 byte for the column delimiter, 
          and possibly 2 bytes to quote the value. Because there is no trailing 
          white space, no compression is achieved and the addition of the column 
          delimiter actually increases the disk space requirements for this field. 
          TDFs are not a good choice for highly codified textual data.</li>
        <li>Line 2 is an integer value of 10000. In binary form it can be stored 
          in 2 bytes. A TDF, however, will convert this number to its character 
          form which will require 6 to 8 bytes of storage space: 1 byte for each 
          digit converted to its character equivalent, 1 byte for the column delimiter, 
          and possibly 2 bytes to quote the value. Again, the disk space requirements 
          are increase significantly. TDFs are not a good choice when most of 
          the data is binary.</li>
        <li>Line 3 is another example of binary data being converted to character 
          form. This example, however, shows a more extreme size difference, where 
          the storage requirements go from 4 bytes in binary form to 11 to 13 
          bytes in character form. In a large database, the increase adds up quickly.</li>
        <li>Line 4 is a comments field. It contains strictly character data and 
          is defined as length 60. Comment fields quite frequently contain a large 
          amount of white space; that is, the comment does not always consist 
          of 60 characters, or is very often blank. In most databases, 60 bytes 
          of storage is required, no matter the actual length of the data. A TDF, 
          however, can strip the trailing white space because of the use of column 
          and record delimiters. The storage space is reduced to the actual number 
          of characters (bytes) in the comment, 24 in the above example, plus 
          a column delimiter and possibly two quotes. The storage requirements 
          for this field are reduced from 60 to 25 to 27 bytes. This is a significant 
          reduction. TDFs are a good choice for databases that contain a large 
          amount of white space, a customer information table, for example.</li>
      </ul>
      <p class="line">&nbsp;</p>
      <h3><a name="time"></a>Retrieval Time</h3>
      <p>As noted above, retrieval time in flat files, TDFs, and OSTs is much 
        faster than an RDBMS. However, these times vary between each type of flat 
        file, as demonstrated in the following tables. The database table definitions 
        are listed after these examples.</p>
      <TABLE WIDTH="100%" CELLPADDING="2" CELLSPACING="1" BORDER="1">
        <TR> 
          <TD COLSPAN="4" WIDTH="20%" VALIGN=TOP> <P STYLE="text-align : center;" ALIGN=CENTER> 
              <SPAN STYLE="font-weight : bold;">CPU Time</SPAN></TD>
        </TR>
        <TR> 
          <TD WIDTH="25%" VALIGN=TOP> <P> <SPAN STYLE="font-weight : bold;">Table 
              Name</SPAN></TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> <SPAN STYLE="font-weight : bold;">FFL</SPAN></TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> <SPAN STYLE="font-weight : bold;">TDF</SPAN></TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> <SPAN STYLE="font-weight : bold;">OST</SPAN></TD>
        </TR>
        <TR> 
          <TD WIDTH="25%" VALIGN=TOP> <P> Companies</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 0.1</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 0.06</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 0.03</TD>
        </TR>
        <TR> 
          <TD WIDTH="25%" VALIGN=TOP> <P> Dates</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 0.03</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 0.34</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 0.02</TD>
        </TR>
        <TR> 
          <TD WIDTH="25%" VALIGN=TOP> <P> ZipCodes</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 0.17</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 0.751</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 0.18</TD>
        </TR>
      </TABLE>
      <p>&nbsp;</p>
      <TABLE WIDTH="100%" CELLPADDING="2" CELLSPACING="1" BORDER="1">
        <TR> 
          <TD COLSPAN="4" WIDTH="20%" VALIGN=TOP> <P STYLE="text-align : center;" ALIGN=CENTER> 
              <SPAN STYLE="font-weight : bold;">Elapsed Time</SPAN></TD>
        </TR>
        <TR> 
          <TD WIDTH="25%" VALIGN=TOP> <P> <SPAN STYLE="font-weight : bold;">Table 
              Name</SPAN></TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> <SPAN STYLE="font-weight : bold;">FFL</SPAN></TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> <SPAN STYLE="font-weight : bold;">TDF</SPAN></TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> <SPAN STYLE="font-weight : bold;">OST</SPAN></TD>
        </TR>
        <TR> 
          <TD WIDTH="25%" VALIGN=TOP> <P> Companies</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 0.24</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 0.12</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 0.08</TD>
        </TR>
        <TR> 
          <TD WIDTH="25%" VALIGN=TOP> <P> Dates</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 0.08</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 0.41</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 0.02</TD>
        </TR>
        <TR> 
          <TD WIDTH="25%" VALIGN=TOP> <P> ZipCodes</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 0.271</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 0.992</TD>
          <TD WIDTH="25%" VALIGN=TOP> <P> 0.21</TD>
        </TR>
      </TABLE>
      <P> Note that the search time decreased in the TDF for the Companies tables 
        but increased significantly for the Dates and ZipCodes tables. The decrease 
        in search time in the Companies table is attributed to the smaller amount 
        data to search due to the compressed text fields. The increase in search 
        time in the Dates and ZipCodes fields is caused by the necessity for data 
        conversion. The TDF stores the data in character format but it must be 
        converted to and from its original binary form every time it is read or 
        written.</P>
      <P> Also note that although the disk space requirements for OST and typical 
        flat files are nearly identical, retrieval speed is considerable faster 
        for OSTs. This is the result of the use of the header file.</P>
      <P> These data sets are small but sufficient to demonstrate the possible 
        effect on a larger set of data.</P>
      <p class="line">&nbsp;</p>
      <h3><a name="def"></a>Test Table Definitions</h3>
      <h5> Companies</h5>
      <P CLASS="ex">
       table &nbsp; &nbsp;&quot;COMPANIES&quot;</P>
      <P CLASS="ex">
       physical &nbsp; &quot;dat/cmp.dat&quot;<BR>
       primary &nbsp; &nbsp;&quot;COMPANY&quot;<BR>
       cardinality 6000</P>
      <P CLASS="ex"> column &quot;COMPANY&quot; &nbsp; &nbsp;datatype C STRING 
        &nbsp;length 40 cardinality 6000<BR>
        column &quot;ADDRESS1&quot; &nbsp; datatype C STRING &nbsp;length 30 cardinality 
        5598<BR>
        column &quot;ADDRESS2&quot; &nbsp; datatype C STRING &nbsp;length 30 cardinality 
        1296<BR>
        column &quot;CITY&quot; &nbsp; &nbsp; &nbsp; datatype C STRING &nbsp;length 
        26 cardinality 1319<BR>
        column &quot;STATE&quot; &nbsp; &nbsp; &nbsp;datatype CHARACTER length 
        2 &nbsp;cardinality 51<BR>
        column &quot;ZIP&quot; &nbsp; &nbsp; &nbsp; &nbsp;datatype C STRING &nbsp;length 
        10 cardinality 2720<BR>
        column &quot;COUNTRY&quot; &nbsp; &nbsp;datatype CHARACTER length 2 &nbsp;cardinality 
        1<BR>
        column &quot;PHONE&quot; &nbsp; &nbsp; &nbsp;datatype C STRING &nbsp;length 
        16 cardinality 4426</P>
      <P CLASS="line2">&nbsp;</P>      
            <H5>Dates</H5>
      <P CLASS="ex">
       table &nbsp; &nbsp; &quot;DATES&quot;</P>
      <P CLASS="ex">
       physical &nbsp; &quot;dat/dat.dat&quot;<BR>
       primary &nbsp; &quot;DT&quot;<BR>
       cardinality 4383 /* All dates from 1/1/1990 to 12/31/2001 */</P>
      <P CLASS="ex">
       column &quot;DT&quot; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;datatype 
       OMNIDEX DATE length 4 format YYYYMMDD cardinality 4383<BR>
       column &quot;YR&quot; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;datatype 
       OMNIDEX DATE length 2 format YYYY cardinality 12<BR>
       column &quot;MO&quot; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;datatype 
       OMNIDEX DATE length 1 format MM cardinality 12<BR>
       column &quot;DY_OF_MO&quot; &nbsp; &nbsp;datatype OMNIDEX DATE length 
       1 format DD cardinality 31<BR>
       column &quot;DY_OF_YR&quot; &nbsp; &nbsp;datatype INTEGER length 2 
       cardinality 366<BR>
       column &quot;DY_OF_WK&quot; &nbsp; &nbsp;datatype INTEGER length 1 
       cardinality 7<BR>
       column &quot;WK&quot; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;datatype 
       INTEGER length 1 cardinality 54<BR>
       column &quot;QTR&quot; &nbsp; &nbsp; &nbsp; &nbsp; datatype INTEGER 
       length 1 cardinality 4<BR>
       column &quot;FQTR&quot; &nbsp; &nbsp; &nbsp; &nbsp;datatype INTEGER 
       length 1 cardinality 4<BR>
       column &quot;FYR&quot; &nbsp; &nbsp; &nbsp; &nbsp; datatype OMNIDEX 
       DATE length 2 format YYYY cardinality 13<BR>
       column &quot;DESCRIPTION&quot; datatype C STRING length 32 
       cardinality 4383</P>
	  <p class="line2">&nbsp;</p>
      <H5>Zipcodes</H5>
      <P CLASS="ex">
       table &nbsp; &nbsp; &quot;ZIPCODES&quot;</P>
      <P CLASS="ex">
       physical &nbsp; &quot;dat/zip.dat&quot;<BR>
       primary &nbsp; &quot;ZIP&quot;</P>
      <P CLASS="ex">
       column &quot;ZIP&quot; &nbsp; &nbsp; &nbsp; &nbsp; datatype C STRING 
       &nbsp;length 10<BR>
       column &quot;CITY&quot; &nbsp; &nbsp; &nbsp; &nbsp;datatype C STRING 
       &nbsp;length 26<BR>
       column &quot;COUNTY_CODE&quot; datatype CHARACTER length 3<BR>
       column &quot;STATE&quot; &nbsp; &nbsp; &nbsp; datatype CHARACTER 
       length 2<BR>
       column &quot;REGION&quot; &nbsp; &nbsp; &nbsp;datatype CHARACTER 
       length 2<BR>
       column &quot;COUNTRY&quot; &nbsp; &nbsp; datatype CHARACTER length 2<BR>
       column &quot;LATITUDE&quot; &nbsp; &nbsp;datatype CHARACTER length 7<BR>
       column &quot;LONGITUDE&quot; &nbsp; datatype CHARACTER length 8<BR>
       column &quot;TYPE&quot; &nbsp; &nbsp; &nbsp; &nbsp;datatype CHARACTER 
       length 2<BR>
       column &quot;AREA_CODES&quot; &nbsp;datatype CHARACTER length 15<BR>
       column &quot;TIME_ZONE&quot; &nbsp; datatype INTEGER &nbsp; length 1</P>
      <p>&nbsp;</p>
      <!-- InstanceEndEditable --><P align="right"><a href="#">Top</a> </P>
	  </td>
  </tr>
  <tr>
    <td width="175" class="bbar">
<p>&nbsp;</p></td>
    <td align="right" valign="middle" class="bbar"> <p class="banner">Omnidex 
        Version 4.1 Build 1 - E10.04 - Dynamic Information Systems Corporation 
        - Copyright &copy; 2004</p></td>
  </tr>
</table>
<div class="menu0" id="m1" onMouseOver="changeClass('menu1','m1'); changeVisibility('visible','s1');" onMouseOut="changeClass('menu0','m1'); changeVisibility('hidden','s1');"> 
  <a href="../../index.htm">Home</a></div>      
<div class="menu0" id="m2" onMouseOver="changeClass('menu1','m2'); changeVisibility('visible','s2');" onMouseOut="changeClass('menu0','m2'); changeVisibility('hidden','s2');"> 
  <a href="../../Omnidex%20Concepts/Omnidex%20Overview.htm">Omnidex</a></div>      
<div class="menu0" id="m3" onMouseOver="changeClass('menu1','m3'); changeVisibility('visible','s3');" onMouseOut="changeClass('menu0','m3'); changeVisibility('hidden','s3');"> 
  <a href="../../Getting%20Started/Getting%20Started.htm">Getting Started </a></div>      
<div class="menu0" id="m4" onMouseOver="changeClass('menu1','m4'); changeVisibility('visible','s4');" onMouseOut="changeClass('menu0','m4'); changeVisibility('hidden','s4');"> 
  <a href="../../Development/Development.htm">Development</a></div>      
<div class="menu0" id="m5" onMouseOver="changeClass('menu1','m5'); changeVisibility('visible','s5');" onMouseOut="changeClass('menu0','m5'); changeVisibility('hidden','s5');"> 
  <a href="../../Utilities/Utilities.htm">Utilities</a></div>      
<div class="menu0" id="m6" onMouseOver="changeClass('menu1','m6'); changeVisibility('visible','s6');" onMouseOut="changeClass('menu0','m6'); changeVisibility('hidden','s6');"> 
  <a href="../../Appendix/Appendix.htm">Appendix</a></div>
    <td>&nbsp;</td>
  </tr>
</table> 
<table id="s1" border="0" cellspacing="0" cellpadding="0" onMouseOver="changeClass('menu1','m1'); changeVisibility('visible','s1');" onMouseOut="changeClass('menu0','m1'); changeVisibility('hidden','s1');">
  <tr> 
    <td id="s11" class="menu1" onMouseOver="changeClass('menu0','s11');" onMouseOut="changeClass('menu1','s11');"><a href="../../Whats%20New.htm">What's 
      New!</a></td>
  </tr>
  <tr> 
    <td id="s12" class="menu1" onMouseOver="changeClass('menu0','s12');" onMouseOut="changeClass('menu1','s12');"><a href="../../Quick%20Links.htm">Quick 
      Links</a></td>
  </tr>
  <tr> 
    <td id="s13" class="menu1" onMouseOver="changeClass('menu0','s13');" onMouseOut="changeClass('menu1','s13');"><a href="../../Contents.htm">Contents</a></td>
  </tr>
</table>
<table id="s2" border="0" cellspacing="0" cellpadding="0" onMouseOver="changeClass('menu1','m2'); changeVisibility('visible','s2');" onMouseOut="changeClass('menu0','m2'); changeVisibility('hidden','s2');">
  <tr> 
    <td id="s21" class="menu1" onMouseOver="changeClass('menu0','s21');" onMouseOut="changeClass('menu1','s21');"><a href="../../Omnidex%20Concepts/Features/Features.htm">Features</a></td>
  </tr>
  <tr> 
    <td id="s22" class="menu1" onMouseOver="changeClass('menu0','s22');" onMouseOut="changeClass('menu1','s22');"><a href="../../Omnidex%20Concepts/Indexing%20Strategies/Indexing%20Strategies.htm">Indexing 
      Strategies</a></td>
  </tr>
  <tr> 
    <td id="s23" class="menu1" onMouseOver="changeClass('menu0','s23');" onMouseOut="changeClass('menu1','s23');"><a href="../../Omnidex%20Concepts/Indexing%20Options/Indexing%20Options.htm">Indexing 
      Options </a></td>
  </tr>
  <tr> 
    <td id="s24" class="menu1" onMouseOver="changeClass('menu0','s24');" onMouseOut="changeClass('menu1','s24');"><a href="../../Omnidex%20Concepts/Index%20Maintenance/Index%20Maintenance.htm">Index 
      Maintenance </a></td>
  </tr>
  <tr> 
    <td id="s25" class="menu1" onMouseOver="changeClass('menu0','s25');" onMouseOut="changeClass('menu1','s25');"><a href="../../Omnidex%20Concepts/Partitioning/Partitioning.htm">Optimization</a></td>
  </tr>
  <tr> 
    <td id="s26" class="menu1" onMouseOver="changeClass('menu0','s26');" onMouseOut="changeClass('menu1','s26');"><a href="../../Omnidex%20Concepts/Index%20Maintenance/Index%20Maintenance.htm">Partitioning</a></td>
  </tr>
  <tr> 
    <td id="s27" class="menu1" onMouseOver="changeClass('menu0','s27');" onMouseOut="changeClass('menu1','s27');"><a href="../../Omnidex%20Concepts/Text/Omnidex%20Text.htm">Omnidex Text</a></td>
  </tr>
</table>
<table id="s3" border="0" cellspacing="0" cellpadding="0" onMouseOver="changeClass('menu1','m3'); changeVisibility('visible','s3');" onMouseOut="changeClass('menu0','m3'); changeVisibility('hidden','s3');">
  <tr> 
    <td id="s31" class="menu1" onMouseOver="changeClass('menu0','s31');" onMouseOut="changeClass('menu1','s31');"><a href="../../Getting%20Started/1%20-%20Installation%20and%20Setup.htm">Server 
      Setup Guides</a></td>
  </tr>
  <tr> 
    <td id="s32" class="menu1" onMouseOver="changeClass('menu0','s32');" onMouseOut="changeClass('menu1','s32');"><a href="../../Getting%20Started/Omnidex%20Client/Windows%20Client.htm">Windows 
      Client</a></td>
  </tr>
  <tr> 
    <td id="s33" class="menu1" onMouseOver="changeClass('menu0','s33');" onMouseOut="changeClass('menu1','s33');"><a href="../../Database%20Platforms/Supported%20Database%20Platforms.htm">Database 
      Platforms </a></td>
  </tr>
  <tr> 
    <td id="s34" class="menu1" onMouseOver="changeClass('menu0','s34');" onMouseOut="changeClass('menu1','s34');"><a href="../../Environment%20Catalog/Environment%20Catalog.htm">Environment 
      Catalog</a> </td>
  </tr>
</table>
<table id="s4" border="0" cellspacing="0" cellpadding="0" onMouseOver="changeClass('menu1','m4'); changeVisibility('visible','s4');" onMouseOut="changeClass('menu0','m4'); changeVisibility('hidden','s4');">
  <tr> 
    <td id="s41" class="menu1" onMouseOver="changeClass('menu0','s41');" onMouseOut="changeClass('menu1','s41');"><a href="../../SQL%20Reference/SQL%20Reference.htm">SQL 
      Reference</a> </td>
  </tr>
  <tr> 
    <td id="s42" class="menu1" onMouseOver="changeClass('menu0','s42');" onMouseOut="changeClass('menu1','s42');"><a href="../../Development/ODBC/ODBC.htm">ODBC</a></td>
  </tr>
  <tr> 
    <td id="s43" class="menu1" onMouseOver="changeClass('menu0','s43');" onMouseOut="changeClass('menu1','s43');"><a href="../../Development/JDBC/JDBC.htm">JDBC</a></td>
  </tr>
  <tr> 
    <td id="s44" class="menu1" onMouseOver="changeClass('menu0','s44');" onMouseOut="changeClass('menu1','s44');"><a href="../../Development/OmniAccess%20API/OmniAccess%20API.htm">OmniAccess 
      API</a></td>
  </tr>
  <tr> 
    <td id="s45" class="menu1" onMouseOver="changeClass('menu0','s45');" onMouseOut="changeClass('menu1','s45');"><a href="../../Development/Debugging/OMNIDEX_DEBUG.htm">Debugging</a></td>
  </tr>
</table>
<table id="s5" border="0" cellspacing="0" cellpadding="0" onMouseOver="changeClass('menu1','m5'); changeVisibility('visible','s5');" onMouseOut="changeClass('menu0','m5'); changeVisibility('hidden','s5');">
  <tr> 
    <td id="s51" class="menu1" onMouseOver="changeClass('menu0','s51');" onMouseOut="changeClass('menu1','s51');"><A href="../../Utilities/DBINSTAL/DBINSTAL.htm">DBINSTAL</A></td>
  </tr>
  <tr> 
    <td id="s52" class="menu1" onMouseOver="changeClass('menu0','s52');" onMouseOut="changeClass('menu1','s52');"><a href="../../Utilities/DSEDIT/DSEDIT.htm">DSEDIT</a></td>
  </tr>
  <tr> 
    <td id="s53" class="menu1" onMouseOver="changeClass('menu0','s53');" onMouseOut="changeClass('menu1','s53');"><a href="../../Utilities/NSADMIN/NSADMIN.htm">NSADMIN</a></td>
  </tr>
  <tr> 
    <td id="s54" class="menu1" onMouseOver="changeClass('menu0','s54');" onMouseOut="changeClass('menu1','s54');"><a href="../../Utilities/OACOMP/OACOMP.htm">OACOMP</a></td>
  </tr>
  <tr> 
    <td id="s55" class="menu1" onMouseOver="changeClass('menu0','s55');" onMouseOut="changeClass('menu1','s55');"><a href="../../Utilities/OADECOMP/OADECOMP.htm">OADECOMP</a></td>
  </tr>
  <tr> 
    <td id="s56" class="menu1" onMouseOver="changeClass('menu0','s56');" onMouseOut="changeClass('menu1','s56');"><a href="../../Utilities/OAHELPER/OAHELPER.htm">OAHELPER</a></td>
  </tr>
  <tr> 
    <td id="s57" class="menu1" onMouseOver="changeClass('menu0','s57');" onMouseOut="changeClass('menu1','s57');"><A href="../../Utilities/ODXAIM/ODXAIM.htm">ODXAIM</A></td>
  </tr>
  <tr> 
    <td id="s58" class="menu1" onMouseOver="changeClass('menu0','s58');" onMouseOut="changeClass('menu1','s58');"><a href="../../Utilities/ODXMAKE/ODXMAKE.htm">ODXMAKE</a></td>
  </tr>
  <tr> 
    <td id="s59" class="menu1" onMouseOver="changeClass('menu0','s59');" onMouseOut="changeClass('menu1','s59');"><a href="../../Utilities/ODXNET/ODXNET.htm">ODXNET</a></td>
  </tr>
  <tr> 
    <td id="s510" class="menu1" onMouseOver="changeClass('menu0','s510');" onMouseOut="changeClass('menu1','s510');"><A href="../../Utilities/ODXQUERY/ODXQUERY.htm">ODXQUERY</A></td>
  </tr>
  <tr> 
    <td id="s511" class="menu1" onMouseOver="changeClass('menu0','s511');" onMouseOut="changeClass('menu1','s511');"><a href="../../Utilities/ODXSQL/ODXSQL.htm">ODXSQL</a></td>
  </tr>
  <tr> 
    <td id="s512" class="menu1" onMouseOver="changeClass('menu0','s512');" onMouseOut="changeClass('menu1','s512');"><a href="../../Utilities/REGMAINT/REGMAINT.htm">REGMAINT</a></td>
  </tr>
  <tr> 
    <td id="s513" class="menu1" onMouseOver="changeClass('menu0','s513');" onMouseOut="changeClass('menu1','s513');"><A href="../../Utilities/REGTEST/REGTEST.htm">REGTEST</A></td>
  </tr>
  <tr> 
    <td id="s514" class="menu1" onMouseOver="changeClass('menu0','s514');" onMouseOut="changeClass('menu1','s514');"><a href="../../Utilities/SNOWGEN/SNOWGEN.htm">SNOWGEN</a></td>
  </tr>
  <tr> 
    <td id="s515" class="menu1" onMouseOver="changeClass('menu0','s515');" onMouseOut="changeClass('menu1','s515');"><a href="../../Utilities/SYSINFO/SYSINFO.htm">SYSINFO</a></td>
  </tr>
  <tr> 
    <td id="s516" class="menu1" onMouseOver="changeClass('menu0','s516');" onMouseOut="changeClass('menu1','s516');"><a href="../../Utilities/VERSIONS/VERSIONS.htm">VERSIONS</a></td>
  </tr>
  <tr> 
    <td id="s517" class="menu1" onMouseOver="changeClass('menu0','s517');" onMouseOut="changeClass('menu1','s517');"><a href="../../Utilities/VIEWGEN/VIEWGEN.htm">VIEWGEN</a></td>
  </tr>
</table>
<table id="s6" border="0" cellspacing="0" cellpadding="0" onMouseOver="changeClass('menu1','m6'); changeVisibility('visible','s6');" onMouseOut="changeClass('menu0','m6'); changeVisibility('hidden','s6');">
  <tr> 
    <td id="s61" class="menu1" onMouseOver="changeClass('menu0','s61');" onMouseOut="changeClass('menu1','s61');"><a href="../../Appendix/Cardinality.htm">Cardinality</a></td>
  </tr>
  <tr> 
    <td id="s62" class="menu1" onMouseOver="changeClass('menu0','s62');" onMouseOut="changeClass('menu1','s62');"><a href="../../Appendix/Date%20Formats.htm">Date 
      Formats </a></td>
  </tr>
  <tr> 
    <td id="s63" class="menu1" onMouseOver="changeClass('menu0','s63');" onMouseOut="changeClass('menu1','s63');"><a href="../../Appendix/Environment%20Variables.htm">Environment 
      Variables </a></td>
  </tr>
  <tr> 
    <td id="s64" class="menu1" onMouseOver="changeClass('menu0','s64');" onMouseOut="changeClass('menu1','s64');"><a href="../../Appendix/File%20Name%20Handling.htm">File 
      Name Handling</a></td>
  </tr>
  <tr> 
    <td id="s65" class="menu1" onMouseOver="changeClass('menu0','s65');" onMouseOut="changeClass('menu1','s65');"><a href="../../Appendix/Glossary%20A.htm">Glossary</a></td>
  </tr>
  <tr> 
    <td id="s66" class="menu1" onMouseOver="changeClass('menu0','s66');" onMouseOut="changeClass('menu1','s66');"><a href="../../Appendix/Null.htm">Null</a></td>
  </tr>
  <tr> 
    <td id="s67" class="menu1" onMouseOver="changeClass('menu0','s67');" onMouseOut="changeClass('menu1','s67');"><a href="../../Appendix/OAGLOBAL.htm">OAGLOBAL</a></td>
  </tr>
  <tr> 
    <td id="s68" class="menu1" onMouseOver="changeClass('menu0','s68');" onMouseOut="changeClass('menu1','s68');"><a href="../../Appendix/Operating%20Limits.htm">Operating 
      Limits</a></td>
  </tr>
  <tr> 
    <td id="s69" class="menu1" onMouseOver="changeClass('menu0','s69');" onMouseOut="changeClass('menu1','s69');"><a href="../../Appendix/Provided%20Managed%20Synonym%20Lists.htm">Managed 
      Synonym Lists</a></td>
  </tr>
  <tr> 
    <td id="s70" class="menu1" onMouseOver="changeClass('menu0','s70');" onMouseOut="changeClass('menu1','s70');"><a href="../../Appendix/Reserved%20Words.htm">Reserved 
      Words</a></td>
  </tr>
  <tr> 
    <td id="s71" class="menu1" onMouseOver="changeClass('menu0','s71');" onMouseOut="changeClass('menu1','s71');"><a href="../../Appendix/Supported%20Datatypes.htm">Supported 
      Data Types</a></td>
  </tr>
</table>
<p>&nbsp;</p>
</body>
<!-- InstanceEnd --></html>
