<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><!-- InstanceBegin template="../../Templates/DocTemp.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
<!-- InstanceBeginEditable name="doctitle" -->
<title>Omnidex Concepts - Indexing Options - Composite Indexes</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>Omnidex Concepts - Indexing Options</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>&nbsp;</p>
      <p><a href="#well">Well-Behaved IDs</a></p>
      <p><a href="#vs">Comparison</a></p>
      <p class="line">&nbsp;</p>
      <p>&nbsp;</p>
      <!-- InstanceEndEditable --></td>
    <td valign="top" class="content"> <!-- InstanceBeginEditable name="Content" --> 
      <h2>Bitmap Indexes</h2>
      <p>Bitmap indexing is an indexing option which stores index pointers as 
        a bitmap rather than a B-tree, providing efficient indexing for &quot;low 
        cardinality&quot; data (small numbers of unique values).</p>
      <p>Bitmap indexes are used on low cardinality data of less than 30 unique 
        values with well behaved Omnidex IDs. Ideal for Data Warehouse applications 
        that do not need real time indexing.</p>
      <p> The following example shows a table with &quot;well-behaved&quot; IDs. 
        One bit is assigned to each ID in the table. The bitmap index is installed 
        on the state field.</p>
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr> 
          <td width="45%"> 
            <table width="100%" border="1" cellspacing="0" cellpadding="0">
              <tr> 
                <td width="50%">
<p>State</p></td>
                <td width="50%">
<p>ID</p></td>
              </tr>
              <tr> 
                <td width="50%">
<p>CO</p></td>
                <td width="50%">
<p>1</p></td>
              </tr>
              <tr> 
                <td width="50%">
<p>CA</p></td>
                <td width="50%">
<p>2</p></td>
              </tr>
              <tr> 
                <td width="50%">
<p>CO</p></td>
                <td width="50%">
<p>3</p></td>
              </tr>
            </table></td>
          <td width="10%"> 
            <p>&nbsp;</p></td>
          <td width="45%"> 
            <table width="100%" border="1" cellspacing="0" cellpadding="0">
              <tr> 
                <td width="50%">
<p>ID</p></td>
                <td width="50%">
<p>Bitmap Index</p></td>
              </tr>
              <tr> 
                <td width="50%">
<p>1</p></td>
                <td width="50%">
<p>1</p></td>
              </tr>
              <tr> 
                <td width="50%">
<p>2</p></td>
                <td width="50%">
<p>0</p></td>
              </tr>
              <tr> 
                <td width="50%">
<p>3</p></td>
                <td width="50%">
<p>1</p></td>
              </tr>
            </table></td>
        </tr>
      </table>
      <p><br>
        The next example is &quot;ill-behaved&quot; because the maximum value 
        of the IDs (3,000,000) greatly exceeds the row count of the table. A bitmap 
        index will create a bit for every possible value between 1 and the maximum 
        value of the IDs in the table. In this example, there are 3,000,000 bits 
        in the index for 3 records.</p>
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr> 
          <td width="45%" valign="top"> 
            <table width="100%" border="1" cellspacing="0" cellpadding="0">
              <tr> 
                <td width="50%">
<p>State</p></td>
                <td width="50%">
<p>ID</p></td>
              </tr>
              <tr> 
                <td width="50%">
<p>CO</p></td>
                <td width="50%">
<p>1,000,000</p></td>
              </tr>
              <tr> 
                <td width="50%">
<p>CA</p></td>
                <td width="50%">
<p>2,000,000</p></td>
              </tr>
              <tr> 
                <td width="50%">
<p>CO</p></td>
                <td width="50%">
<p>3,000,000</p></td>
              </tr>
            </table>
          </td>
          <td width="10%"> 
            <p>&nbsp;</p></td>
          <td width="45%" valign="top"> 
            <table width="100%" border="1" cellspacing="0" cellpadding="0">
              <tr> 
                <td width="50%">
<p>ID</p></td>
                <td width="50%">
<p>Bitmap Index</p></td>
              </tr>
              <tr> 
                <td width="50%">
<p>1</p></td>
                <td width="50%">
