[comp.databases] Need a DOS database that can do the following:

awd@dbase.A-T.COM (Alastair Dallas) (01/23/91)

In article <81832@unix.cis.pitt.edu>, ejost@unix.cis.pitt.edu (Ernest J. Obusek) writes:
> I have an application I've been maintaining for several years that I'd like
> to rewrite in some kind of database system language.

I work for Ashton-Tate and I'm going to suggest dBASE IV.  Press 'n' now
if this offends you :-).

> Here's what the program I'm to write has to do.  Perhaps you can tell me if
> there is a database system that can handle the job.
> 
> Databases with up to 500 fields per record and 100,000 records.

100,000 records is easy; dBASE IV is limited to 255 fields, however.

> Ability to have record names up to 100 characters in length.

Not clear what you mean here: Records in dBASE IV are referenced by 
number (1 to 2 billion).  Index keys for each record can be 100 characters.

> Ability to read one field out of 500 for each of 100,000 records in under
> 15 seconds.

That means reading 100,000 records to dBASE IV, which my gut feel tells
me will take longer than 15 seconds, particularly on an AT.

> Ability to work with up to 10 open databases simultaneously.

You got it.  (Where databases <==> tables.)

> Some form of data integrity protection.
> Ability to unwind operations to a previously known "good" point.

dBASE IV's integrity protection is very powerful and almost completely
manual.  You can write all kinds of referential integrity into your
application program, and we support transaction logging and rollback
as well as file and record locking automatically.

> Menu, window, mouse based user interface, with context-sensitive help.

Mouse support in dBASE IV is third-party at the moment, but the menu and
window support is there.  You can write as fancy a help system as you'd
like using the dBASE IV language.

> Ability to generate completely customized reports.  I need to be able to
> include DOS graphics characters (boxes, lines) in the output.

No problem.

> Ability to do simple statistics (means, standard deviations).

Yes, sir.

> Ability to generate on screen pie and bar charts.

Third-party at this point.  Or, at least, external.  Ashton-Tate sells 
a product called Applause which I'm not terribly familiar with.

> Ability to output reports and charts to HP DeskJet and LaserJet printers.
> Ability to use multiple fonts with printed reports.

dBASE IV supports dozens if not hundreds of printers, including these two.

> Some type of macro capability.

Built-in.

> And most of all, good performance on a 640K, 12 Mhz AT.  However, if 
> necessay, EMS is Ok.

Well...  You have to define "good," of course, but ten active 100,000
record files are going to stress any system.  Your app will be more
responsive on a 386/25.  dBASE IV takes advantage of any EMS/XMS you have.

> Is there anything for any price that can do all of this? 

dBASE IV is $795.  It doesn't do all that you've asked for, but it's
designed to be everything-to-everyone so it comes pretty close.

> One more thing, how does working in a database language compare to working
> with programming languages like C or M2?

The dBASE IV programming language is very similar to BASIC in terms of
command verb orientation and built-in and user-defined functions.  It
is similar to lisp, however, in its support for late-binding of its
variables--there is no distinction made between scalars and database
fields and therefore variables are dynamically typed.  Control structures
are more like Pascal--there's no unconditional branching, for example.
And, of course, there are powerful non-procedural commands which act
on whole tables or horizontal and/or vertical subsets of tables.  It
is a pseudo-compiled interpretive environment with a built-in debugger,
a situation which I find much easier to develop code in, personally.

> Well, if you've read this far, I thank you!  If you have any advice, I 
> thank you even more!
> 
> Ernest Obusek

I hope no one minds the commercial for dBASE IV.  There are other
products which do some of what we do, so you can consider this an
overview of the marketplace.  But I make no bones about supporting
the product I've been working on for the last seven years.

/alastair/


Disclaimer> I do not speak for Ashton-Tate in any way, and this is
not an offer to sell you the product described, and any other legalistic
disclaimer-type stuff I can think of...

pew@cs.brown.edu (Peter E. Wagner) (01/24/91)

Nothing against dBase IV, but you will get much better performance in
FoxPro and more functionality as well.  Fox Software has done amazing
things in the world of Xbase languages and, in my opinion, far
outclasses the rest of the field.

    Peter

kbc@mdbs.uucp (Kevin Castleberry) (01/25/91)

I tried to reply via email but the message bounced back so I am posting.
The following is somewhat of an advertisement for KnowledgeMan so
feel free to "junk" it if you don't want to read such things.

I hope you will consider KnowledgeMan for your needs.  It does not
meet all of your requirements but it does handle most of them.
>Databases with up to 500 fields per record and 100,000 records.
>
Tables can have up to 255 fields per record although you can join
tables to logically have more.  Tables can have more than 2 billion records.

>Ability to have record names up to 100 characters in length.
>
Not sure what you mean by record names but KMAN allows fields of
up to 65,000 characters in length.

>Ability to read one field out of 500 for each of 100,000 records in under
>15 seconds.
>
Not sure on this one, depends on lots of things, machine, drive......

>Ability to work with up to 10 open databases simultaneously.
>
Can have up to 255 databases open at the same time.

>Some form of data integrity protection.
>
We don't really have a built in rollback and commit but we seldom
lose data even if the machine crashes.  At most you lose one record.
It is possible to program in various integrity protections via the 4gl.

>Ability to unwind operations to a previously known "good" point.
>
Again not native to the system but can be programmed.

>Menu, window, mouse based user interface, with context-sensitive help.
>
Every thing you need here.

>Ability to generate completely customized reports.  I need to be able to
>include DOS graphics characters (boxes, lines) in the output.
>
Can do.  Complete report designer and support of sql queries through
a report template.

>Ability to do simple statistics (means, standard deviations).
>
Built right in.

>Ability to generate on screen pie and bar charts.
>
Yes graphics is part of the package and you can print them too.

>Ability to output reports and charts to HP DeskJet and LaserJet printers.
>
Yes. 

>Ability to use multiple fonts with printed reports.
>
Yes.

>Some type of macro capability.
>
Yes .

>And most of all, good performance on a 640K, 12 Mhz AT.  However, if 
>necessay, EMS is Ok.
>
This is one of KMAN's strongest point.  It's load image is only 320K
and the memory management allows you to write huge applications in 640K.
EMS can enhance the performance but we work very hard to make sure
you can deliver large applications on machines with just 640K.

>Is there anything for any price that can do all of this? 
>
I believe knowledgeman comes close, price $975 dos single user.

>One more thing, how does working in a database language compare to working
>with programming languages like C or M2?
>
You get more done, easier to maintain....fun even.  Of course if you
need a little C, KMAN has excellent facilities for extending its environment
via C.

>Well, if you've read this far, I thank you!  If you have any advice, I 
>thank you even more!
>

>Ernest Obusek
>
>ejost@unix.cis.pitt.edu
>ejost@cisunx.UUCP

Good luck with your project.

KnowledgeMan (KMan is a relational dbms environment), 
GURU (superset of KMan includes an expert system development environment)
GURU Solveur (Application generator for diagnostic expert systems)
(Our products run in VMS, SUNOS, OS/2 and MSDOS.)

Kevin Castleberry, VP Products		(kbc@mdbs)
Micro Data Base Systems Inc.		uunet!purdue!mdbs!kbc
KMAN/GURU Division			(317) 448-6187
2 Executive Drive	
Lafayette, IN  47905			for sales call: (800) 344-5832