Sei sulla pagina 1di 6

dBASE III Plus

http://lynnbob.com/bob/articles/dBaseIIIPlusReview.htm

dBASE III Plus Ashton-Tate 20101 Hamilton Ave. Torrance, CA 90502 213/204-5570 Requires IBM PC or compatible, 256K memory (384K needed with DOS 3.00 or greater) although more is recommended, two floppy diskette drives, although a hard disk drive is recommended, and DOS 2.00 or greater. Copy protection recently removed. $695.00 Reviewed by Bob Weeks

The dBASE series of products has been around almost since the advent of the personal computer. Enormously successful, Ashton-Tate is celebrating the sale of the one millionth copy of a dBASE product. The history starts with dBASE II. Cumbersome, limited (by today's standards) in capacity and features, and inaccessible to all but those willing to diligently study it, it became a best-seller by default--there were few other programs in its class at the time. In 1984, Ashton-Tate introduced dBASE III, which expanded upon dBASE II by adding more capacity, greater speed, additional features, and a rudimentary menu-driven interface called the Assistant. This year Ashton-Tate upgraded the line to dBASE III Plus, which offered even more features, still more speed, an improved Assistant, and networking capacity. dBASE III Plus's dominant market position gives it some advantages. Walk into any bookstore that stocks computer titles and you'll find a book on dBASE III or dBASE III Plus. A bookstore with a large computer section may have several dozen titles. Training programs abound. Accessory programs--report generators, programming aids, compilers, and the like--are readily available. And, perhaps most ominously, dBASE consultants and programmers lurk behind every bush, waiting for the unwary to cry for their expensive services. What Does dBASE III Plus Do? dBASE III Plus does a lot. It can handle nearly every conceivable data management task you might imagine. The first step in using dBASE III Plus, as in using any database program, is to define your database files. Database programs like dBASE III Plus require that your data fit into a certain structure. First, a database is divided into records. A record contains all the information about each "thing" your database tracks--people in a mailing list, an invoice, a class enrollment, a part in inventory, a customer, a check, a debit or credit entry to an account, or whatever. Records, in turn, are divided into fields, which contain individual pieces of information. For example, the mailing list database might have fields called name, company, address, city, state, and zip. A database of checks might have the fields checknumber, date, payee, amount, notation, and cleared. Each record has exactly the same fields, so your data must fit this repetitous structure to be suitable for storage in a database. This first step--defining the database files--is a crucial step, as the things you'll be able to do with your data is highly dependent on the structure of the database. dBASE III Plus provides five types of fields in which to enter data--character fields of up to 256
1 de 6 26/03/2013 10:17 a.m.

dBASE III Plus

http://lynnbob.com/bob/articles/dBaseIIIPlusReview.htm

characters, numeric fields for numbers, data fields for dates, logical fields for true/false values, and memo fields. The program provides many functions for manipulating data, such as trimming, substring, character search, and case conversion functions for character fields, a modest assortment of mathematical functions for working with numbers, and functions that let you extract the month, day, and year from a date field, either as the number of the day or month or as words like "November." Memo fields provide a method of dealing with textual information such as sentences or paragraphs of text. When entering information to a memo field, you use the dBASE III Plus word processor to type up to 4,000 characters. You can even configure the program to summon your own word processing program to enter information into memo fields, in which case you can enter as much information to each memo fields as your word processor allows. Unfortunately, dBASE III Plus doesn't provide much facility for working with the information in memo fields--you can't search through the memo fields looking for certain words or phrases, for example. dBASE III Plus can accept a lot of data. Each record can contain up to 128 fields or 4,000 characters, and you can build your database to one billion records or until your disk drive fills. That's one reason why a hard disk drive is useful for dBASE III Plus--since your data must fit entirely on one disk, a hard drive lets you create databases many times larger than a floppy diskette drive will, and operations will take place faster as well. Once your data in in the database, you can sort or index it. dBASE III Plus sorts data quickly. Many users, however, use a method of ordering and locating data called indexing. When using indexing, dBASE III Plus maintains an index to the database that's automatically updated as you add, edit, or delete data. When using an index, data appears in the proper sort order as soon as it's added to the database, often eliminating the need for frequent, time-consuming sorts. dBASE III Plus also uses index files as a method of locating data rapidly. If a database is indexed on key fields--name, account number, inventory part number--dBASE III Plus can locate the data nearly instantaneously. Once the data is located, you might update, edit, print, or delete it. The alternative method, a sequential search through the database as used in less complex database programs, takes too long as databases grow large. Indexing is an advanced feature of dBASE III Plus that sets it apart from simpler products. Using indexes, however, adds a new level of complexity to the use of the program, as you must establish the index files and make sure they are opened and linked to the database whenever you're performing operations that might change the data that the indexes are based upon. Also, the index files must be maintained in the proper order so that the ordering and locating abilities of the index files work. Many of dBASE III Plus's competitors allow you to establish indexes when you create the database, and maintain the indexes automatically afterwards. Getting data out of your database in a useful fashion--the main reason for creating a database--is where dBASE III Plus lags behind its competition. The primary method of printing data is by developing a report format with the report generator. Unfortunately, the word that describes dBASE III Plus's report generator is primitive. Sophisticated reports of the type most people desire require using the dBASE III Plus programming language, not a simple task. Also, making queries against your database--asking such questions as "Give me a list of our customers in Wisconsin who have purchased over $3,000 of merchandise from us in the last six months"--uses technology and methods not much more advanced than the report generator. A key feature of dBASE III Plus is its relational capability, meaning it can work with more than one database file at a time. This feature is important for advanced business applications for several

2 de 6

26/03/2013 10:17 a.m.

dBASE III Plus

http://lynnbob.com/bob/articles/dBaseIIIPlusReview.htm

reasons. Say we want to track student enrollment records for a high school or university. We might design a database called students with fields like these: student#, name, address, and other biographical information about the student. Then, we need to keep track of all the classes the students have enrolled in. How can we keep track of this? One way is to add fields to the students database called class, year, and grade. With this database structure, every time a student enrolls in a class we'd create a new record in the students database, filling in the biographical information about the student, and then the class, year, and later on, the grade information. Since each student may take many classes, this structure duplicates biographical information like name and address many times, wasting storage space, requiring extra effort for data entry, and leading to uncertainty about the information. If an error is made entering the address, so that different addresses appear for the student on different class records, which address is the correct one? To avoid entering the biographical information needlessly, we might create a database with a structure like this: student#, name, and address, and then fields for the classes: class1, year1, and grade1 for the first class, class2, year2, and grade2 for the second class, and so forth. This database structure is inefficient, too. We'd have to declare as many class, year, and grade fields as we anticipate a student ever enrolling in. Students who take just a few classes and then leave the school have just as many fields in their records as do students who take 50 classes, but their records are mostly empty--a waste of space. Furthermore, this database structure makes it difficult to answer questions like "Did John Doe ever take Chemistry 101?" Since any class could occur within any of the class fields, you'd have to search for a record with these conditions: the name is "John Doe" and class1 is "Chemistry 101" or class2 is "Chemistry 101" or class3 is "Chemistry 101" and so forth, all the way through class50 is "Chemistry 101." Searching for a particular class taken in a certain year takes even more work. Suppose, instead, that we restrict the students database to just the student#, name, address, and other biographical information, and created a second database called classes. This second database contains the fields student#, class, year, and grade. The students database contains just one record for each student in school, without duplication of information. The classes database contains one record for each class a student takes. Whenever a student enrolls in a class, we fill out a record for just the classes database, entering the student number, the class title, year, and grade. The key to making the system work is that each database shares a common piece of information, the student number. This database design cures the duplication of information problem with the first design. If a student enrolls in just one class and drops out, only one record in classes is created. If a student takes 200 classes, there are 200 records for that student in classes. It also cures the query problems associated with the second design. For example, to see whether a student has ever taken a class, simply look for a record in the classes database where student# equals the appropriate student number, and class equals the class you're looking for. This type of relationship is called a many-to-one relationship, because we have many classes for one student. Similar situation occur frequently. For example, an inventory may contain several thousand parts, but each vendor may supply dozens of parts. You'd have a database called inventory that has a field called supplier#, and a second database called suppliers that contains supplier# and information about the supplier. For invoicing, where you send many invoices to the same customers, you'd link two database files with the customer name or customer number.

3 de 6

26/03/2013 10:17 a.m.

dBASE III Plus

http://lynnbob.com/bob/articles/dBaseIIIPlusReview.htm

dBASE III Plus has three methods of coordinating multiple data files. One method is the join command, which combines two databases into one based upon some condition. For example, with the students and classes example, you could join the two databases into a third database. The appropriate condition is that the student number from students equals the student number from classes. The resulting database from the join is like the inefficient method of tracking the enrollment--a single file with all the student information for each class. That's not necessarily bad, as the purpose of the join is to get a database to print. You'll have to erase it soon, however, because as soon as you add a new class or student the database becomes obsolete--its information is no longer current. The second method of coordinating the databases uses the set relation command, which instructs dBASE III Plus to automatically move in a second database when you move in a first. For example, if you wanted to browse through the classes database and have dBASE III Plus keep the students database in synchronization with classes, you'd use set relation. It's good for many-to-one relationships like this, where there are many classes being related to one student, but not too helpful in the opposite situation, the one-to-many relationship, where there's one student related to many classes. For situations like this, which arise when printing transcripts or report cards, the programming language or the join command provide a solution. dBASE III Plus also works over a network, allowing common access to a single database. This is useful in many situations where several people must update and retrieve information from the same database. It's a desirable feature, but using dBASE III Plus to provide this type of simultaneous access to information requires considerable skill and use of the programming language. Although I was not able to test the program over a network, numerous published reports have reported problems with networked operation, although Ashton-Tate has worked to fix problems as they arise. Using dBASE III Plus dBASE III Plus provides three modes of operation--the dot prompt, the Assistant, and the programming language. Dot prompt mode was the only method of using dBASE II, and it's still used with dBASE III Plus. In this mode, you type a command, dBASE III Plus interprets it, and then performs the action the command calls for. The dot prompt reappears, and you can enter another command. It's not unlike entering DOS commands to the A> or C> prompts. The Assistant is a mode of using dBASE III Plus that was first introduced in dBASE III and enhanced in Plus. The Assistant presents a series of menus that allow you to issue dBASE III Plus commands without memorizing the command syntax. The Assistant is useful for those new to dBASE III Plus, as they won't have to memorize the syntax of the dot prompt commands. It's also a useful learning tool, because as the Assistant generates the command, it displays the command at the bottom of the screen. Thus, you can learn dBASE III Plus commands as you execute them. The programming language, present throughout all versions of dBASE, is a way of grouping dBASE III Plus commands into a command file and executing them all at once, without intervention by the operator. This mode is useful for repetitive tasks, and for allowing those not familiar with dBASE III Plus commands to use the program. It is also the mode used for creating menu-driven applications and other complex information management systems. The programming language is not a feature of dBASE III Plus to be taken lightly. Writing simple, macro-like programs is easy--just type the commands into the program editor as you would at the dot prompt. When you run the program, dBASE III Plus executes the commands in turn, just as though you are typing them yourself. But real programs, the types of programs needed to perform the complex tasks that many people want to do, requires considerable skill and practice in programming a

4 de 6

26/03/2013 10:17 a.m.

dBASE III Plus

http://lynnbob.com/bob/articles/dBaseIIIPlusReview.htm

computer. Programming is what most people hope to avoid when they purchase a personal computer--not everyone has the aptitude, skill, desire, or time it takes to develop programs that operate correctly. Problems with dBASE III Plus The primary problem with using dBASE III Plus is that it's hard to use. There is a multitude of commands, functions, and procedures that must be mastered to make effective use of the program. It is possible to use dBASE III Plus for simple tasks using a small subset of the commands, but then you're carrying a lot of excess baggage along with you. The Assistant provides menus for selecting and executing many commands. The method dBASE III Plus uses for selecting menu items is not as smooth as in programs like Lotus 1-2-3 or even Ashton-Tate's own Framework II. To the Assistant's credit, the bottom of the screen shows the equivalent dot prompt command as you build it through the menu choices. That's important, because most people will eventually gravitate towards the dot prompt method of working with dBASE III Plus, and when you're at the dot prompt, you must type the complete command yourself. The Assistant is a useful adjunct to dot prompt mode, but that's what is is--an adjunct. You'll eventually want to learn to enter commands at the dot prompt, as learning to use the commands at the dot prompt is the first step in learning to write programs in dBASE III Plus. But even with a further improved Assistant, one crucial point remains--you must understand the meaning of the dBASE III Plus commands, the order in which to execute them, and their implications. The Assistant will help you construct the command to index a file, for example, but it won't instruct you when an index is necessary or desirable, and won't inform you of the implications and cautions you must observe when using them. Knowing what to do, when to do it, and how to do it remains the single largest problem with using dBASE III Plus. That's why there are dBASE consultants. Using the program for complex tasks is so difficult that expert help is usually needed to complete the project. It's not all dBASE III Plus's fault--the task itself may not even be fully understood by the user--but dBASE III Plus offers little help in reducing a project to size. Doesn't Do What's Needed Another problem with dBASE III Plus is that it doesn't do what many purchasers really want and need to do. Take the report generator, for example. Through a series of menus and screens, dBASE III Plus lets you create reports with page numbering, page headers, and the columns of data you want with your own column titles. The reports can group data and calculate subtotals and sub-subtotals, as well as grand totals. It's easy to create reports like this and store them to disk for use again. The only difficult part of using the report generator is making sure the database is sorted or indexed so that subtotals break at the proper places. dBASE III Plus includes a mailing label generator that's easy to use and can easily print labels side-by-side. While it seems at first glance that the report generator does everything you might want, dBASE III Plus users who see the report generator included in programs like Paradox or Reflex are likely to see more red than anything else. These programs supply the report generator that dBASE III Plus should, offering such features as formatted output, automatic sorting for subgroups, more flexible and comprehensive subgrouping, additional calculations and custom headings for subgroups, cumulative columns, and in general, much more control over the report. Ashton-Tate's negligence in this area has allowed several companies to do a brisk business selling accessory report

5 de 6

26/03/2013 10:17 a.m.

dBASE III Plus

http://lynnbob.com/bob/articles/dBaseIIIPlusReview.htm

generators for dBASE III Plus files. It has also forced many companies to unnecessarily spend a lot of time and money to write their own reports using the dBASE III Plus programming language. The report generator is just one area of negligence by Ashton-Tate. Making queries, for example, still requires you to compose convoluted logical constructions. The Assistant now lets you create these queries by filling in selections from a menu, but it still isn't any easier. Making queries that address two or more files is extraordinarily difficult, requiring you to establish and maintain the proper linking relationships between the files. Even then, not all queries are possible without resorting to the programming language. To help ease the transition to the programming language, Ashton-Tate included an Applications Generator with dBASE III Plus. This system, which is menu-driven, aids in setting up simple menu-driven applications in the programming language. While the Applications Generator may be useful for some people, it is quite limited, and most people will find that their needs outgrow the Generator quickly. dBASE III Plus also provides little analytical capability. There are no graphs, summary statistics are limited to sum, count, and average, and any sort of advanced reports, such an an aging report of receivables or a non-trivial crosstabulation must be laboriously produced through the programming language. The Competition The dBASE family of products became popular because in its time, dBASE II was powerful software. Today, the technology used in dBASE III Plus is outdated. For example, Reflex from Borland International is limited to working with a single file at a time, and that file must fit entirely in RAM memory, but in turn, Reflex provides a superb report generator, graphing, and sophisticated crosstabulations. These three features, combined with easy-to-use menu commands patterned after Lotus 1-2-3, let you in minutes perform sophisticated analysis of your data that would take hours to do--if it could be done at all--in dBASE III Plus. Anyone working with relatively small sets of single-file data, especially where analysis is the goal, is far better off with Reflex. Paradox, from Ansa Software, compares more directly with dBASE III Plus. Limited to 65,000 records (but 65,000 records is a lot of data) and lacking a network feature, Paradox responds with completely menu-driven operation, multiple data file capability, an excellent report generator, and Query By Example, an advanced system of manipulating data. Query By Example is a simpler system than dBASE III Plus's for making queries, replacements, and multiple-file operations. Paradox also offers a complete programming language, an automatic script or macro generation facility, and an applications generator that works. Finally, the emergence of SQL (Structured Query Language) as a feasible system on personal computers puts dBASE III Plus at a serious competitive disadvantage. SQL products offer a new technology of manipulating data that saves time and effort. For example, SQL, with just one or two commands, can perform work that takes pages of programming code in dBASE III Plus. Developed and perfected by IBM at a cost of millions, SQL is a technology that will carry database computing for many years to come. Ashton-Tate itself recognizes the superiority of SQL technology, and has announced that future version of dBASE products will include SQL. Until that time, when dBASE III Plus offers something more than it has, using dBASE III Plus is not using the best product available.

6 de 6

26/03/2013 10:17 a.m.

Potrebbero piacerti anche