[net.micro.cpm] DBASE II

sch@linus.UUCP (Stephen C. Hemminger) (08/06/83)

From Micro Cornucopia, Number 12, June 1983, two reviews of dBASE II.

I do not own dBASE II, but I thought this might be of wide interest.
Second review is much more interesting than the first.


dBASE III
___________________
By Duane A. Huseby

               This article is for those of you who  are  planning  to
          purchase a database management language (in particular dBase
          II).

               dBASE II is a relationa database mangement system writ-
          ten  in  assembly  language  for  the  8080,  8085,  and Z80
          microprocessor system, and it runs under CP/M.  It is a pro-
          duct  of  Ashton-Tate,  Los Anglese, Ca.  and sells for any-
          where from $399 to $700.

               According to a recent survey by Software  News,  nearly
          40%  of  the  respondants using a database management system
          were using dBASE II.  The second most popular database  sys-
          tem  was used by only 8% of the respondents who were consid-
          ering the purchase of a database management system  in  1983
          were  planning  to purchase dBASEII.  All this indicates the
          popularity of dBASE II.

               My first exposure to dBASE II came  after  I  had  done
          some  work with systems like CALCSTAR and DATASTAR.  I found
          them to be good  for  many  applications;  however,  I  soon
          discovered that these systems had limitations that made some
          of my applications very difficult or impossible.

               Canned  applications  programs  rarely  meet  a  buyers
          needs.   So,  a programmer has to modify the software (if it
          is posible to get the source.)  dBASE II, on the other hand,
          has all of the functions I need.

          _T_w_o _L_e_v_e_l_s

               The first is a basic level of capability that the first
          time  user  will  encounter.   This level is similiar to the
          spreadsheet systems and is menu driven.  The creation of the
          data base structure is straight forward and easy to do.  The
          data entry facilities are also easy to use unless your data-
          base structure exceeds a dozen or so fields.

               If you are working with many fields you  will  need  to
          carefully  oraginze  the  data  entry.   Otherwise dBASE IIs
          report generator provides quick screen generation.

               Secondly, dBASE II  is  a  complete  database  handling
          language  that  is  extremely  versatile and powerful.  With
          this language you have complete  control  over  data  entry,
          manipulation, and reporting.

               The capability to generate your own unique  application
          program  (command file) with dBASE II makes it a very power-
          ful system.













