OVERVIEW:
-----------
THIS LIBRARY IS SHAREWARE. Only developers using this library to develop own
applications have to pay the shareware fee, for 'users' the library is for
free. See the Installation manual for details.
This shared runtime library and the according link library can be used by every
application that needs to store information in a database. The library contains
all functions that are required to create and edit large databases of several
datatables and their according indexes.
The library could be used from every programming language that is able to call
Amiga shared runtime libraries (C-headerfiles included).
The library doesn't provides any graphical user interface (GUI); use whichever
you want for your database application, respectively use the database func-
tionality from any application.
The datatables are organized like XBase-datafiles but they are not compatible
to the several XBase-clones. I renounced to make them compatible because I've
missed several options by the XBase-datatables. So XBase doesn't support the
basic numerical datatypes, XBase use an own format for numerical values stored
in the datatables. They use a fixed-point value but since there is no support
for fixed-point algebra in any known (known by me) operating-system/hardware
this will always result in rounding errors when these values are converted to a
floating-point value to do any arithmetics. So I decided to add support for the
basic numeric datatypes. This library can store simple integer types as single
byte-values, 2 byte words, 4 byte longs, and 8 byte (64-bit) doublelong values
and also floating-point values in single or double precision.
The datatables also support fixed-point numerical values (simular to XBase),
date and time values, strings of fixed and variable length.
The library supports simultaneous multiuser access to these files and does the
required lockings so the accesses of the different instances are serialized to
avoid conflicts. The library supports automatically locking or manual locking
of the records of the datatables. Automatically locking will do it for most
purposes but manual locking may be required for finetuning of an application.
The records of every datatable may be indexed using several indexes. The
indexes are stored in own index-files and the keys in these indexes are
automatically added/changed/removed, whenever the contents of a record is
changed. The keys are build according to a key-expression, that has to be
specified for every index. This key-expression allows to combine several
columns of a datatable to a single key-value, e.g. in an address-datatable you
may combine the columns for the 'name' and 'first name' for an index that is
primary ordered by the 'name' and all entries with equal 'name' are ordered by
the 'first name'. There are also a couple of supported functions that may be
used to manipulate the key-values, e.g. the function "Upper()" that allows to
create an index where the case of the strings doesn't matter for the sorting
order.
Nearly every column-type of the datatables may be indexed, except the columns
containg a variable length string (or custom datatypes that are not
representable by a string or a 64-bit integer).
You should first have a look into the installation manual and then use the
developer manual to learn how to create own applications using the
Database.library.
FEATURES:
-----------
- runs on any Amiga with at least AmigaOS 2.0
- supports simultan multiuser access to the database using record locking
- supports databases located on network devices
- supports several datatypes to be stored in the databases
- expandable concept, write your own extensions for custom datatypes to be
stored in a database.
- any number of indexes per datatable allowing to order and seek for nearly
any contents on the database
- more than 200 pages english documentation (.guide and .dvi) describing
installation, usage, performance, and programming containing several
examples and a complete tutorial.
- it's very easy to learn how to create own databases using this library
- ...(have a look into the documentation contained in this archive)
INCLUDED DEVELOPER FILES:
---------------------------
- Autodocs
- C header files (also protos, pragmas)
- several C examples showing how to use the database.library
- complete RKM-alike manual (>160 pages) describing the library and its
functions including a complete tutorial and additional information,
required if own enhancements should be added to the functionality.
FILES:
--------
This archive should contain the following files:
README - this file
joinOS.readme - basic information about joinOS.library
database.library - the shared database.library
joinOS.library - additional library containing support fct.
documents/Installation.guide - installation guide as AmigaGuide document
documents/Installation.dvi - installation guide as dvi document
documents/Developer.guide - developers manual as AmigaGuide document
documents/Developer.dvi - developers manual as dvi document
autodoc/Database.guide - Autodoc file of the database.library
autodoc/joinOS.guide - Autodoc file of the joinOS.library
lib/Database.lib - C link-library with additional functions
lib/joinOS.lib - C link-library with additional functions
include/joinOS/... - C include files required for development
examples/... - several example files inclusive source
HISTORY
---------
- Version 1.0, 10. May 2004
first public release
|