By: David Dattner (934265) & Graham Neumann (923872)
This document discusses general elements, uses and design philosophies of modern databases. It is organized into five sections as
follows:
The overview presents a definition and some of the major motivators surrounding database development. Following this introduction is
a discussion of three major databases in use today: Microsoft Access 2.0, Borland Paradox 5.0, and Claris Works 2.0. Both author's
have had hands-on experience with each these and have used this as basis for comparison. However, it should be noted that often the
context under which a particular database package is being used must be considered in order to provide a fair basis for comparison.
This being the case, the author's have attempted to take as objective as stance as possible.
In conclusion, a general critique of the current state of database design philosophy as well as suggestions for future direction are
offered.
Overview
Living in an information age, we find ourselves bombarded with vast amounts of information. Television, radio, newspapers, magazines, books, and computers are all means by which this information is communicated. One may find it easy to become overwhelmed by the sheer quantity of data expected to be dealt with each day. Computer applications such as word processors and spread sheets can aggrevate the problem by promoting an increased in document production. This need to organize such an increase in information flow has motivated the creation of numerous database packages. Today, we find databases in use in things such as automatic teller machines, and airline ticket reservation systems. But, what exactly is a database?
Databases offer a means by which large amounts of information can be stored, accessed, and organized. Most databases, today, are relational in that they form mappings between individual tables. These tables represent specific information domains. The more sophisticated the database package, the more complex these relationships can become. By having these relationships, changes in one table will be reflected in other related tables. Databases may contain hundreds of inter-related tables, or files, which would be impossible to use effectively without the help of database software. Moreover, most database management programs now support some form of structured query language for programming complex queries.
Currently, there is a trend towards producing database packages which confine themselves completely to an object-oriented paradigm. This will allow a greater increase in flexibility in that changing properties of elements in the database is uniform throughout the application.
The database packages currently available vary in sophistication. Some, such as Claris works, are mostly targeted for home, small
business, and educational use. On the other hand, packages such as Borland Paradox and Microsoft Access are targeted more towards
larger corporations.
Microsoft Access 2.0
Access is meant for experienced database users. General database design principles must be well understood in order to take advantage the wide range of advanced features access has to offer. In sharp contrast, programs such as DBase and Paradox, which store individual data-base components (such as tables, reports, and forms), Access is a collection of objects. These are stored in a single file with the extension ".MDB". When opening a Microsoft Access data-base, you are opening all the tools necessary to use and store information in the data-base. Access data-bases may contain all necessary objects, however, users are allowed to access objects stored in other data-bases. For example, one may store tables in one file and forms and reports in another.Like other common data-base packages, such as Paradox, Microsoft Access is relational. This means that it efficiently and accurately provides information about different subjects that are stored in separate tables.
Access's graphical user interface has several benefits. First of all, the graphical elements are similar (if not identical) to other Microsoft Office applications. This means that learning how to use Access is relatively straight-forward once other Office applications are known. Also, many sophisticated features may be used with little effort as they are embedded as macros. Finally, visual basic for applications may be incorporated to add even more specialized functionality.
The data-base window, as pictured below, is how objects in the .MDB files are viewed.
This is the control center for working with a particular data-base. The TABS on the top of the window allow you to work with a specific type of Microsoft Access object. The program facilitates the specification of long names for tables and other objects. Objects can be listed using large or small icons, or by name and details. (These details refer to object properties; meaning object description, date-modified, date-created, object type, and owner.)
Tables, which are collections of data and related records, are the basis of any data-base. As is the case in Claris Works (but not in Paradox), Microsoft Access tables do not exist as separate files, but are included in the .MDB file. Relating tables to one another is accomplished graphically, with no need for separate index files.
Queries are used to select specific subsets of data. For instance, one might want to make a query on all of Microsoft's customers currently residing in Lethbridge. The Access query will then return a record set that is actually a view into the underlying table. An example of this is pictured below.
Many times, queries such as these are a simple substitute for programming.
Microsoft Access forms are based on tables and/or queries. The forms are useful in that they can change how data is manipulated on the screen. One may use these to display pictures, graphs, and documents that are being tracked. A form wizard is also available, with prompts the user with questions and then creates a form based on the answers.
Reports allow one to display information from tables and queries in a way that is more meaningful than simply looking through records in a table. Again, most reports can be set up easily by using a wizard.
Macros may be easily defined, allowing the automation of repetitive tasks. This, in effect, has the potential to greatly extend Access's capabilities. As in Paradox, one may link a macro to a button or event (such as closing a form).
Modules are used for advanced programming tasks, such as creating one's own functions. An example of this would be calculating market projections. Modules should be used when one wants the application to perform actions which can not be carried out by simple query.
Borland has been in the PC database business longer than any other PC-software company. Paradox and dBASE make up the largest portion of database products used today. Borland uses it's Object Component Architecture (BOCA) which combines all of its major windows applications into one cohesive data-access system. Paradox offers all the standard database components such as forms, queries, reports and scripts. In addition to these relational database standards an object oriented paradigm is used. This is evident in the Object Inspector which allows the user to easily manipulate the properties of any object. Objects in paradox include tables, records, text, OLE's, graphics etc... Also coaches are available to guide the user through tasks. With coaches, users learn by doing, giving feedback whenever a user makes a mistake. Of course, one may exit the coach at any time. For Access users, Cue cards provide simple question and answer support, facilitating the move from Access to Paradox. It is often unclear when to use wizards to get a job done in Access, however, the coachs characteristic of Paradox help to address this problem.
The project viewer provides an easy and quick way to access and manage frequently used objects. It is also possible to show non-Paradox objects. Yet, because Access holds every form, table, report, module, and any other object, in a single .MDB file, the Access database is not yet able to provide the same flexibility.
Paradox offers context sensitivity in its toolbars to provide easy access to features and design tools relevant to the task at hand. Access also provides toolbars, but since Access is not object oriented, the toolbars are cannot provide the same level of object-specific functionality.
The macros found in access are replaced with a scripting language called ObjectPAL. This application development language is power and functional, allowing the user to create complex applications to fit specific business needs. ObjectPAL code is attached to events (also called methods) which are then triggered by the user when performing methods such as moving from field to field, opening and closing forms, editing data and clicking the mouse. Other features include toolbars, graphical design tools, graphical Query By Example (QBE) and Visual Data.
Because Paradox is built on BOCA, it provides excellent relational database facilities. Paradox also allows for visual data modeling of its links between tables. The exhibits complex data-relations, such as one-to-one and one-to-many, simply by drawing the graphic representations between tables. In contrast, the relationship builder in Access is not graphical; relationships must be created one at a time. As opposed to wizards, which limit the user to a small number of default styles when creating forms and reports, Paradox provides virtually unlimited choices. This is made possible, since Paradox allows the user to customize all elements of a form or report.
The following is an example of a table in Paradox:
The following is a feature comparison between Paradox 5.0 and Access 2.0. It should be noted that it has been taken from the "Borland Online Database Product" site on the web and may contain some propaganda.
Paradox 5.0 Access 2.0
Coaches / Cue Cards X X Project Viewer / Database Container X X Experts / Wizards X X OLE 2.0 client and server support X Toolbars X X Object Inspector / Short Cut Menus X X Visual Data Model / Relationship Builder X X Unlimited style sheets X Object Oriented User Interface X Reusable objects X Mail enablement X X Workgroup capabilities X
Claris Works, although not nearly as powerful as Paradox or Access, is very simple to learn and use. In many ways, it is not useful to draw too many comparisons between it and other, more sophisticated packages, since the target user domain is quite different. When used in the context of simple databases, Claris is just as effective as other packages. It is also important to note that Claris Works is not just a Data-Base program. It is also a spreadsheet, word processor, communications, and graphic application. All of these are integrated into one package. The advantage to this is that data can be moved with relative ease between components. However, this generality does have a negative impact on the power of the components when considered separately.
When a new data-base is created, Claris automatically prompts the user for the names and field types of the data-base. This is an obvious limitation, in that only one table may be created for the data-base. If the user wishes to relate multiple tables, then they must incorporate File-Maker Pro. However, this immediately increases the complexity and defeats the goal of maintaining simplicity. Once the initial table structure has been defined, the systems automatically enters browse mode and displays the data-base without the necessity of using forms. Although this does make for an increase in simplicity, many users learn to rely on this on never make use of custumizability. In contrast, Paradox and Access using quick forms and form wizards (respectively), however, this is not done by default.
In Claris, complicated queries are not a reality. Users are limited to simple searches and sorts. Also, complicated calculations are confined to the standard spreadsheet formulas. For example, "AVERAGE('Math','Science','History')", will calculate the average of the three fields and place the result in another specified field.
Although Claris is not ideal for complicated tasks, and lacks flexibilty, it is still performs specific, specialized tasks, very easily and efficiently. This is where the benefits of having an many integrated applications becomes most noticeable. Evidence of this is apparent in the mail-merge function, which allows the user to combine data from a data file with text generated by the word processor, and then automatically address this letter to individuals within a data-base file. Notice that this feature, although useful, addresses only a very specific problem, and is not indicative of the overall system's ability to help in other problems found in the business domain.
The two screen snapshots below show:Probably the most significant and most difficult problem facing database programmers designing complex databases is conceiving and implementing multi-linked data models. Some database programs, such as Paradox try to aid the user by presenting links between tables in the data model in a graphical style. However, as the complexity of the data model grows, confusion is inevitable. At first, this problem seems unavoidable in that complex systems are by nature required. It is likely that the current shift towards an object oriented methodology will aid in reducing data model complexity. Perhaps, if other strategies in data conceptualization/visualization are adopted, further progress will be made towards simplifying information management. For example, data models could be visualized using three-dimensional or fish-eyed approaches. This would allow for specific information to be viewed in detail without loosing global perspective.
With the advent of structured query languages, data bases which previously required an "expert" to construct, can now be implemented by individuals who need only posses little knowledge of computers. Furthermore, since these individuals would have greater knowledge of the information domain being represented, a more realistic data model might be achieved. In any case, it will continue to be important that a move towards less dependency on computer expertise be the norm. However, this must not be done, as in the case of Claris Works, at the cost of flexibility and power. In a sense, future database systems will have to adopt the approach of current expert system research, in that it will have to be up to the database package to extract the data-model from the information expert, rather than the expert attempting to mold the database itself.
In conclusion, database design has reached a stage in which it is now an integral part of the office environment. No doubt, it will play a vital role in shaping the future of the workplace. In fact, it is likely that if database developers fail to address the issues presented above, remaining competitive will become increasingly difficult.