<p>0</p></td>
              </tr>
              <tr> 
                <td width="50%">
<p>2</p></td>
                <td width="50%">
<p>0</p></td>
              </tr>
              <tr> 
                <td width="50%">
<p>3</p></td>
                <td width="50%">
<p>0</p></td>
              </tr>
              <tr> 
                <td width="50%">
<p>4- 999,999</p></td>
                <td width="50%">
<p>0</p></td>
              </tr>
              <tr> 
                <td width="50%">
<p>1,000,000</p></td>
                <td width="50%">
<p>1</p></td>
              </tr>
              <tr> 
                <td width="50%">
<p>1,000,001 -<br>
                    2,999,999 </p></td>
                <td width="50%">
<p>0</p></td>
              </tr>
              <tr> 
                <td width="50%">
<p>3,000,000</p></td>
                <td width="50%">
<p>1</p></td>
              </tr>
            </table>
          </td>
        </tr>
      </table>
      <p>&nbsp; </p>
      <p>&nbsp; </p>
      <p class="line">&nbsp;</p>
      <h3><a name="well"></a>Well-Behaved IDs</h3>
      <p>A bitmap index will be created for each unique value in the column installed 
        with the ;BM option, and each bitmap index will contain a bit for each 
        row in the table. Therefore, the table must have a well-behaved rowid 
        to efficiently utilize bitmap indexing.</p>
      <p>A well-behaved id must:</p>
      <ul>
        <li>be a 32-bit integer. </li>
        <li>be sequentially ascending from 1. </li>
        <li>have a maximum value within 20% of the table's row count. This percentage 
          decreases as the cardinality increases.</li>
      </ul>
      <h5>Databases with well-behaved rowids</h5>
      <ul>
        <li>Flat files, RMS fixed length sequential files, and RMS relative files 
          all have well-behaved rowids because the TRR option is REQUIRED. </li>
        <li>TurboImage/XL children have well-behaved rowids. </li>
        <li>Any database that is using a <a href="../Features/Redefined%20Rowids.htm">Redefined 
          Rowid</a>, where the redefined rowid is mostly sequentially ascending 
          from 1, has well-behaved rowids. </li>
      </ul>
      <h5>Databases with ill-behaved rowids</h5>
      <ul>
        <li>Oracle uses a 13-byte rowid which must be mapped into a $RECNO using 
          a TIDMAP. Oracle 8i uses 16-byte rowids. </li>
        <li>Informix uses a 4-byte rowid but is not sequentially ascending. Rowids 
          may also be duplicated. </li>
        <li>C-ISAM uses a 4-byte rowid but is not sequentially ascending. </li>
        <li>ODBC standardized interface does not support rowids. This includes 
          Microsoft SQL Server. </li>
        <li>RMS Index Files do not have well-behaved rowids.</li>
      </ul>
      <p class="line2">&nbsp;</p>
      <h4><a name="vs"></a>Well-Behaved vs Ill-Behaved IDs</h4>
      <p>The following comparison demonstrates bitmap indexing for well-behaved 
        ids versus ill-behaved ids. </p>
      <p>The first example is &quot;well-behaved&quot; because the ids are sequentially 
        ascending from one. </p>
      <TABLE WIDTH="100%" CELLPADDING="2" CELLSPACING="1" BORDER="1">
        <TR> 
          <TD COLSPAN="2" WIDTH="25%" VALIGN=TOP> <h6 STYLE="text-align : center;" ALIGN=CENTER> 
              Well-behaved ids</h6></TD>
          <TD COLSPAN="2" WIDTH="25%" VALIGN=TOP> <h6 STYLE="text-align : center;" ALIGN=CENTER> 
              Bitmap Index for &quot;CA&quot;</h6></TD>
          <TD COLSPAN="2" WIDTH="25%" VALIGN=TOP> <h6 STYLE="text-align : center;" ALIGN=CENTER> 
              Bitmap Index for &quot;CO&quot;</h6></TD>
        </TR>
        <TR> 
          <TD WIDTH="17%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              Data</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> ID</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              ID</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> Index</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              ID</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> Index</TD>
        </TR>
        <TR> 
          <TD WIDTH="17%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              CA</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 2</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              1</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 0</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              1</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 1</TD>
        </TR>
        <TR> 
          <TD WIDTH="17%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              CO</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 1</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              2</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 1</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              2</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 0</TD>
        </TR>
        <TR> 
          <TD WIDTH="17%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              CO</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 3</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              3</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 0</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              3</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 1</TD>
        </TR>
      </TABLE></P>
      <h5> Ill-Behaved</h5>
      <P> The next example is &quot;ill-behaved&quot; because the maximum value 
        of the IDs (3,000,000) greatly exceeds the row count of the table. A bitmap 
        index will create a bit for every possible value between 1 and the maximum 
        value of the IDs in the table. In this example, there are 3,000,000 bits 
        in the index for 3 records.</P>
      <P> 
      <TABLE WIDTH="100%" CELLPADDING="2" CELLSPACING="1" BORDER="1">
        <TR> 
          <TD COLSPAN="2" WIDTH="25%" VALIGN=TOP> <h6 STYLE="text-align : center;" ALIGN=CENTER> 
              Ill-behaved ids</h6></TD>
          <TD COLSPAN="2" WIDTH="25%" VALIGN=TOP> <h6 STYLE="text-align : center;" ALIGN=CENTER> 
              Bitmap Index for &quot;CA&quot;</h6></TD>
          <TD COLSPAN="2" WIDTH="25%" VALIGN=TOP> <h6 STYLE="text-align : center;" ALIGN=CENTER> 
              Bitmap Index for &quot;CO&quot;</h6></TD>
        </TR>
        <TR> 
          <TD WIDTH="17%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              Data</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> ID</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              ID</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> Index</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              ID</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> Index</TD>
        </TR>
        <TR> 
          <TD WIDTH="17%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              CA</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 2,000,000</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              1</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 0</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              1</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 1</TD>
        </TR>
        <TR> 
          <TD WIDTH="17%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              CO</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 1,000,000</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              2</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 0</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              2</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 0</TD>
        </TR>
        <TR> 
          <TD WIDTH="17%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              CO</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 3,000,000</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              3</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 0</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              3</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 1</TD>
        </TR>
        <TR> 
          <TD WIDTH="17%" VALIGN=TOP> <p>&nbsp;</p>
            <p>&nbsp;</p></TD>
          <TD WIDTH="17%" VALIGN=TOP><p>&nbsp;</p>
            <p>&nbsp;</p></TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              4<BR>
              ...<BR>
              1,999,999</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 0</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              4<BR>
              ...<BR>
              999,999</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 0</TD>
        </TR>
        <TR> 
          <TD WIDTH="17%" VALIGN=TOP><p>&nbsp;</p></TD>
          <TD WIDTH="17%" VALIGN=TOP><p>&nbsp;</p></TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              2,000,000</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 1</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              1,000,000</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 1</TD>
        </TR>
        <TR> 
          <TD WIDTH="17%" VALIGN=TOP><p>&nbsp;</p>
            <p>&nbsp;</p></TD>
          <TD WIDTH="17%" VALIGN=TOP><p>&nbsp;</p>
            <p>&nbsp;</p></TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              2,000,001<BR>
              ...<BR>
              3,000,000</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 0</TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              1,000,001<BR>
              ...<BR>
              2,999,999</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 0</TD>
        </TR>
        <TR> 
          <TD WIDTH="17%" VALIGN=TOP><p>&nbsp;</p></TD>
          <TD WIDTH="17%" VALIGN=TOP><p>&nbsp;</p></TD>
          <TD WIDTH="16%" VALIGN=TOP><p>&nbsp;</p></TD>
          <TD WIDTH="17%" VALIGN=TOP><p>&nbsp;</p></TD>
          <TD WIDTH="16%" VALIGN=TOP> <P STYLE="text-align : right;" ALIGN=RIGHT> 
              3,000,000</TD>
          <TD WIDTH="17%" VALIGN=TOP> <P> 1</TD>
        </TR>
      </TABLE>
      <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>
