[net.micro.cpm] dBase II query...

LIN@Mit-Mc.ARPA (09/23/84)

From:  Herb Lin <LIN@Mit-Mc.ARPA>

I am trying to write a dBase program that will allow rapid indexed
searches of a database by keyword.  In other words, I want to have a
database consisting of records each including a field that can include
up to (say) 100 characters of keywords, and then I want to be able to
display all records that include a particular keyword of interest
WITHOUT going through a record by record search.  All the ways I can
think of to do this are very clumsy.  Anyone with good ideas out
there?

Many bibliography management programs do this, but without knowing
about their quality, I'm hesitant to go that way.

thanks in advance.  I will post replies to anyone who want them.

rbloom@apg-1.ARPA (09/24/84)

From:  Robert Bloom DRSTE-TOI 3775 <rbloom@apg-1.ARPA>

 I aggree - KWOC (keyword out of context) searches in dbase II are
very clumsy.  What I've done is to separate the keywords into
a separate field per keyword and cycle through the indexes for 
a search.

 Updateing (or adding records) becomes slow and involves re-indexing
if one has more than seven indexes with standard dBase II.4 - I
believe III has more capibility for simulataneous indexes.

 If you find a more elegant method - please tell!

-bob bloom

lowans.henr@XEROX.ARPA (09/27/84)

Look in your dBASE manual for information on the "$ substring logical
operator", I think this will help you. A search through the entire
database is nessessary because this is the way a dabase management
system works, it searches through the entire database record by record
till the information is found. If it finds it in record #1, it doesn't
know if record #50 also containes the correct information. If you can,
input the data ranking it in ASCII collating sequence within each
record. INDEXing the database will then put records with the same
keywords together.

										Paul

LIN@Mit-Mc.ARPA (09/28/84)

From:  Herb Lin <LIN@Mit-Mc.ARPA>


    From: lowans.henr at XEROX.ARPA

    Look in your dBASE manual for information on the "$ substring logical
    operator" ... A search through the entire
    database is nessessary because this is the way a dabase management
    system works, it searches through the entire database record by record
    till the information is found. If it finds it in record #1, it doesn't
    know if record #50 also containes the correct information. If you can,
    input the data ranking it in ASCII collating sequence within each
    record. INDEXing the database will then put records with the same
    keywords together.

Thanks, but I think this won't work.  What you are describing is
certainly correct, but it will be too slow.  I want something that I
can use the INDEXing part on.  Essentially, I want to INDEX on
substrings, and I can't think of an easy way to do it.