Chapter 1. Introduction

This document describes a package distributed with SpecTcl that provides support for saving and restoring data from sqlite3 databases. For more information about Sqlite3 see http://sqlite.org for information about that database and package. If you want to extend the database access but don't know SQL, the query language used by Sqlite3, you can have a look at this SQL tutorial online. www.w3schools.com/sql

The remainder of this document describes

Why use Sqlite instead of some other database library? Most, though not all, database libraries work in a client server environment. In this environment, new databases must be created by requesting them from a database administrator. Sqlite, however stores its database in an ordinary file. This means no overhead is required to create dabases and you can hand out databases to your collaborators as simply as handing them the database file.

All of this comes at one cost. Sqlite, provides only a single writer and multiple reader model. With a lot of fancy footwork in detecting and responding to database locked conditions, this can be overcome, however one writer and a single reader is not normally a hindrance in this application.