URL: http://www.firstbasesoftware.com/man/man5/firstbase.htm
Last modified: 4 April 1996
Copyright © by FirstBase Software.
[ Index of Contents] [ FirstBase RDBMS Overview]


NAME

FirstBase - FirstBase Relational Database Management System

SYNOPSIS

Overview of FirstBase

DESCRIPTION

Firstbase is a highly versatile set of database management tools that form a complete multi-user relational database management system.

Written entirely in C, FirstBase allows manipulation of personal databases as well as shared group databases and simultaneous database access. As a system, FirstBase provides full variable length record database manipulation mechanisms, with many extras, in fast, separate modules.

FirstBase permits an unlimited number of records per file, fields per record, and characters per field.

Together with UNIX, FirstBase offers extraordinary database management possibilities. Simplistic applications such as database editing and scanning and sorted reports and mailing labels are readily available.

More advanced applications involve separately maintained databases which can be combined into a single database, or resplit according to any user defined criteria. Or joined side by side with other data to increase the number of fields per record in the database.

The FirstBase system provides mechanisms for reshaping a database at any time without loss of any data. This reshaping can lengthen, shorten, split, filter, or increase the width of a database in any desirable manner.

Multiple index searches over large databases can be easily accomplished. Document-Database merging (mail merge) as well as programs for downloading/uploading data to/from other database management systems are provided.

Database protection mechanisms also exist in FirstBase. A scanner is used for those who have only read access to databases. Passwords within FirstBase, plus full UNIX file protection is standard.

Virtual fields (formulas), record locking, on line (during use of program) help files, true field editing with any editor, and the ability to make global changes to selected fields of selected records increase the capabilities of the FirstBase system tremendously.

FirstBase also provides a very easy method of HTML form reading and communicating via the Common Gateway Interface (CGI). See dbmacro(1).

PROGRAMS

FirstBase consists of a set of programs that allows complete user definition and manipulation of databases and their related indexes and printouts. FirstBase is a dictionary driven system -- by (re)defining a dictionary, the system becomes (re)defined. In other words, FirstBase shapes itself to user specifications as the program is being used.

Basically, a user can do three things with the FirstBase tools: edit a dictionary, edit a database, and generate data related objects. Thus, there are three classes of FirstBase programs:

dictionary editors
allow users to define and change data or generator dictionaries. FirstBase dictionaries (and thus, dictionary editors) exist for databases, indexes, reports, labels, conversions, and menus. These programs all give simple editor instructions on the 24th line of the screen during the editing session, and allow the quick display of a summary of commands available during each step. Entire screens are displayed and manipulated, allowing deletion, addition, and insertion, as well as modification of dictionary items.

The names of all dictionary editors are of the form dbd??? where ??? is meant to be a mnemonic for the class of objects being edited or defined. For example, dbdbas(1) is the 'define database program', dbdprt(1) is the 'define printout program', and dbdind(1) is the 'define index program'.

tools
consist of programs that edit or scan databases, change or update selected fields within selected records, as well as cut, paste, and selectively shape databases in virtually any way desirable.

The FirstBase editor/scanner, dbedit(1) is the heart of the whole system. This program allows information editing and scanning, with or without indexes. Specific records can be found, and separate fields within records can be modified without disturbing any other surrounding data in that record. Fields can even be corrected without having to retype the entire field.

Other examples of FirstBase tools are dbcat(1) and dbjoin(1), which allow concatenation and joining of FirstBase databases.

There are also a few different flavors of tools. One such tool is dbmerge(1), which processes pieces of data from a database and can combine this information with other textual information to be fed to outside UNIX tools, eg. nroff(1). Mail merge tasks are a subset of dbmerge(1) capabilities.

In addition, there are language processing tools that allow very complex database processing, queries, and even communication with HTML forms via the Common Dateway Interface (CGI). These tools are dbsql(1), an SQL tool, dbmacro(1) a macro processing language, and dbawk(1), an awk langauge processor.

generators
are used to create indexes, labels, reports, and databases. Generators can behave as filters (dbcgen(1)) to capture wanted or unwanted sections of data, or as processors that provide information on entire databases (dbpgen(1)).

A different type of generator, dbugen(1) allows the user to make global updates within a database using numerical field calculations, and text substitution into fields.

