A '''Database Management System''', or DBMS, is a program or set of programs for managing [database%|%databases]. ** Description ** A DBMS is typically responsible for * providing storage for a structured, integrated, coherent collection of data * allowing the collection of data to always represent the current state of some part of the real world * providing the current state to an organisation which needs it to function * ensuring that the current state is correctly represented * allowing access to and use of the collection of data by one or more applications and/or users * providing protection for crucial data for the organisation using it To carry out these responsibilites a DBMS usually features: * data structure definition facilities with provision for specifying and enforcing relationships between different types of data. * a data update facility * query languages and tools * provision for integrity checks * access and concurrency management * backup and recovery facilities ** Little Database Systems ** [adb]: a pure-tcl database engine with optional (non-pure) extensions to MySQL and XML [TclVSdb]: Very Simple Database package Native Tcl database facility, written in Tcl [Starbase.tcl]: [A simple database]: [RS]: Here I want to explore how a database can be implemented in the Tcl spirit of simplicity, and how far that approach takes us [ANSI color control]: tables of pre-defined columns, and something that mimics [SQL] SELECT a bit ** Pre-Relational Database Systems ** [Berkeley DB]: Includes Tcl Extension for accessing all the functionality [gdbm]: ** Hybrid Database Systems ** [Metakit]: has a wonderful Tcl binding that makes all the power of Metakit available in a natural and intuitive way. ** Object Databases ** [OBST]: ** Time Series Database Systems ** [FameTcl]: [tsdb], by [EF]: Stores time series data in basic (and mostly ordered) text files. ** Specialized Database Systems ** [ftp://ftp.tcl.tk/pub/tcl/all/n/NLItcl/0/NLItcl.tar.gz%|%NLItcl.tar.gz]: Natural Language Inc's NLI binding [PiTcl]: [Palm Pilot] Lotus Notes: [TKHINote] Sun Net Manager: [TCLSNM] ** [RDBMS%|%Relational Database Systems] ** See [RDBMS] ** Graph Database Systems ** [Neo4j]: <> database