[comp.lang.c] Writing a data-base...

andy@honda.ece.uiuc.edu (Andy Bereson) (06/08/91)

I need to write a simple database manager for a large database.  We have
tried dBase but have decided that it (and PC's in general) are too
unreliable, so we are now looking for a way to do this with a UNIX based
system on one of our HP workstations.  I have writen a such a database
system before in C, but under the VMS operating system.  VMS gives the C
programmer access to a number of exciting functions that can handle
indexing files, random access of files, deleting and editing records in
the middle of files, locking individual records within files, etc...  all
of the function that a data-base package such as dBase gives you.
Unfortunatly, these functions were all built into VMS and are VMS
specific.  I am wondering if there is some UNIX based package or UNIX
library that would be helpful with some of these file manipulation tasks.

Please mail responses directly to me at "bereson@cs.uiuc.edu".  I do not
read this newsgroup regularly and so I am likely to miss your helpful
suggestions otherwise.

Thanx in advance for your help...

Andy

nelson@wrl.epi.com (Ken Nelson) (06/11/91)

In article <1991Jun7.213947.5328@ux1.cso.uiuc.edu>, andy@honda.ece.uiuc.edu (Andy Bereson) writes:
> I need to write a simple database manager for a large database.  We have
> tried dBase but have decided that it (and PC's in general) are too
> unreliable, so we are now looking for a way to do this with a UNIX based
> system on one of our HP workstations.  I have writen a such a database
> system before in C, but under the VMS operating system.  VMS gives the C
> programmer access to a number of exciting functions that can handle
> indexing files, random access of files, deleting and editing records in
> the middle of files, locking individual records within files, etc...  all
> of the function that a data-base package such as dBase gives you.
> Unfortunatly, these functions were all built into VMS and are VMS
> specific.  I am wondering if there is some UNIX based package or UNIX
> library that would be helpful with some of these file manipulation tasks.
> 
> Please mail responses directly to me at "bereson@cs.uiuc.edu".  I do not
> read this newsgroup regularly and so I am likely to miss your helpful
> suggestions otherwise.
> 
> Thanx in advance for your help...
> 
> Andy


We are in the same boat.  I found that all of the 4GL vendors
wanted an arm and a leg for their products. Below is a summary
of "lower cost" solutions to the problem.



Public Domain/Net sources:


 - dbm (ndbm) (gdbm)  -  Unix quick file look up routines.
			 dbm, ndbm come with most Unixes.
			 gdbm is GNU dbm.  The main problem
			 with [ng]dbm is that it doesn't support
			 sequenced lookup of data, it's basically
			 a fast lookup from a key.

 - various archives (postgres@berkeley.edu) for instance have
     
     ingres89.tar.Z       - University Ingres 
			    take a look at embedded quel.
     postgresv2.1.tar.Z   - Postgres relational db.  Nice features
			    including a C library interface.
			    Too bad it caused my 4/280 to crash.
     bsd_database.tar.Z   - a set different access mechanisims
			    for storing data to disk. I believe
			    it has btree, avl, etc...
 
     I recommend trying the archie@cs.mcgill.ca archive listing
     server to look for source for these.

Commercial:

  - Raima offers   dbVista (Networked database), dbFile (ISAM)
    3k to 14k for source.

  - Faircom offers  CTREE, DTREE, RTREE.
    I had trouble with this package at my last job. 
    2k to 6k for source

  - Informix offers C-ISAM
    Price unknown, check Unixworld for companies selling clones of
    this package.

  - Recital offers full dbase IV compatability along with a C 
    library to manipulate Dbase format indexes and files.  We chose
    this because we could implement OpenLook interface tools with
    the C library, and do quick and dirty reporting with Dbase language
    and tools.
    4 to 6k for full Dbase environment plus development library.
    You have to buy runtimes for your users.

   - Cdb from Jaybe Software is an inexpensive package with a 
     lot of features.  Call (602) 327-2299.  I almost got this
     one, but we weren't that strapped for cash and the reporting
     abilities (and Dbase) of Recital were very enticing.
     $695

Hope this helps a little.
  
-- 

 --------------------------------------------------------------------
| Ken Nelson  (nelson@wrl.epi.com) | No thoughts today, sorry.	     | 
| Computer Systems Manager         |				     |
| Entropic Research Laboratory     |				     |	
| Washington, D.C.		   |				     |
|--------------------------------------------------------------------

nelson@wrl.epi.com (Ken Nelson) (06/12/91)

Another netter told me I made a mistake in my previous postings
with regard to anon ftp and telnet addresses.  Boy did I 
ever.

> - various archives (postgres@berkeley.edu) for instance have
     
 
  anon ftp to postgres.berkeley.edu (The @ was a mistake)
  This site has ingres, postgres and bsd_db.


>     I recommend trying the archie@cs.mcgill.ca archive listing
>     server to look for source for these.


 telnet to quiche.cs.mcgill.ca, login in as "archie", no password.
  This drops you into McGill's archive listing database.

  Do this command:

	prog postgres

          or
        prog ingres

	  or 
	prog bsd_database

 and you will get a rather large listing of anon ftp sites that have it.
 
 Try postgres.berkely.edu first, it has what I mentioned.

-- 

 --------------------------------------------------------------------
| Ken Nelson  (nelson@wrl.epi.com) | No thoughts today, sorry.	     | 
| Computer Systems Manager         |				     |
| Entropic Research Laboratory     |				     |	
| Washington, D.C.		   |				     |
|--------------------------------------------------------------------

jfr@locus.com (Jon Rosen) (06/12/91)

In article <1527@epiwrl.UUCP> nelson@wrl.epi.com (Ken Nelson) writes:
>In article <1991Jun7.213947.5328@ux1.cso.uiuc.edu>, andy@honda.ece.uiuc.edu (Andy Bereson) writes:
>> I need to write a simple database manager for a large database.  We have
>We are in the same boat.  I found that all of the 4GL vendors
>wanted an arm and a leg for their products. Below is a summary
>of "lower cost" solutions to the problem.
><list of available databases deleted... see previous post>

You forgot the recent messages and postings on Requiem which is
a pretty fully functional relational data base implementation
using a derivative of SQL called RQL... it supports everythign
the first posted is looking for and a recent post by Mike
Papazaglou indicates it is public domain and source is available
at a reasonable fee (about $100)... I am replicating Mike's post
again...
 
Jon Rosen

================================================================
(from Mike Papazaglou, Requiem co-author)

Many people have recently asked me about the availablity of Requiem.
Requiem (RElational QUery and Update Interactive SystEM) is now 
available as public domain software. It comprise some 17,000 lines of
C code and runs under SUN/Vax Unix. Requiem is a single-user system 
at the moment and offers the following facilities:

- a complete data language,
- view facilities,
- supports automatic foreign key generation and updates,
- provides a program interface in C
- and is easily expandable

the following facilities are under development and will be available 
shortly:

- transaction management,
- a complete C-preprocessor.
- user interface facilities.

Requiem is now available via anonymous ftp. For further information
please contact:

Mike P. Papazoglou,
Australian National University,
Dept. of Computer Science,
GPO Box 4, Canberra ACT 2601,
Australia

tel. +61-6-2494725, fax. +61-6-2490010
e-mail: mike@anucsd.anu.edu.au