.ig >>
<STYLE TYPE="text/css">
<!--
        A:link{text-decoration:none}
        A:visited{text-decoration:none}
        A:active{text-decoration:none}
        OL,UL,P,BODY,TD,TR,TH,FORM { font-family: arial,helvetica,sans-serif;; font-size:small; color: #333333; }

        H1 { font-size: x-large; font-family: arial,helvetica,sans-serif; }
        H2 { font-size: large; font-family: arial,helvetica,sans-serif; }
        H3 { font-size: medium; font-family: arial,helvetica,sans-serif; }
        H4 { font-size: small; font-family: arial,helvetica,sans-serif; }
-->
</STYLE>
<title>shsql: overview</title>
<body bgcolor=99cc99 vlink=0000FF>
<br>
<br>
<center>
<table cellpadding=2 bgcolor=FFFFFF width=550 ><tr>
<td align=right><a href="handbook_home.html">
<img src="img/shsql.gif" border=0><br><small>minimalist SQL database</a> &nbsp; </td></tr>
<td>
.>>

.TH Overview TDH "16-MAR-2004   TDH scg@jax.org" 

.LP
.ig >>
<a href="handbook_home.html">
.>>
\0shsql home page
.ig >>
</a>
.>>

.br
.ig >>
<a href="specs.html">
.>>
\0specs and limitations page
.ig >>
</a>
.>>

.SH shsql overview
Have you ever wished that there was a reasonably full-featured, efficient open source SQL database for 
unix/linux that could be downloaded and installed by a non-privileged user in 5 minutes, and that would 
include everything you need to let you begin building real web-based database applications in 10 minutes?
An SQL database that could be embedded directly into applications requiring no 
persistent server process, with a small code size and memory footprint?  
An SQL database that used plain ascii whitespace-delimited data files which you could modify in a 
text editor if you wanted to?  An easy-to-administer SQL database that didn't impose its own layer of user 
logins and permissions?
.LP
If so, you may be interested in \fBshsql\fR...
.LP
\fBshsql\fR is an open source database system for unix/linux that stores data in plain 
whitespace-delimited ascii data files, and uses a variant of the SQL language.  When you
build \fBshsql\fR, the results include a command line SQL tool and a 'C' language API 
called \fClibshsql\fR which can be linked and delivered with your applications.  
\fBshsql\fR is distributed as part of a package called
.ig >>
<a href="../../qman/html/handbook_home.html">
.>>
\0quisp
.ig >>
</a>
.>>
(quick server pages)
which allows rapid development of web-based database applications, among other things.
.LP
With \fBshsql\fR all database functionality is embedded in the application; there is
no server process, and no need to "connect" or "log in" to a database server.  
This allows complete turnkey applications to be delivered to sites without any dependence
on a persistent database such as Oracle or MySQL.
.LP
\fBshsql\fR supports several types of indexes, table and record locking, 
automatic sequence/serial number allocation,
and search engine features.  
\fBshsql\fR extends the traditional SQL model by allowing data files and streams to be created
by other programs, and can perform SELECT access on files anywhere in the file system.
.LP
In some ways \fBshsql\fR takes a minimalist approach:
there are no data types, no provision for arithmetic or string/date/time manipulation in
\fCSELECT\fRs, no logins, passwords, or user access permissions (much of this 
is typically handled by middleware anyway these days).
\fBshsql\fR relies on unix file and directory permissions settings for access control.
Also, there are no triggers, stored 
procedures, commit/rollback, memo field or BLOB support.
.LP
\fBshsql\fR is seen as a viable option for rapid prototyping situations,
demos, exploratory work, one-developer projects, etc. where its simplicity
and flexibility will allow a lot of app development to be done quickly, and 
where full-blown packages like MySQL or Oracle aren't already available, or are 
unacceptable for whatever reason.
.LP
Enjoy!

.ig >>
<br>
<br>
</td></tr>
<td align=right>
<a href="handbook_home.html">
<img src="img/shsql.gif" border=0></a><br>
<a href="Copyright.html">Copyright Steve Grubb</a> &nbsp;
</td></tr>
</table>
.>>


