[comp.databases] Literature on databases

caw@miroc.Chi.IL.US (Christopher A. Wichura) (05/14/91)

I've got a project that I'm working on that requires a lot of record
keeping.  I'm looking for pointers to good literature on programming a
database that will handle several different files, each with multiple keys
and several with on the order of many thousands of records.  I'm looking
for something that is pretty quick and doesn't require a lot of RAM in the
machine (drive space is not as much of an issue).

Thanks,
-=> CAW

PS:  Please reply via mail as I don't normally read this news group.

Christopher A. Wichura                Multitasking.  Just DO it.
caw@miroc.chi.il.us  (my amiga)                          ...the Amiga way...
u12401@uicvm.uic.edu (school account)

jfr@locus.com (Jon Rosen) (05/15/91)

In article <caw.0391@miroc.Chi.IL.US> caw@miroc.Chi.IL.US (Christopher A. Wichura) writes:
>I've got a project that I'm working on that requires a lot of record
>keeping.  I'm looking for pointers to good literature on programming a
>database that will handle several different files, each with multiple keys
>and several with on the order of many thousands of records.  I'm looking
>for something that is pretty quick and doesn't require a lot of RAM in the
>machine (drive space is not as much of an issue).
>

I replied to Chris by E-mail but I thought the response would be interesting
to all and would allow me to pose some questions...
  
I just got a hold of a GREAT book on exactly the subject.  It is called:
 
  Relational Database Management, A Systems Programming Approach
  By M. Papazoglou and W. Valder
  Prentice-Hall
 
This book contains C source code to a complete relational database
management system called REQUIEM (morbid, huh?), including B+-tree
indexing, query parser and optimizer, call-level interface, simple on-line
query tool, schema creation, etc.  

The entire 14,000 lines of code is reproduced in the book and you
are encouraged to use it.  It was developed in Germany at a place 
called Gesellschaft fur Mathematik und Datenverarbeitung mbH,
Insitut fur Technologie-Transfer/Z2.M, Postfach 1240, D-5205 Sankt Augustin 1,
Federal Republic of Germany.  They say they provide the source on disk for Sun,
PC, Mac or VAX.  I wonder if there is an available FTP site that already
has the source in machine-readable form. 
 
I looked over the code and it is really very good.  It does not have
support for concurrency (i.e., a lock manager) but the hooks are there
to implement one.  It also doesn't support multi-user, but again you
could add support.  The B+tree indexing is reasonable.  The join
techniques are limited but you could add more strategies and enhance
the optimizer to figure out the best strategy.  The language (RQL) is
actually better than SQL (IMHO) since it is closer to true relational
algebra and supports full orthogonality in table expressions.  However,
you could modify the grammer to support full SQL if you so desired.
 
If anyone knows more about REQUIEM or has used it, please e-mail or
post.  Thanx...

 
Jon Rosen