SQLite

Firstly, I have to admit that it was not clear if this should be under Software Development or Infrastructure but it is here!

Introduction

SQLite is a lightweight and yet reasonably powerful database solution. It is in-fact embedded inside a number of software products, all without the user really knowing there is a database inside. One good example is Mozilla Firefox.
In summary SQLite is an in process, zero configuration database engine which supports SQL and ACID transactions.

Development

In my view the easiest way to start working with SQLite is using Python. The Python langugage has shipped a standard module for SQLite3 database support since Python 2.4, this means it is installed and ready to go on most Linux boxes and is included in Windows installers. Being Python it is of course easy to use, see 12.6. sqlite3 — DB-API 2.0 interface for SQLite databases — Python v3.3.2 documentation for full details.

Personally I find it hard to develop against a database platform I can't easily see, so I would suggest some kind of GUI tool or utility is also needed, see below for details.

There is information available at SQLite from .NET on how to access SQLite from .NET.

Tools

SQLite supply binaries for several platforms as well as documentation and a couple of validation type utilities. This all fits with it's lightweight approach, however there are a number of useful tools on the internet available for working with SQLite databases. I have not tested them all but I have used DB Browser for SQLite which is on sqlitebrowser/sqlitebrowser · GitHub where the developers are currently active fixing bugs and added new features, which makes the project/community active and the tool and good and improving one.

Handy Hints

Most things are really easy, for example, creating an index is as easy as:
create index my_new_index on tablename(column1)
You can do more complex indexes and comma separate a list of columns.

Links