DATADesign Manual - Appendix A:

Throughout this manual you will find the following symbol *. If you are reading this in the html Reader clicking on this item will take you immediately to the index.

* Section 1: Motivation

DATAdesign is actually a special kind of database because it is 'free-form'. This means that the lengths of the fields are not limited, and that fields can be added and deleted at any moment you want to.

The main advantage for this is that you don't have to know in every detail how the data in your database will look like when you create it.

For instance, should you create a database with four lines for the address and you come across someone who needs five, what can you do?

These kind of problems will never occur in DATAdesign. On the other hand if you suddenly realise that you also have to keep the VAT number of some customers, you can just create a new field which contains just that.

Of course the fact that DATAdesign is a free-form database also has some more negative implications. It is true that databases where all fields have a fixed length are faster to access. You always know where your record is, and if you change the record, it can never grow larger than it was, because all records are equal in length.
A fixed-length database can be shorter if all fields are almost full but this is, however, not very likely. In General a free form DATAbase will be much smaller and, in most cases a lot more practical.
Can you imagine what a database of letters would do in a fixed-length database or, even worse, a file which contains chapters of a book.

* Section 2 : History

This is actually the fourth incarnation of DATAdesign. It is a program which has gone through two (r)evolutions.

It all started with DATAdesign v1.00. This version of the program was not much more then a simple cardfile database. Of course it already used the Pointer Environment , but that says it all.

After almost a year, and mostly because Wolfgang Lenerz asked for it, we split the original program in two parts: the main program and the engine. This had the main advantage that the DATAdesign database management system (dbms) was accessible by everyone, and there was finally an alternative to Archive.

This, however, had two problems, and we had to rewrite big parts of the main program. Firstly we added some extra features like filter, mark, duplicate and shortcuts to access some routines. Secondly, because of this, we had to call all the routines in a different way. We didn't write it properly though, so DATAdesign v2 relied heavily on the internal structures of the engine.

We supplied the engine (v1) in two parts; the engine itself, and the basic interface. The engine lacked some commands to access some of the embedded data, and the basic interface was quite stupid!

You had,for instance, to explicitly type in all the parameters, and the parameters were quite type sensitive (cannot pass an integer as a float).

About seven months later we released the second version of the basic interface. It was a major improvement because the commands were more readable and because you could omit the parameters you didn't need. The interface was also more friendly about accepting parameters of different types, but it had problems with array elements. We also made sure that the files were accessed more easily, with the disadvantage of having more problems when accessing several files simultaneously in a program.

16 months after that we released DATAdesign v3. It was now also sold in two parts, as not all DATAdesign users need the programming interface. This version had the basic interface integrated with the engine, and the engine was then made into v3, to ensure that the engine and main program at least had the same figure in front of the dot in the version number.

The DATAdesign main program was then finally a program which accessed the engine properly, without accessing the internal structures, and we redesigned the window. Actually this was (another) complete rewrite of the program and we tried, in the process, to make it better then it ever was.

The major difference was actually in the engine. The basic interface was perfected and became very flexible with regard to the parameters. It also had an improved method of error trapping.

This version was able to access several files in the same program with a lot more ease and this, together with unique numbers for fields and records, created a powerful relational database for the programmer.

More noticeable to the average user was the introduction of disk-based files and indexes. The first allows for large files to be accessed; this should prove very handy for all those people with large databases like doctors, lawyers and people who compile databases. The latter provides a fast search in a program and better handling of sorted and/or filtered files.

The engine now also allows types to be given to a field, thus allowing numeric values and raw data like screens or fonts or anything you want.

* Section 3 : Configuring DATAdesign

As a true Pointer Environment program, DATAdesign contains standard config blocks to enable the user to change aspects of the program to suit the system of style of the individual.

These blocks can be be configured from two different programs. 'Procon' is the ProWesS configuration program that is supplied with this package : 'Menuconfig', from Jochen Merz Software, is the standard P.E. configuration program supplied with all programs written or sold by Jochen Merz.

