shsql: table types

SQL database system
| Manual page for Table(types)

## Table types

The following chart illustrates the similarities and differences between the various types of tables / files that shsql supports:

| Standard database tables | Temporary tables | Ordinary files | Tables in a hierarchy
Created using CREATE | yes | no | no | yes
May be retrieved from using SELECT | yes | yes | yes | yes
May be involved in a JOIN | yes | yes | yes | yes
May be populated using SELECT INTO | yes[1] | yes | yes | yes[1]
May be modified using INSERT, UPDATE, DELETE | yes | no | no | yes
May use sequences | yes | no | no | yes
table locking and record locking available | yes | no | no | yes
May be processed using MAINTAIN | yes | no | no | yes
CREATE INDEX can be used to build indexes | yes | no | yes | yes
May be manually edited using dataedit(1) | yes | no | no[4] | yes
Must conform to standard structure rules | yes | yes | yes | yes
Name [2] | [2] | begins with $ | begins with . or / | [3]
File location | `data` dir | `tmp` dir | anywhere | `data` dir

[1] = the `TABLE` or `APPEND` option must be given when `SELECT`ing `INTO` a database table.``

[2] = all names are case-sensitive alphanumeric, with no punct chars allowed except underscore (_) unless otherwise noted.``

[3] = may contain slashes (/), but may not begin with a slash (/)

[4] = may be edited using your text editor or modified by programs, but no locking is done
Copyright Steve Grubb

Markup created by unroff 1.0, `` `` March 18, 2004.