.



          _E_x_p_e_r_t_i_s_e _R_e_q_u_i_r_e_d

               dBASE II is not for just  anyone  (contrary  to  claims
          made  in  the advertisements).  To fully implement the capa-
          bility of dBASE II, programming expertise is required.

               Several books are now on the market to  help  the  user
          implement  dBASE  II.   Fox and Geller is marketing programs
          advertised to do the programming for you and  to  debug  the
          ones  you write.  The University of Houston has a continuing
          education class on dBASE II (costs $300).  Plus there are  a
          number of(other programming aids on the market.

          _N_o _g_r_a_p_h_i_c_s

               The most serious feature lacking in dBASE II is  graph-
          ics.   Many  of(the  applications for dBASE II are suited to
          the enhancement of reports  that  include  bar  charts,  pie
          charts,  line  graphs, and combination piebar charts as pro-
          duced by dGRAPH from Fox and Geller.  I dot have dGRAPH yet;
          but, I intend to get it soon.

dBASE II, Another View	
______________________________
By David Thompson (editor of Micro Cornucopia)




.



               Duane has touched on the primary strength and  problems
          of  dBASE  II.  THe strength is its verastility, with just a
          few critical limitations (the limits of 64 variables and  32
          fields are the two primary ones).

               dBASE II forces you to write very structured code which
          is  really great, plus, adding a field, or a new heading, or
          whatever is a real joy.

          _H_o_w_e_v_e_r,

               The primary reason dBASE II needs  all  those  aids  is
          that  it is a cluge.  It has developed over many years, with
          a hodge podge of new commands.  Each  command  has  its  own
          peculiarities.

               Some  commands  work  with  numeric  data,  othes  with
          charater  data  or  logicla data, and still others work with
          two or three of the above.  In many case it is  not  immedi-
          ately obvious which works with which.

               Lets say you store characters in a variable.

              STORE "NEWNAME" TO TEMP

          Now you can use  TEMP  in  place  of  the  character  string
          "NEWNAME".

              STORE TEMP TO ANOTHERTEMP

          Now ANOTHERTEMP contains the characters "NEWNAME".

               However, if you wante to call a file from the disk  and
          you said:

              USE TEMP

          You would get the file named "TEMP"  rather  than  the  file
          name "NEWNAME".  TO use TEMP as a variable with the USE com-
          mand, you would have to say:

              USE &TEMP


               Which turns TEMP int a macro.  THis is just the tip  of
          a very inconsistent iceberg.  For instance, if you wanted to
          check to see if a record has been deleted you say:

                      If*
                      ... then do something













.



               And if you wanted to see  if  a  record  had  not  been
          deleted you would probably say:

                      If.NOT.*
                      .... then do something


               Unfortunately this sends my copy into never-never land.
          The  .NOT.   operator  is  supposed to work with any logical
          (true/false) statement or value, but it will not  work  with
          the "*"operator.  There is obviously something special about
          the way the "*" was created but with all these special  case
          the whole this is impossible to document.

               Ninety percent of the problems I have had with dBASE II
          have  been due to these little surprises.  I/ve even had two
          identical lines of code, act  in  tow  completely  different
          ways  even  though  both lines were in the same routine. Try
          debugging that!  I went nuts the  first  time  it  happened!
          Now I am a little more wary.

               Since some dBASE commands are sensitive to data  types,
          you`d  think  that  you  could specify the data types of(the
          varibles, so you have some error checking.  You cant. Pascal
          with its rigid data structure is a refreshing imprgvement in
          this regard.

          _A _N_e_w _d_B_A_S_E?

               Ashton-Tate  is  circulating  beta-test  copies  of   a
          totally  new  data-base  language.   I hope th have kept the
          structured language approach and the easy  to  read  command
          style, but I hope they have started over from scratch on the
          inside.

               I have yet to see anything  else  on  the  market  that
          comes  as close to meeting my need for a veratile, powerful,
          quick to write, easy to read, database handling language  as
          dBASE  II.   That  is  why dBASE II is so popular.  But when
          somet-thing is better does come along, I`m going to be first
          in line!

Personally, I think Dave is too optimistic.  Surely, the new database
will be "upward compatiable" with the old one!
 
-- 
Stephen Hemminger,  Mitre Corp. Bedford MA 
	{allegra,genrad,ihnp4, utzoo}!linus!sch	(UUCP)
	linus!sch@mitre-bedford			(ARPA)

jph@whuxlb.UUCP (08/06/83)

#R:linus:-25000:whuxlb:14900002:000:1361
whuxlb!jph    Aug  6 11:55:00 1983

Another interesting product on the market is Knowledge
Man from Micro Data Base Systems. I have used it and it
has at least as many features as DBase II and the
commands appear to work with any mix of of data types
(numeric, string, character). It allows up to 255
fields per record which allows a lot more flexibility
than Dbase II.

A command language is proved that has IF..THEN.. ELSE,
WHILE..ENDWHILE, TEST..CASE, dimensioned variables, and
parameters to a procedure. Very nice flexibility is
provided by the SORT and INDEX commands for ordering of
a file and the records in a file can contain 'virtual'
fields which are computed by other variables either in
the record or defined by the user. It is also easy to
extract data from the data base so that it is readable
by a BASIC program or input to VisiCalc (Knowledge Man
contains a spread sheet and the 'cells' are available
to the procedures that a user can write).

One of the nicest things is the ability to have more
than one file/table open at once and to be able to
'join' corresponding entries from various tables.

It will be interesting to see how well received this
product is. I would recommend it to anyone who is
considering DBase II (since it cost about the same). I
have been running it on a 192K IBM-PC with some large
tables and it holds together well.

Jim Holtman

...harpo!whuxlb!jph

Jack H. Smith <jhsmith@Crdc.ARPA> (01/16/85)

	Dear 'pencin';

	Thanks very much for your answer to my querry...
	Although I haven't tried the solution out yet, you seem
	to have put your finger right on the problem...( I haven't
	been 'returning to main-menu, but I've been calling it with
	a DO...).
	Thanks agains, and thank God & Dave Towson for Info-cpm...
	Jack H. Smith

Jack H. Smith <jhsmith@Crdc.ARPA> (01/16/85)

	O.K.; so I didn't really make myself clear regarding the
	answer to my question about the 'Too many files open' error
	with dbaseII......

	The problem was that I was looping back to the menu by issueing
	a DO command when I should've been using a RETURN command.

	I guess after looping around with DO's, the dbaseII package
	was opening another file each time I looped until it thought
	I'd opened Too Many files...

	I haven't tried this solution as yet, (I haven't had time),
	but it sure sounds reasonable....

	Thanks for keeping me on my toes guys...

	Jack H. Smith

D-ROGERS@EDWARDS-2060.ARPA (07/29/85)

I AM SOMEWHAT NEW AT THIS.  DOES ANYONE KNOW IF THERE IS ANY SUCH THING AS
AS COMPILER FOR DBASE II?  IT HAS OCCURRED TO ME THAT THE DAY MAY COME 
WHEN I DON'T WANT TO GIVE AWAY THE SOURCES WITH A PROGRAM.  AT LEAST MBASIC
PROGRAMS COULD BE PROTECTED AGAINST LISTING.
-------

hollombe@ttidcc.UUCP (The Polymath) (07/31/85)

In article <248@brl-tgr.ARPA> D-ROGERS@EDWARDS-2060.ARPA writes:
>I AM SOMEWHAT NEW AT THIS.  DOES ANYONE KNOW IF THERE IS ANY SUCH THING AS
>AS COMPILER FOR DBASE II?  IT HAS OCCURRED TO ME THAT THE DAY MAY COME 
>WHEN I DON'T WANT TO GIVE AWAY THE SOURCES WITH A PROGRAM.  AT LEAST MBASIC
>PROGRAMS COULD BE PROTECTED AGAINST LISTING.

Last I heard there was no dBase  II  compiler,  but  there  was  a  version
available  from Ashton-Tate specifically for people in your position.  It's
a subset of dBase II that allows your command files to be run, but  doesn't
give  the  user  access  to  the  dBase command level.  I'm not sure if the
source is accessible from other text editors with this  version.  I  expect
A-T will be happy to tell you about it (and sell you a license).
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
The Polymath (aka: Jerry Hollombe)
Citicorp TTI                      Common Sense is what tells you that a ten
3100 Ocean Park Blvd.             pound weight falls ten times as fast as a
Santa Monica, CA  90405           one pound weight.
(213) 450-9111, ext. 2483
{philabs,randvax,trwrb,vortex}!ttidca!ttidcc!hollombe

RDones.es@XEROX.ARPA (07/31/85)

Try Wordtech Systems (415)254-0900.  They have compliers for Dbase II and Dbase III. 

Wildman

lbg@gitpyr.UUCP (Lee B Grey, Programmer Extraordinaire) (08/13/85)

> Last I heard there was no dBase  II  compiler,  but  there  was  a  version
> available  from Ashton-Tate specifically for people in your position.

There is something called DBCompiler.  It's fairly nice, but, last time I
looked at it, it did not have the capability of compiling programs which 
utilized the macro (&) function.  It seemed fairly simple to add this
capability.  It is possible that they have, by now.

Also, a company called Fox & Geller puts out some utilities which, I believe,
include a dBASE compiler.

I know for a fact that there ARE ways to get your dBASE code compiled.  Just
hunt around.

Lee Grey

jeffm@mmintl.UUCP (Jeffrey Miller) (08/20/85)

*
	There's a program called 'Clipper' by some Calif. company that
compiles dbaseII.  I've also seen another one advertised but I don't 
remember the name.

	*************************************************
	*	Jeff Miller				*
	*	Multimate International Corp.		*
	*	52 Oakland Avenue 			*
	*	East Hartford, CT  06108-9911		*
	*  UUCP:					*
	* ...!seismo!utah-cs!utah-gr!pwa-b!mmintl!jeffm *
	*************************************************
*