#set TITLE = "Table types"
#include top

.SH Table types
The following chart illustrates the similarities and differences between
the various types of tables / files that \fBshsql\fR supports:
.LP
.ig >>
<table cellpadding=2 border=1>
<tr align=center bgcolor=FFFFEC><td> &nbsp; </td><td><a href="tables.html">Standard database tables</a></td>
<td><a href="temptables.html">Temporary tables</a></td>
<td><a href="ordfiles.html">Ordinary files</a></td>
<td><a href="hier.html">Tables in a hierarchy</a></td></tr>
<tr align=center><td align=left>Created using CREATE</td><td>yes</td><td>no</td><td>no</td><td>yes</td></tr>
<tr align=center><td align=left>May be retrieved from using SELECT</td><td>yes</td><td>yes</td><td>yes</td><td>yes</td></tr>
<tr align=center><td align=left>May be involved in a JOIN</td><td>yes</td><td>yes</td><td>yes</td><td>yes</td></tr>
<tr align=center><td align=left>May be populated using SELECT INTO</td><td>yes<sup>[1]</sup></td><td>yes</td><td>yes</td><td>yes<sup>[1]</sup></td></tr>
<tr align=center><td align=left>May be modified using INSERT, UPDATE, DELETE</td><td>yes</td><td>no</td><td>no</td><td>yes</td></tr>
<tr align=center><td align=left>May use <a href="sequences.html">sequences</a></td><td>yes</td><td>no</td><td>no</td><td>yes</td></tr>
<tr align=center><td align=left>
	<a href="tablelocking.html">table locking</a> and<br>
	<a href="recordlocking.html">record locking</a> available
	</td><td>yes</td><td>no</td><td>no</td><td>yes</td></tr>
<tr align=center><td align=left>May be processed using MAINTAIN</td><td>yes</td><td>no</td><td>no</td><td>yes</td></tr>
<tr align=center><td align=left>CREATE INDEX can be used to build indexes</td><td>yes</td><td>no</td><td>yes</td><td>yes</td></tr>
<tr align=center><td align=left>May be manually edited using <a href="dataedit.1.html">dataedit(1)</a>
	</td><td>yes</td><td>no</td><td>no[4]</td><td>yes</td></tr>
<tr align=center><td align=left>Must conform to <a href="tables.html#structure">standard structure rules</a></td><td>yes</td><td>yes</td><td>yes</td><td>yes</td></tr>
<tr align=center><td align=left>Name <sup>[2]</sup></a></td><td>[2]</td><td>begins with $</td>
	<td>begins with . or /</td><td>[3]</td></tr>
<tr align=center><td align=left>File location</a></td><td><tt>data</tt> dir</td><td><tt>tmp</tt> dir</td><td>anywhere</td><td><tt>data</tt> dir</td></tr>
</table>
.>>
.LP
[1] = the \fCTABLE\fR or \fCAPPEND\fR option must be given when \fCSELECT\fRing \fCINTO\fR a database table.
.LP
[2] = all names are case-sensitive alphanumeric, with no punct chars allowed except underscore (_) unless otherwise
noted.
.LP
[3] = may contain slashes (/), but may not begin with a slash (/)
.LP
[4] = may be edited using your text editor or modified by programs, but no locking is done


#include bottom
