[comp.os.msdos.apps] How to link databases in dBase III ?

chaim@eniac.seas.upenn.edu (Chaim Dworkin) (02/05/91)

I work with a friend who maintains 5 mailing lists on 5 separate databases
using dBase III+.  He asked me to try to help him set something up so that
the 5 databases can be linked in such a manner that he can search all of 
them and print out the mailing labels from all of them as if they were
one database.  Does dBASE III+ have some link command?  If not, can it
be programmed in?

I appreciate any help I can get.  Thanks.


--
Chaim Dworkin                             (chaim@eniac.seas.upenn.edu)

pgt@hpfcso.HP.COM (Paul G. Tobin) (02/06/91)

	Check out the "SET RELATION" command, I think it'll do what
you're getting at.  It's too complex to explain here, and I haven't
used it very much anyway.  I bought dBase III+ reference book
published by Sybex that provides a very good explanation of this, and
everything else about dBase.  I highly recommend it.  Good luck!

	Paul

wew@naucse.cse.nau.edu (Bill Wilson) (02/07/91)

> 	Check out the "SET RELATION" command, I think it'll do what
> you're getting at.  It's too complex to explain here, and I haven't
> used it very much anyway.  
>

The set relation command is only useful if you are relating data
from multiple tables by a key.  This would set the tables up in
parallel.  If I remember what the person needed, it was to have the
tables one after the other.  set relation will not do this.
 
-- 
Let sleeping dragons lie........                    | The RoleMancer 
--------------------------------------------------------------------
Bill Wilson (wew@naucse.cse.nau.edu | ucc2wew@nauvm | wilson@nauvax)
Northern AZ Univ  Flagstaff, AZ 86011

Rick_Vandenberg@mindlink.UUCP (Rick Vandenberg) (02/11/91)

> chaim@eniac.seas.upenn.edu writes:
> 
> 
> I work with a friend who maintains 5 mailing lists on 5 separate databases
> using dBase III+.  He asked me to try to help him set something up so that
> the 5 databases can be linked in such a manner that he can search all of
> them and print out the mailing labels from all of them as if they were
> one database.  Does dBASE III+ have some link command?  If not, can it
> be programmed in?
> 


The only way to make commands such as LABEL or FIND or such work on different
databases is to combine the into one file using APPEND. eg-

USE FILE1
COPY TO ALLFILES
USE ALLFILES
APPEND FROM FILE2
APPEND FROM FILE3
APPEND FROM FILE4
APPEND FROM FILE5

This gives you a file (ALLFILE.DBF) that contains all the data. If you wish,
add a field that indicates which file a particular record came from. If you
want a more detailed description of how, or a sample or something, just say so.
Bye the way, why does your friend have 5 separate mailing lists?

Rick Vandenberg,
Vandenberg Systems Research

rschmidt@copper.ucs.indiana.edu (roy schmidt) (02/18/91)

This requires a lot more explaining than should be done on the net.
Take out your dBase III+ manual, and read about SELECT and CREATE VIEW.

dBase is a semi-relational data base system, so you can do exactly what
you propose.  It just takes knowledge of the package, and that means you
need to RTFM.

--
--------------------------------------------------------------------------
Roy Schmidt                 |  #include <disclaimer.h>     
Indiana University          |  /* They are _my_ thoughts, and you can't
Graduate School of Business |     have them, so there!  */

brand@janus.Berkeley.EDU (Graham Brand) (02/18/91)

>   ...... some stuff deleted .....
>
>dBase is a semi-relational data base system, so you can do exactly what
>           ^^^^^^^^^^^^^^^
>you propose.  It just takes knowledge of the package, and that means you
>need to RTFM.
>
>Roy Schmidt                 |  #include <disclaimer.h>     


Would you mind explaining why it is only semi-relational? I thought that
since you could set up relations between databases then that made it a
(fully) relational database?

Cheers,
-Graham (brand@janus.berkeley.edu)

rschmidt@copper.ucs.indiana.edu (roy schmidt) (02/19/91)

brand@janus.Berkeley.EDU asks: (roy schmidt) writes:
>>dBase is a semi-relational data base system, so you can do exactly what
>
>Would you mind explaining why it is only semi-relational? I thought that
>since you could set up relations between databases then that made it a
>(fully) relational database?

cf. E. F. Codd "Is Your DBMS Really Relational?" Computerworld Oct 14,
1985, and "Does Your DBMS Run by the Rules?" Computerworld Oct 21, 1985.

The two articles above lay out twelve rules as a rating scheme to
determine if a DBMS is *fully* relational.  The same rules are also in
Codd's latest book, _The Realtional Model for Database Management,
Version 2_ Reading, MA:  Addison-Wesley, 1990.

The rules really boil down to a simple criterion:  every operation in
the database must be done using RELATIONAL facilities, and *only*
RELATIONAL facilities.

Check out the original in the articles or the book for details.


--
--------------------------------------------------------------------------
Roy Schmidt                 |  #include <disclaimer.h>     
Indiana University          |  /* They are _my_ thoughts, and you can't
Graduate School of Business |     have them, so there!  */