The current version of DATAdesign supports level 2 Config Blocks which allows the user to store all of the changes that have been made to the program in a separate file called MenuConf_inf on the Program device. This information can then be used by Menuconfig to initiate the same settings in another version of the program when, for instance, an upgrade becomes available. This can be done in both cases by loading the new version into 'Procon' or 'Menuconfig' and indicating the 'Update' item. The ProWesS program does require that the user load the Menuconfig_inf file before use.
Further information on the 'Procon' Program can be obtained from the ProWesS documentation. If you have copied the files in the '_pws_doc_' directory into the same directory as these files you can read the information by clicking on the 'Procon' item here. Further information on the Menuconfig program can be obtained from Jochen Merz. The Standard QJump Config Program,which is public domain cannot be used to configure level two config blocks. These blocks can be easily recognised by the number <2> that is after the name of the block when the 'Menuconfig' configuration program is run.

* 3.1 : Configurable Items

You can configure the following items:

Option Name.                   Choice           Action
Get saved window
position.           Yes/No.          If you answer yes to this item the the window
                                     size and position will be restored when you next
                                           load the file.
Initial Size        User Defined/    If you choose 'User Defined' then the values given
                    Minimal.         in the next two items become the size of the initial
                                            window.
X-Size of Window    Value.
Y-Size of Window    Value.
Origin of main
Window              User Definer/    If you choose 'User defined' then the values given in
                                     next two items become the X and Y points of origin of the
                                                top left corner of the DATAdesign.
X-Origin of Window  Value.
Y-Origin of Window  Value.
Main Colourways     Colourways       Sets the Colours of the main program window.
Sub Colourways      Colourways       Sets the Colours of the sub menu windows.
Button Colourways   Colourways       Sets the Colours of the sleeping button.
Help File           File Name        Choose the filename and directory for the
                                                DATAdesign help file.
Print Device        SER / PAR        Sets the printer device.
Name of Directory   Directory Select Sets the directory that will be presented
                    Window.                from the 'Load File' command.
Toolbar             Yes/No           Selects whether theIcon Bar
                                                will be visible or not.
Flash(0=Static
Sprite)             Value            Selects whether the  Sprite
                                      will flash or not when the file has been changed but not saved.
ProWesS reader
for help file       Yes/No           Selects if the ProWesS reader will be called for the help file.

* 3.2 : Colourways

* Section 4 : DATAdesign Version 3

v3.00
Current version, can only work with v3.00 and higher. The program is finally not relying on the internal structures of the engine.
v3.01
Small problem with filename after a sleep solved.
v3.02
Bug in edit window with [ctrl-alt-right] solved.
v3.03
Some problems in replace solved.
v3.04
View added.
v3.05
Small bug in fieldname window which sometimes made a fieldname invisible when editing it solved.
v3.06
Sort/Filter occasionally crashed the computer.
v3.07
Some problems in View solved. You could scroll one too far, and the index bar was not updated when scrolling up (this also caused some other problems).

* Section 5 : DATAdesign Version 4

v4.00
17.10.95 ... 29.03.96

* Section 6 : Statistics

These statistics are actually the statistics for the DATAdesign engine, as the main program actually does pose an additional restriction to the size of the visible part of a record (max 8k).

max no of records
no limit, except memory (18 bytes/record)
max no of fields
256
max no of files
no limit
max no of buffers
no limit
max no of indexes
no limit
max recordlength
only limited by memory
max fieldlength
only limited by memory
max no of sortlevels
10
max no of filterlevels
10
This document is mostly based on the original text for the DATAdesign Manual revised and converted into html format by Roy Wood
PROGS, Professional & Graphical Software
last edited Saturday 24 August 1996
* ¥ .B B@ ‰T@¨€ ¨€ v° @o@/  €¨€}x@ j j ; ; ; ; ; ; ; % >] ¤ †  < * = A 1 / = 9 ) = 8 @ = C ? 1 A = C A A B ? C B > = @ > 9 1 ? : > = @ > A < 2 B @ > # > < < . @ ? C C B @ ? B ? @ / ; A @ A @ @ < < & ( > : ' > ? ! ? ? > ? A A A > ! B A ; B ? # > 6 = @ > B @ B ? A A 4 - . = B @ / ) / . 7 ? ? : B B 4 B A C @ ( @ % @ $ = @ > B @ ; ( C < & A % C " 8 C : < A @ ! > / C * 9 < A 6 8 6 > . @ C : # " C A C B B > % ? @ 6 , B 8 A @ B 8 > = A @ / C , 6 6 < C B = 9 0 * > C A B C = 4 : 3 B / : ? B C A ' 7 " $ $ 1 0 ! " ; 7 - $