RDB, a Relational Database Management System implemented in PERL 
Author Message
 RDB, a Relational Database Management System implemented in PERL

Another DBMS? Why?

Well, we have found it very helpful for the following reasons:

1. EASY to use, straight forward in concept.
2. Highly portable datafiles, e.g. to/from Mac/PC spreadsheets.
3. The operators run on any UNIX machine (that has PERL).
4. Operates on intermediate datafiles, which will later be entered into
   a major, do-it-all-for-everybody-dbms such as Ingres.
5. No arbitrary limits, can work where Ingres (sometimes) can't.

If there is any interest in this please contace me directly.

Walt Hobbs



RDB is a fast, portable, Relational DataBase Management System without
arbitary limits, (other than memory and processor speed).

RDB uses the 'operator/stream' DBMS paradigm described in "Unix Review",
March, 1991, page 24, entitled "A 4GL Language".  The operators are UNIX
filters, i.e. they read STDIN and write STDOUT so they can be connected
by pipes (the '|' char).

The operators work with relational data in ascii files.  The fields in
each row are seperated by a 'TAB' char and the row is terminated with
a 'NEWLINE' char.  The first row contains the names of each column, the
second row contains the data definitions for each column, and subsequent
rows contain the data values.  RDB is compliant with the "Relational Model".

All operators read a datafile via STDIN and most write a new datafile
via STDOUT. Exceptions are operators that produce output listings instead
of datafiles (like 'ptbl' and 'report').

All operators and utilities take a '-help' option to print usage detail
and other information online.


Select (row)  - Selects rows based on arbitrary expressions using column names.

Project (column) - Selects columns by name, outputs columns in listed order.

Join (jointbl) - Natural (or left outer) join of two datafiles.

Sort a table (sorttbl) - Sorts a datafile by one or more columns (A/D).

Print a table (ptbl) - Formats and prints a datafile.

Report Generation (reportbl) - Formats and prints an arbitrary style report.

Summary Information (summ)  - unique value counts, min, average, max ...

Compute (compute)  - Computes an arbitrary expression using column names.

Validate a table (valid) - Can also generate a header template file.

Change Header (headchg)  - Header management.

Edit a table (etbl) - Uses the RAND editor 'e' to edit selected (or all)
    columns of a datafile with visible column delimiters.

Convert from Mac/PC (repair) - Generates definitions and forces valid state.


NAME    CNT     TYP     AMT
6       4N      3       5N
Hobbs   65      DD      1111
Bush    4       A       133
Perry   177     B       244
Jones   47      XY      77
Hansen  44      A       23

TRIVIAL DATAFILE after being processed by:

    'column < sample NAME TYP AMT CNT | sorttbl TYP AMT | ptbl'

- ------  ---  -----  ----
Hansen  A       23    44
Bush    A      133     4
Perry   B      244   177
Hobbs   DD    1111    65
Jones   XY      77    47

Mon, 10 Jan 1994 03:02:25 GMT  
 [ 1 post ] 

 Relevant Pages 

1. On FTP archive: RDB (Relational Database Management)

2. Update, RDB, a Relational Database Manager

3. Implementing the join relational database operation

4. Looking for relational database in perl

5. perl application for bulk loading relational databases

6. Perl OO persistence with relational database

7. perl and Relational Databases

8. Perl, NT, and relational databases

9. HELP: looking for perl for rdb database

10. HELP: looking for perl for rdb database

11. www and relational databases

12. New RDB module: RDB Interactive (rdbi)


Powered by phpBB® Forum Software