News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

SDB 0.1.x - a Simple Data Base

Started by kennie, November 04, 2010, 09:14:03 PM

Previous topic - Next topic

kennie

SDB is a low-level, easy to use Database for assembler programmers. It can store and retrieve little portions of data in a 2-dimensional column/row structure.
It's similar to my other project 'TDB' which uses a tree-structure
SDB is using files with the extension '.2db'. It is not related to files with the '.sdb' extension.

I mainly wrote SDB for my own use to have the benefit of its functions and then made it available to other interested peoples to show the idea / present it as a draft. So this version might not be complete, perfect or uses the best strategies or algorithms.

The SDB runtime-module is designed to be used from a single task, one DB at a time, however, there is a fast switching mechanism to use multiple DB's within an application.
There is currently no visualisation module, it runs either in background or the user has to take care about the visualisation. (see also example 1)

Normally the user will create/prepare a DB with the SDB-Editor, attach the runtime-module to his application and write function calls like 'sdb_get_data_ptr' 'sdb_set_data' into the sourcefile.

Basically column-types can be 'text'(1-byte 0-terminated, variable length) and 'byte', 'word', 'dword' (fixed length). With some limitations column-types 'qword', real4, real8, real10, and date/time are also available, and a useful column-type for variable-length data at each row could be the (small/medium/large) 'container' which is a byte/word/dword size-value and a following data-block.
A column-type'unicode' (2-byte text) is reserved but currently not supported.

SDB can be used for storing and retrieving user-entered or application-generated data, loading and storing parametersets, holding data in runtime as a memory-DB, as a data-resource (embedded DB),...


SDB Screeshots

The SDB Page

sdb.zip  (548 kB)  Editor, runtime module and examples. With all sources, except the help sources.