All the generator programs are named using db?gen where ? is for the first letter of the type of data object being generated. For example, dbigen(1) is the index generator program and dblgen(1) is the label generator program.

Note that all FirstBase generator type tools can be run in batch mode by using a -b flag on the argument line. This makes any tool suitable for shell scripts. Another mode called "yes mode" will run the FirstBase tool without waiting for permission to overwrite printouts, indexes, etc. This is accomplished by using the -y flag. The use of batch mode assumes yes mode.

The FirstBase tools can be run as normal programs from a UNIX shell or from a system or user defined menu shell. Additionally, the FirstBase system provides methods for defining and running a menu shell (dbshell(1)), and comes complete with a set of pre-defined menu files.

ARGUMENTS

Throughout the FirstBase, arguments specifying database and index names can be supplied to the programs and tools in normal UNIX command line protocol. These arguments never contain an extension, only a basename (or a UNIX path and a basename). FirstBase handles all file extension naming on its own. Whether used explicitly, defaulted, or passed via a menu call, these file name arguments are handled the same way.

When the FirstBase startup routine sees a database or index argument, it appends the FirstBase extensions to the database and index names, producing two distinct sets of data file names and dictionary file names. UNIX file naming and pathway conventions are supported by FirstBase, meaning databases can be manipulated across directories.

These arguments provide to the FirstBase system the names that will be used to access a database and/or index. The default name in all cases for a database is dbase and for the index, index.

Generators often require an extra file since they sometimes use both the current FirstBase index files and an extra dictionary file describing some object-to-be. This extra dictionary file name is most often developed from the FirstBase index file name, although some tools allow specific argument line commands for more control in object naming.

FirstBase handles all file protection errors gracefully. Write access to a particular database is required only for database editing. All other programs, (generators, dictionary editors, and other tools) need only read access to the actual database. Database scanning and sharing of dictionaries, databases, or other files is all possible without duplicate copies or file linking.

TERMINALS

FirstBase is designed to operate on virtually any terminal using the UNIX termcap(5) or terminfo(5) mechanisms.

The FirstBase system requires only a few terminal control codes (escape sequences). See terminals(5) for more information on this topic.

WINDOW\ ENVIRONMENTS

FirstBase works inside of any xterm (X11) or shelltool (OpenLook) types of windows. There is also a dbshelltool(1) program to allow a constant button template to reside on the screen when using other FirstBase tools. For more details on window environment variables, see setup(5).

GETTING STARTED

The first thing to do in the FirstBase system is to define a database dictionary using the database dictionary editor, dbdbas(1). Then either use dbedit(1) to enter new data into the database, or dbload(1) to load existing data into the FirstBase database.

After this, maybe an index would be helpful. This also requires a dictionary, so use the index dictionary editor, dbdind(1). Using this new index dictionary, dbigen(1) will generate an index using the database and the database dictionary.

Other generators will automatically create and/or update indexes as needed. From there, dbpgen(1) will produce formatted reports, dblgen(1) will create mailing labels, and dbugen(1) will update selected fields of selected database records.

The best all purpose database processing language is dbmacro(1).

All of these programs are readily available from the supplied FirstBase menu shell files.

FILES

dbase
default FirstBase database name.

index
default FirstBase index name.

*.cdb
FirstBase database.

*.map
record map of FirstBase database.

*.idx
FirstBase index.

*.ddict
FirstBase database dictionary.

*.idict
FirstBase index dictionary.

*.sdict
FirstBase screen dictionary.

*.vdict
FirstBase view dictionary.

*.idict?
FirstBase dictionary of object to be (p=printout, etc).

*.prt
FirstBase print image report.

*.lbl
FirstBase print image labels.

$FIRSTBASEHOME/menu/*
menu shell files for supplied FirstBase menus.

SEE ALSO

firstbase(1), error(5), generators(5), input(5), printouts(5), screens(5), setup(5), terminals(5)

FirstBase User's Guide and Reference Manual


URL: http://www.firstbasesoftware.com/man/man5/firstbase.htm
Last modified: 4 April 1996
Copyright © by FirstBase Software.
[ Index of Contents] [ FirstBase RDBMS Overview]