A COMPUTERISED METHOD FOR DYNAMICALLY CREATING, MODIFYING, REMOVING AND MAINTAINING INFORMATION IN A DATABASE

Abstract: A method of retrievably storing in a computer database, aggregates each consisting of related titled information, the method including: storing each title as a conventional record in a conventional database so that titles can be efficiently added, moved or removed as conventional records; providing further database means in which individually titled information of an aggregate may be stored as a conventional record in a further conventional database; and operatively associating each individually titled information with its title and aggregate whereby each aggregate may be stored, removed, updated or queried.

Description: "A COMPUTERISED METHOD FOR DYNAMICALLY CREATING, MODIFYING, REMOVING AND MAINTAINING INFORMATION IN A DATABASE" This invention relates to a computerised method for dynamically creating, modifying, removing and maintaining information in a database and databases so formed. In particular this invention is concerned with a method of organizing, storing, representing, retrieving, indexing and querying uniformly structured information in a conventional database. However it is to be understood that this invention may also be utilised for storing and manipulating non-uniformly structured information. BACKGROUND OF THE INVENTION Much of what people and organizations do in the work place is intimately tied up with the use, reuse and expansion of existing knowledge in reports, assessments and other documents, expertise, facts strategies and other information. Computer technology has enabled users to capture, manage, structure, maintain and deploy that knowledge, however the current systems are often costly, expert dependent, inefficient, labour intensive, and time consuming. In order that existing art and this invention may be readily understood and put into practical effect reference will be made hereinafter to the accompanying drawings wherein: - FIG. 1 is an outline of a computer; FIG. 2 provides Employee Information to be represented in a database; FIG. 3 provides the conventional representation of Employee Information from Fig. 2 in a conventional database table; FIG. 4 illustrates aggregates of information; FIG. 5 represents Employee Information from Fig. 2 in a conventional database table but according to this invention; FIG. 6 illustrates adding a new column of information to a database (Fig. 3) where information is organised in a conventional manner; FIG. 7 illustrates an algorithm to add a new column to a database containing information organised according to this invention; Fig. 8 illustrates adding a new column of information to the database as outlined in Fig. 5; FIG. 9 is an algorithm to delete an existing column from a database containing information organised according to this invention; FIG. 10 illustrates the Numeric Column Definition and Cell Repository Tables from Fig. 5 after the Removal of the Salary "Column"; FIG. 11 illustrates the renaming a column from Fig. 5; FIG. 12 illustrates storage space for incomplete or undefined cell values are wasted in a record using a conventional method of representing information in a database; FIG. 13 illustrates storage space for incomplete or undefined cell values which are not stored in a database organised according to this invention; FIG. 14 illustrates an algorithm for adding a new row of information to a database containing information organised according to this invention; FIG. 15 illustrates the result of Adding a row to a Database whereby information is represented according to this invention, as in Fig. 5; FIG. 16 illustrates an algorithm for retrieving an existing row of information from a database containing information organised according to this invention; FIG. 17 illustrates an algorithm to update an existing row of information in a database containing information organised according to this invention; FIG. 18 illustrates the result of updating Row #3 using the algorithm as detailing in Fig. 16 in a Database whereby information is represented according to this invention, as in Fig. 5; FIG. 19 illustrates an algorithm for deleting a row from a database containing information organised according to this invention; FIG. 20 illustrates the result of Deleting Row# 2 using the algorithm as detailed in Fig. 19 from a Database whereby information is represented according to this invention, as in Fig. 5; FIG. 21 illustrates SQL Queries for both information represented in a database using a conventional manner and according to this invention; FIG. 22 illustrates linking of the Employee Information of Fig. 2 in a conventional database table according to this invention using a "linked-list" arrangement; FIG. 23 illustrates a method of simplifying the year 2000 changeover by regenerating only "year" cell values in a Cell Repository Table; FIG. 24 illustrates adding new a type of column by adding a new Column Definition and Cell Repository Table, and FIG. 25 illustrates placing individual columns of information as in Fig. 2 in separate tables in a database for separate column indexing. DESCRIPTION OF A COMPUTER For the purposes of this application the term computer includes a machine of the general type as outlined in Fig. 1. Typically a computer optionally includes a keyboard input device, a pointing device, a plurality of display devices, mass storage means, printing means, network communication means, an input/output controller, main memory and a plurality of central processors possibly associated cache memory, connected by a communication mechanism or bus of some description. CONVENTIONAL DATABASE SYSTEMS The purpose of a conventional database system is to organize, store, process, index, query and report upon information. Usually prior to information being stored in a database, the values and types information to be stored undergo a formal engineering process called normalization, ( <revisit - reference to database systems books here. ) , although some instances of information need not be normalized as it may already be in a normal form. Generally one of the major reasons why normalization is performed is to organize the information to be stored in a database into an efficient structure for storage and retrieval. More specifically during the process of normalization, information, commonly represented in terms of cell values, organized into columns, and rows as in Fig. 2, is organized into database tables so that cells values may be easily, and efficiently stored, retrieved, queried and reported upon by conventional database systems. Generally, the level of information normalization is of great significance because the level of normalization not only influences the relative speed of the database operations on the stored information, but also the efficiency of information storage. The historical importance of performing information normalization prior to storage in a database is further exemplified in its teaching in foundational database courses at Universities and other similar institutions, the extensive coverage of normalization in database texts and database system documentation and the often claimed dependence on having normalized databases for efficient processing with database query languages such as SQL ( Structured Query Language ) . Prior to normalization, information is often represented in terms of cells containing values, organised into rows and columns, whereby columns represent similar types of cell values and rows represent related or associated cell values. For example, in Fig. 2, individual cell values are organised into columns according to the type of information, i.e. Names, Ages, Address, and each row is organised to represent related cells values for a particular item, abstraction, object or thing. In the case of Fig. 2, each row represents the information cell values for a particular employee in an organization. After normalization, information cell values, rows and columns are often represented in terms of database record values, records, fields and tables. (Again, it is recognised that particular information columns and rows destined for storage in a database may not need to undergo normalization as the information may already be in an efficient normal form ) . In most situations once normalization is complete, there is often a one-to-one relationship between the representation of information as cells, columns and rows and how the information is stored in a conventional database system as record field values, fields and entire records respectively. For example, Fig. 3 outlines how the information represented in Fig. 2 may be represented in a conventional database table. DESCRIPTION OF A CONVENTIONAL DATABASE In conventional computer database terms a database consists of tables, fields and records whereby; a database consists of one or more tables; a table consists of zero or more records; the structure of the records in a table is defined by one or more fields; a field specifies the name, type and other necessary storage requirements that define the representation of a single piece of data. (eg. a name field as text with fifty characters, and age field as number, etc.). In most circumstances, a field is used to represent the definition of a column; a record is a collection of field values, the structure of which is defined by the fields, the values being the actual information cell values in the database. In most circumstances, a record is used to represent a row of information, and a field value is a single piece of information to store in a database. In most circumstances, a field value represents a single information cell. Because there is often a one-to-one relationship between the representation of the information to be stored in a database and the representation of information in a computer database, the terminology used to describe the structure of information, i.e. cells, rows, and columns, is often used interchangeably with the definition terms of a computer database, i.e. field values, records and fields, respectively. For example, examine the relationships between the definition of information to be stored in a database as in Fig. 2 and the actual representation of the information in a database as in Fig. 3. LIMITATIONS OF A CONVENTIONAL DATABASE In conventional database tables, the number and type of fields which define the structure of a database table and thus the information which can be stored in a table, is fixed once a table has been created. That is, new database table fields may not usually be added, or existing database table fields reordered or removed from a conventional database table without the need to rebuild existing records, or by writing software to do so. For example, in order to add a new column of information, say Height, represented by a field to the conventional database Employee Table represented in Fig. 3, a completely new Employee database table would need to be created containing the fields from the original Employee table, along with any new fields, in the example, the Height field. Each and every individual field value from every individual record from the original Employee database table would then have to be copied into the new Employee Table. This is usually a very inefficient and time consuming process, especially when there are a large number of existing records that need to be processed. Fig. 6 outlines the process. A similar regeneration process is often required when fields must be deleted, renamed or moved within a conventional database table. Often however there is generally no limitation on the timeliness of creation, renaming and removal of tables of information from a conventional database. In order to allow for the need to add additional columns of information so that the new information may be stored in rows in a database, while avoiding the need to regenerate records, one of the methods currently available is to allocate empty (redundant) columns of a variety of types at the time of initial creation of a database table. That is the method prescribes leaving space for the future information. The problem with this method is that information cells in a row reserved for the future are left unused or empty, their storage space, although not needed is redundantly maintained. This can greatly increase the size of a database. Even so, once all of the redundant columns are used, the entire database table must be regenerated so that more redundant columns may be added. Although the limitation of being unable to simply and efficiently add, organize or remove fields in conventional databases has not been particularly limiting in the past, (mainly due to the allocation of redundant fields), in an ever changing information environment, where the content and structure of information being collected, processed and reported upon is volatile, this limitation is increasingly reached early. The subsequent cost of maintenance on the database systems is thus increased both for individuals and organizations using database systems, especially in situations whereby there are a large number of existing records or software must be maintained or created to perform such maintenance. OBJECTS OF THIS INVENTION The present invention aims to alleviate at least one of the above mentioned disadvantages and to provide a reliable and efficient method whereby the process of creating, organizing, renaming, or moving columns of information in a database may be performed efficiently. In our provisional specifications Nos. PO 5601 and PO 5638 filed in Australia on 12 March, 1997 and 13 March, 1997 in respect of which priority is claimed we refer to "conventional" and "alpha" databases. The alpha database was described as being a conventional database storing alpha field definitions and alpha field data. However the term "alpha" in this art may be interpreted to have a separate significance as opposed to being a distinguishing name only and accordingly the description "alpha" is not used in this specification. The term "aggregate" is now used to indicate an "alpha record" and the term "related titled information" now refers to the "alpha fields" forming an "alpha record". An "alpha database" is now referred to as "aggregates of related titled information" . SUMMARY OF THE INVENTION With the foregoing in view, this invention in one aspect resides broadly in a method of retrievably storing in a computer database aggregates each consisting of related titled information, the method including :- storing each title as a conventional record in a conventional database so that titles can be efficiently added, moved or removed as conventional records; providing further database means in which individually titled information of an aggregate may be stored as a conventional record in a further conventional database, and operatively associating each individually titled information with its title and aggregate whereby each aggregate may be stored, removed, updated or queried. The aggregates each consisting of related titled information may be illustrated as in Fig. 4. According to this invention, information may be randomly added, moved or removed without the need to regenerate any existing records in the database. This invention may utilise systems such as Microsoft Access, Microsoft FoxPro, Borland Paradox, Borland Dbase, Oracle Database Systems and the like. However the databases used to implement this invention may include database systems such as relational, hierarchical, federated or object- oriented databases. If desired the databases could be purpose built to store the above required information. In a further aspect this invention resides broadly in a method of storing information in conventional databases, the method including:- storing each column definition as a conventional record in a conventional database so that column definitions can be efficiently added, moved or removed as conventional records; providing further database means in which cell values of a record are stored as separate records, and associating each cell value with its column. Preferably associating each cell value with its column is achieved by additionally storing a reference to a column definition along with each cell value. Alternatively associating each cell value with its column may be achieved through the use of conventional database foreign keys. By using this method, addition, removal or reorganization of column definitions does not destroy the integrity of existing cell values. Furthermore such operations may occur without the need to regenerate any existing records in a database. According to a preferred form of this further aspect of the invention, organisation of information may involve: . establishing a conventional database table, hereafter referred to as a Cell Repository Table storing either a single column of cell values, a relatively small number of related cell values, and/or columns of cells values of the same type; . establishing an additional conventional database table, hereafter referred to as a Column Definition Table to store the defining characteristics of a column of information including a column ' s name and/or other associated information pertaining to the definition of a column; establishing a means of associating individual cell values stored in a Cell Repository Table with their respective column definitions in the Column Definition Table. From the above it will be understood that rather than storing semantically related cell values such as rows of records forming a table as in Fig. 3 where each employee row from Fig. 2 is stored as one conventional record in a conventional table, this invention provides that individual columns of cell values are stored in separate conventional tables such as in Cell Repository Tables as in Fig. 5, to more easily permit the addition of new columns and the removal and reorganization of existing columns to the table. Furthermore, the information pertaining to the definition of each column and its associated properties are stored as separate records in a Column Definition Table for each specific type of column. (Refer to the Column Definition Tables in Fig. 5.3 and Fig. 5.4). For example, rather than storing cell values in conventional records as in the Employee Table as illustrated in Fig. 3, all numeric information cell values from the rows for the Employee Table, Fig. 3, may be stored in a single numeric Cell Repository Table as illustrated in Fig. 5.1, and all string information cell values from the rows for Employee Table, see Fig. 3, may be stored in a separate string Cell Repository Table as illustrated in Fig. 5.2. In addition, the information pertaining to the definition of each of the column names in the Employee Table may be stored as separate records in the appropriate Column Definition Table, as in Figs. 5.3, and 5.4. As all of the cells values of the same type are stored in a single Cell Repository Table, a means of differentiating the different types of cell values for the different types of columns stored within a Cell Repository Table is required so that particular cell values for a specific column may be created, accessed, maintained or removed for a specific row of information. In order to identify the column in which each cell value in a Cell Repository Table has been stored, it is preferred that reference is additionally made to the column's definition stored in a secondary conventional database table, called a Column Definition Table. This may be achieved through uniquely identifying each column in a column definition table with a unique number and storing this number with each cell value stored in a Cell Repository Table. Additionally, the name of a column stored in a Column Definition Table along with any other parameters a column required for its definition, such as size, range and precision is also stored. See Fig. 5.3 and 5.4. Furthermore, each cell value stored in a Cell Repository Table also stores the row number and column identifier that the cell belongs to. As a result individual rows and specific cell values may be accessed, updated, queried, indexed and maintained just as records may be organised in a conventional manner fields and records may be accessed, updated, queried, indexed and maintained. In conventional database terminology, the row number and unique column identifier values of the records in the Cell Repository Tables act as "foreign keys" so that access to a specified cell value for a specific row and column may be readily performed. Thus for every Cell Repository Table, there is at least one associated Column Definition Table and vice-versa. The use of a Column Definition Table is exemplified by examining either the numeric Column Definition Table in Fig. 5.3, or the string Column Definition Table in Fig. 5.4. Both Column Definition Tables define unique column identification numbers for each different type of column in the Employee information as represented in Fig. 2, along with the names of the columns and other appropriate column parameters. The Column unique column identification numbers are then used as foreign keys in the Cell Repository Tables, see Fig. 5.1 and Fig. 5.2, to identify which of the defined columns a particular cell value pertains to. For example, in Fig. 5.1, the record <2, 1, 6471> represents the information for row 2, numeric column 1 (which, by looking up the numeric column definition in the numeric Column Definition Table is the "Employee#" column) in the employee information as represented by Fig. 2. Additionally, in Fig. 5.2, the record <4, 2, Cairns> represents the information for row 4, string column 2 (which, by looking up the string column definition in the string Column Definition Table is the "City" column) in the employee information, again as represented by Fig. 2. In yet a further aspect this invention resides in a database structure including:- a conventional database table established as a Column Definition Table for storing the defining characteristics of a column including a column's name and other associated information pertaining to the definition of a column; a further conventional database table established as a Cell Repository Table storing a column of cell values and a column of associated row values, and associating means for association individual cell values stored in a Cell Repository Table with their respective row and column values from the Column Definition Table. Description of a typical embodiment A typical embodiment of this invention resides in the organisation of information in a database system called CleverX, detailed information of which is illustrated in the user manual attached. CleverX is a flexible and sophisticated information and assessment capture tool which uses a conventional database system to store and organize information according to one aspect of this invention and whereby in CleverX terminology; a CleverX Workbook is a database containing information organised according to this invention; other CleverX palette components, such as CleverX Worksheets, CleverX Sections, CleverX Responses and CleverX Textboxes are used to represent different types of columns of .... according to this invention. As this invention efficiently permits the addition, modification and removal of columns of information within a database, CleverX similarly allows for the addition, modification and removal of CleverX Workbooks, CleverX Worksheets, CleverX Sections, CleverX Responses and CleverX Textboxes, each of which is responsible for the collection and organisation of CleverX user determined information in CleverX . Furthermore, this invention enables the storage of additional properties along with each column definition, CleverX uses this feature to store additional CleverX Component definition properties such as user-interface appearance, security, user-defined properties and relationships to other CleverX components. Additionally, CleverX makes use of the ability for information represented according to this invention to be incomplete or undefined, thus allowing a CleverX user to partially specify or leave CleverX component values incomplete. Furthermore, CleverX permits the definition of conditions which allow a CleverX user to define when user information does not need to be recorded in a database. Under these circumstances, information provided by a CleverX user may be stored in as a non-uniform row in a database. Adding a New Column of Information As indicated above one of the limiting properties of conventional database systems is that most do not permit the addition of new fields to existing tables without the need to create a new table containing the new field(s), copy all of the existing records from the existing table into the new table, and potentially re-indexing the new table. See Fig. 6. Although this may not necessarily be a problem for conventional database tables which contain a small number of existing records, or for database tables representing information that rarely changes, it does represent a significant problem for database tables with a large number of records and those that need to be changed often, as the process of regenerating an existing table can be costly in terms of development and processing time, the latter usually being proportional to the number of records in the database. Although some of the newer database systems now permit the addition of new columns of information to database tables without resorting to the obvious construction of new tables or copying of existing records, they often consume an amount of time proportional to the number of existing records and/or do not permit the renaming, moving or removal of existing database fields. By organizing the storage of information according to this invention, the addition of new columns of information into a database table may occur in a relatively short time, regardless of the number of existing records. Furthermore there is no need to regenerate or re-index existing records. This is because adding a new column simply requires the addition of a new record in a Column Definition Table. The algorithm for adding a new column is outlined in Fig. 7. For example, in order to add a new column to store an employee's height, in a conventional database system the process as in Fig. 6 is often used. Whereas by organizing information according to this invention, addition of the height field would be as in Fig. 8. A consequence of not storing related cell values in a row is that there is no need to reserve storage space in each record for potential new columns as the new cell values for new columns will be stored separately in a new or existing table. Removing an Existing of Column of Information A further limiting characteristic of conventional database tables is that removal of existing columns of information also requires regeneration of table records, just as required when adding new columns of information to a table. However, by organizing the storage of information using the method of this invention, the removal of a column of information only requires: the removal of the specific column from it's Column Definition Table, and the removal of the specific column's associated cells as stored in the associated Cell Repository Tables. The algorithm which may be used for this purpose is outlined in Fig. 9. The reason why record regeneration its not required is because, removing a column only requires removal of a column definition record from a Column Definition Table, and removal of the column cell values from the associated Cell Repository Table. Regeneration is not required because individual cell values are stored in separate database tables. For example, in order to remove the Salary column of information from the conventional representation of an Employee table in Fig. 3, a new Employee table would need to be created without the Salary column, and then all of the existing record values from the existing Employee table would need to be copied into the new table, minus the Salary column values. Removal of the Salary column from a database according to this invention, requires only:- removal of the Salary column definition from the numeric Column Definition Table illustrated in Fig. 5.3. This results in the table illustrated in Fig. 10.1, and then removal of the Salary cell values from the numeric Cell Repository Table, see Fig. 5.1, with a conventional database structured query language statement such as the following, which results in. the table illustrated in Figure 10.2. "DELETE RECORDS FROM numeric Cell Repository Table WHERE NumericColumnID = 3". Renaming and Moving Existing Column Definitions Renaming or moving existing column definitions when representing information in a database using the conventional manner are not often performed due to the requirement that such operations usually require existing table records to be the regenerated as in adding or removing field definitions. Organizing database information according to this invention may be simply achieved by making changes to the appropriate column definition( s ) in the Column Definition Table. Consequently there is no need to access the cell values stored in the Cell Repository Table and thus regenerate existing records. For example, in order to change the name of the "Age" column in the employee information as in Fig. 2 to "Years Since Birth" , a database organized according to this invention would only require the appropriate column in the numeric Column Definition Table to be changed, as illustrated in Fig. 11. Applicability of Structural Changes Another feature of information represented according to this invention is that the aforementioned operations of creating new columns of information, or editing or changing a definition of a column within a database table may be performed randomly. Furthermore these operations may occur while new or existing cell values are being stored or updated in a database. This may occur as storage of cell values in Cell Repository Tables occurs independently of the storage of column definitions in a Column Definition Table. Furthermore, as a column's name and other associated properties are independent of the storage of cell values, column names and associated properties may also be changed simultaneously during operation of information in the database. This offers a significant advantage over the conventional approach of organizing information in a database, because in most circumstances, modifying the structure, definition or organization of columns in a database requires that no other operations are simultaneously taking place. In many circumstances, databases storing information organized according to this invention do not need have networked users locked out during a structural update of a database. Record Completeness and Non-Uniform Row Information Another feature of representing information according this invention is that storage space for cell values that are undefined, incomplete or unknown are not redundantly stored as in database systems that store information in a conventional manner. For example, in Fig. 12, where the employee table has a Partner column included, storage space for those employees that do not have a partner is wasted, as a conventional record in a database reserves enough storage space for all of its field values regardless of whether all of the field values are actually used. However, by organizing the information according to this invention, values of cells that are undefined, incomplete or unknown for a row are not stored. For example in Fig. 13 the partner cells are not stored for Mary and Dave. A consequence of this is that databases storing information according to this invention do not waste space when cell values are not used. This feature allows row information to have non-uniform structure unlike rows stored in the conventional manner. This consequently allows the representation of non-uniform row information, [[ 0UT(as described in US Patent #5682524),]] without the need to develop additional database software query mechanisms, without the need to represent row information in a hybrid or unconventional binary format using single fields, likes BLOB (binary large objects) that conventional database query languages, like SQL, can operate upon, and without restricting the database tools that may access information organized according to this invention, as most standard database development tools can not directly inspect BLOB fields without the development of additional software. Adding a New Row of Information to a Database As individual rows of information are not stored as single records in a database table, the method by which entire rows of information are traditionally added to databases having their information organized in a conventional manner can not be used. Instead each individual cell value is added as a separate record to the appropriate Cell Repository Table. This is illustrated in algorithm outlined in Fig. 14. Fig. 15 exemplifies the use of the algorithm outlined in Fig. 14 by showing the result of adding the new Row# 5 containing the cell values represented as the set {(Employee#, 1234), (Name, Kevin), (Age, 31), (City, Melbourne), (Salary, 52000)} using the algorithm as detailed in Fig. 14. Retrieving an Existing Row of Information from a Database Similarly, as individual rows of information are not stored as single records in a database table, the method by which entire rows of information are traditionally retrieved from databases having their information organized in a conventional manner can not be used. Instead each individual cell value is retrieved from the - appropriate Cell Repository Table. This is illustrated in algorithm outlined in Fig. 16. As an example of the algorithm outlined in Fig. 16, the result of requesting row "2" from the information as stored in Fig. 5, would result in the set {(Name, Mary), (Age, 26), (City, Brisbane), (Salary, 42000)} being returned. Updating an Existing Row of Information in a Database Similarly, as individual rows of information are not stored as single records in a database table, the method by which entire rows of information are traditionally updated in a database having their information organized in a conventional manner can not be used. Instead each individual cell value is updated in its record stored in the appropriate Cell Repository Table. This is illustrated in algorithm outlined in Fig. 17. As an example of the algorithm outlined in Fig. 17, Fig. 18 highlights the result of updating row "3" in Fig. 5 with the cell values {(Salary, 41000)}. Unlike updating a row of information stored in a database in a conventional manner, when updating a row in a database according to this invention, not all of the cells in a row need be updated. Deleting an Existing Row of Information from a Database When deleting, each individual cell value is deleted from the appropriate Cell Repository Table. This is illustrated in algorithm outlined in Fig. 19. Fig. 20 exemplifies the use of the algorithm outlined Fig. 19 by showing the result of deleting row "2" from the database as outlined in Fig. 5. Performing a Query on Information stored in a Database An advantage of this invention is that it uses conventional database technology to store information. This enables operations that are applicable to information stored in a conventional manner to be applicable to information stored in a manner according to this invention. Consequently, structure query languages such as SQL, indexing systems and reporting tools may be used on database storing information according to this invention. An illustration of this ability is outlined in Fig. 21 which highlights the use of conventional SQL queries on information both represented in the conventional manner and according to this invention. Indexing Information in a Database The generation and maintenance of indexes of cell values stored in a conventional manner are also applicable to cell values stored according to this invention. For example, an index created on the Name field in the Employee Table (Fig. 3), could be created on the string value field in the string Cell Repository Table in Fig. 5. Importantly however, the creation such an index over the string values in the Cell Repository Table in Fig. 5, would have the additional side- effect of indexing non-Name column values as the other string cell values are also stored in the string Cell Repository Table. That is, indexing the value field in the string Cell Repository Table in Fig. 5 not only indexes Name column values, but also City column values as well. Although in some circumstances this additional indexing may not be necessary, this can be overcome by creating an additional Name Cell Repository Table to store only the name string information values. This is illustrated in Fig. 25 for example. Preferred Methods to Organize Information While this invention has been devised to provide efficient management of columns of information, a result is that the retrieval of entire rows of cell values is not as efficient as storing rows of cell values as records in a conventional database. However this may be alleviated by adopting a conventional linked-list approach to storing cell values whereby each cell value additionally stores associative information to link it to the next cell value in a row. Fig. 22 illustrates use of this method to represent the information presented in Fig. 5. However a characteristic of a linked representation is that the deletion of columns of cell values may require the regeneration of existing links between cell values. Suitable algorithms for the addition and update of columns may be as previously mentioned. Suitable algorithms for the addition, update, retrieval and deletion of entire rows of information are standard linked-list algorithms. Record Locking Another advantage provided by this invention is that in a multi-user database environment, individual cell values may be locked during update. The benefit of this is that one or more database users may thus simultaneously update different cell values in the same row. For example, if one user in an organisation wishes to update the cell value that represents the Name column of row #1 in the Employee Table of Fig. 3, while another user, potentially in another part of the organisation, simultaneously wishes to update the cell value that represents the Salary column also in row #1 in the Employee Table (Fig. 3), both updates may occur at the same time. This is contrary to the conventional organisation of information in most database systems where only one user has the ability to update a particular record at any one time. Regenerating of Cell Values in a Database Another aspect of this invention involves the ability for column definition properties to be changed and their corresponding cell values in Cell Repository Tables to be regenerated without affecting the integrity of other row cell values. This has the benefit that as the storage requirements for columns of cell values change over time, the column definition may be updated and its corresponding cell values regenerated without affecting other row cell values. An example of this characteristic becomes apparent when considering transition to the year 2000. By organising information according to this invention, only the year cell values in a Cell Repository Table would need to be regenerated, rather than all of the conventional database table records containing 2-digit year values as in the current crisis situation. (See Fig. 23) Adding new Types of Columns Another advantage of this invention is that just as new columns of information may be added so to may new types of columns may be added. For example, in addition to the ability to add a new column of an existing type to a database representing information according to this invention, See Fig. 7, it is also possible to add new types of Column Definition and Cell Repository Tables to the database so that new types of columns may be added to the information rows. This feature is illustrated in Fig. 24, whereby both a date Column Definition and date Cell Repository Table have been added, allowing date cell values to be stored for employee information rows . Benefits of this Invention This invention is particularly useful in industries where the content and structure of information to be collected, stored, compiled, processed and reported upon is not completely known when a database is to be established. For example, any industry that performs assessments, surveys, makes extensive use of notes, require judgments to be made, quotations, estimates and alike, or where the structure and content of information is volatile, could make extensive use of systems implementing this invention. For example individuals and organizations such as teachers, doctors, lawyers, banks, insurance and marketing companies, and alike where the information and knowledge they collect may change in structure and organization and may significantly do so over time as their information may be tailored efficiently with minimal database system disruption. It will of course be realised that the above has been given only by way of illustrative example of the invention and that all such modifications and variations thereto as would be apparent to persons skilled in the art are deemed to fall within the broad scope and ambit of the invention as is defined in the appended claims. C H A P T E R O N E INTRODUCTION Welcome to CleverX CleverX is a revolutionary new tool for the management of expert knowledge CleverX substantially reduces the time and effort involved in producing repoπs about expert assessments of an object or situation. Almost any task that makes repeated use of expert knowledge can be streamlined by using CleverX Users of CleverX include: • School teachers and university academics who spend many hours marking and providing feedback on large numbers of student assignments • Doctors and other health professionals who produce assessments or repoπs about patients that they deal with. • Engineers, quality managers and auditors who spend large amounts of time conducting inspections, audits or assessments and wπting repoπs about each audit. • Employees in all sons of businesses who spend many hours prepaπng similar or repetitive quotations, proposals, and tender responses • Marketing researchers and pollsters who spend large budgets conducting surve\s and collating the results • Employees in all sons of businesses w ho spend lots of time prepaπng orders • Police and military personnel who spend much time wπting repoπs about cases, events or situations they are involved with In all of these situations, and countless others. CleverX can be used to make verv substantial quality and productivity gains Where to Find Things in this Manual This manual provides instructions on how to work with the CleverX application. It assumes that you are familiar with the Microsoft Windows environment and that you can use applications such as the Windows Explorer. The remainder of this chapter contains information on how to install and remove CleverX. as well as some other house keeping information such as how to contact CleverworX The remainder of this manual covers the following topics CHAPTER 2 - Understanding CleverX Chapter 2 contains an overview of the way CleverX works and how vou can benefit from using CleverX You should read this Chapter to gain a high level understanding of the main concepts associated with CleverX CHAPTER 3 - Your First CleverX Project Chapter 3 is a step-bv-step tutoπal on creating and using a CleverX Project If vou want to get staπed immediately after installing CleverX then you can go straight to Chapter 3 but you may want to return to Chapter 2 after you have finished this tutoπal Installing CleverX You install CleverX onto your computer using a standard setup program This setup program is provided as pan of the CleverX package and is called secup . exe . The setup program installs CleverX. this User ' s Guide, and some sample CleverX projects into the director, that you specify Release Notes The READ.VE file that is pan of the CleverX package contains information vou need to know about the cuπcnt release of CleverX You should read this file before installing CleverX Hardware and Software Requirements To run CleverX sou must have at least the following hardware and software • Λn IBM compatible PC with a 486 processor or higher • Microsoft Windows ^ or Microsoft Windows NT version 3 51 or higher • At least sixteen megao tes of meinorv • Al lease 10 megabvtes of free hard disk space • A mouse, keyboard and VGA screen (or better) Installing the CleverX Internet Package CleverX is distπbuted from the CleverX web site. To Download CleverX from the CleverX Web Site 1 Using your Web browser, go to the CleverX Web site at http7Avww.cleverx.com. 2 Go to the download page. 3 Click on the link for the CleverX distπbution. 4 Save the CleverX package to a directory on your hard dπve Note: Once you nave downloaded the CleverX package, you must run the setup program to install CleverX You cannot run CleverX directly from the Internet download. To Install CleverX from the Internet Package Note: Before installing CleverX, you need to remove any previous versions of CleverX that may be installed on your machine See Removing CleverX, below 1 Close any applications, other than the Windows Explorer, that may be runnιn» on your machine 2 Using the Windows Explorer, go to the directory on your hard dπve that contains the CleverX package. 3 Run setup. exe 4 Follow the instructions on your screen Removing CleverX To Remove CleverX From Your Computer 1 Make sure that CleverX is not running 2 From the Windows Stan menu select Settings then Control Panel 3 In the Control Panel double click Add/Remove Programs 4 Go to the Install/Uninstall tab 5 Select CleverX from the list of programs 6 Click the Add/Remove button 7 Follow the instructions on your screen Document Conventions The following typographic conventions are used in this manual E≠afltpie _*e*criptio«t Delete Words in bold are used to indicate the names of CleverX buttons or menu items File I Save A veπical bar is used to indicate items in a menu hierarchy For example the Save menu item on the File menu. type this Words that you type appear in couπer font "component name " Names vou have given to CleverX components appear in quotes in times font Contacting CleverworX CleverX is produced by CleverworX Inc . Suite 670. I l l North Market Street. San Jose. California. 95113-1101. You can contact CleverworX by phone on (USA) 408- 3676125 The CleverX web site is at httpV/ vvvw cleverx.com E-mail orders can be sent to sajesωc]everx_cqm Support Requests Suppon requests can be sent by e-mail to supports cleverx com or submitted via our web page We are committed to ensuπng that CleverX is a high qualitv product You can assist us to fix any problems that you may have ith CleverX by providing the following information with any suppon request • The CleverX version number (available from the Help I About screen) • The operating system you are using (Windows 95 or NT) and the version number of the operating system • The exact wording of anv messages that CleverX displa ed • A description of what you were doing when the problem occuπed • A step bv step descπption of what we can do to reproduce the problem • Any CleverX project files (.cx) that you may have that will allow us to reproduce the problem. The CleverX log file, which you can find in \Windows\Temp\cx.log on Windows 95 or \WinNT\Temp\cx.log on the NT operating system. Any other software (with versions) you have installed on your computer C H A P T E R T W O UNDERSTANDING CLEVERX The purpose of this chapter is to explain a number of concepts about CleverX that will help you to get the best results from the software, and will make the rest of this manual easier to understand. If you would prefer to start using CleverX immediately, and come back to this chapter later, then you can skip to Chapter 3. which presents a tutoπal introduction to CleverX What CleverX Does CleverX delivers significant quality and productivity gains in knowledge management and knowledge deployment. CleverX can be used to capture, structure, deploy, and maintain expert knowledge in numerous fields including education, health, medicine and business. Examples of expert knowledge includes the feedback that a teacher would give to school or university students about their assignments: information a doctor would wπte in a report about a patient ' s condition, or details associated with quoting a pπce for a job or for an order. In all these areas, and many more. CleverX offers substantial advantages by reducing the time and effoπ involved in performing tasks requiπng e peπ knowledge Efficient Capture of Expert Knowledge CleverX provides a simple yet powerful mechanism for capturing expen knowledge. Until now. the inaior inhibitors to the management of expert knowledge has been the time and cost associated with captuπng. structuπng. analyzing and maintaining that knowledge. CleverX not only captures expert knowledge but also substantially reduces the time of these daily tasks. These savings provide a powerful motivation for experts to use CleverX Powerful Structuring of Expert Knowledge CleverX allows expert knowledge to be structured in a knowledge tree Hierarchical structures allow easy access to and use of the knowledge, as it is required. At the highest level only general information is presented. Users can "dπll down" into the tree as required. This structure amplifies the power of the knowledge and data stored by CleverX Efficient Deployment of Expert Knowledge CleverX allows users to make use of e pen knowledge much more eflicientlv than maπv other systems There are numerous situations where we quickly recognise that certain knowled g e needs to be deployed but we end up using a very inefficient means to carry out the deployment This is the Information Bottleneck CleverX removes this bottleneck One example of the Information Bottleneck occurs when a teacher is marking an essav or an assignment The teacher can very quicklv recognise that a student's work has a particular problem with it. but the teacher will need to spend considerable time lnefficientiv wπting down the same feedback so the student will be able to improve Because otten. manv students make the same mistake, this feedback mav have to be laboπousiv wπttcn down ov er and over again The Information Bottleneck occurs because although the teacher has recognised the problem quicklv it will take time to document the problem in a report bv wπting down the details CleverX removes the Infoπnation Bottleneck by dramatically speeding up the deplovmcnt ot knowledge Ongoing Maintenance of Expert Knowledge One of the major disadvantages of most database and expert systems is that the structure of the information they contain is static and difficult to change. These systems almost always require a user to have some programming skills. This is not the case with CleverX. The structure of a CleverX Project can be very easily changed, even after you have finished using the Project to gather data. This has several important implications: • the expertise captured and used in a given CleverX Project evolves and improves • other people can take advantage of and apply this expertise and thereby improve their own skills and performance, and • there can be much greater uniformity and consistencv in applying available expertise in a particular application area. Standardised Information Used By Many People By captuπng and stπictuπng knowledge in a CleverX Project, it is possible for many different people to apply this knowledge in a similar way For example, if a CleverX Project contains cπteπa for marking student essays, then it is possible to distπbute the project to many different teachers who can then apply the same cπteπa when marking. No Programming Required One of the major advantages of CleverX is that all its benefits can be realised without the need for \ ou to resort to databases, expert systems, computer code or conventional information svstems. Instead. CleverX provides a user fπendly graphical user interface that is as simple to use as standard applications such as word processors or spreadsheets CleverX is not a database, nor an expert svstcm or a word processor, or a spreadsheet, yet at the same time it mav be used to solve, much more easily, problems that are often handled by such tools Imagine there are four overlapping circles of application: one for databases, another for expert svstems a third for spreadsheets and a fourth for word processors If we were to place CleverX in this context it would sit πght at the centre of these overlapping circles w You Use CleverX To understand how CleverX works consider the situation of a teacher marking student essav s Suppose that the teacher wants to provide feedback to students about the structure of their essavs One possible comment about the structure might be }our essav does not include an adequate introduction Your introduction should at least summarise the main arguments that vou are going to use in the bodv oj vour essav Generallv the teacher will hand wπte this comment onto the student ' s paper, or may tvpe the feedback into a report The teacher mav end up wπting or typing this feedback mam times because a lot of students will make the same mistake CleverX pro ides a much quicker wav to give this feedback to students Using the Clever X Assessment Editor shown below the teacher simplv selects the appropnate comment from a set ot disolaved comments or responses that the teacher has previously defined Selecting ,ι response on the Assessment Editor causes CleverX to do sev eral things • CleverX automaticallv inserts the comment into a report that can be giv en to the student CleverX automaticallv updates the student s mark using a score associated with the comment • CleverX can automatically change the set of responses that are available depending on the responses that have been selected so far. So. for example, if a teacher selects a comment that the student ' s spelling is poor, new responses can become available for the teacher to indicate how bad the spelling is The teacher creates, maintains, and structures the available set of responses by editing a CleverX Project. Once the teacher has used CleverX to mark all the assignments for a class, the system can be used to determine student marks based on the selected Responses, pπnt all the student ' s repoπs in vaπous formats, and collate and analyse data about the whole class. Phases Involved In Using CleverX Conceptually there are three phases involved in using CleverX Phase I. You use CleverX to capture knowledge in a CleverX Project Phase II. You use CleverX to complete a task that uses the knowledge in the CleverX Project Phase III. You generate reports and perform analysis based on the data entered in Phase II Phase I - Capturing Knowledge in CleverX Projects Phase I is a preparation phase where you build a knowledge tree that contains the knowledge for use in Phase II. You can think of this preparation phase as similar to setting up the template for a form letter without providing the names and addresses of the people to whom the form letter is to be sent The preparation phase establishes a CleverX template into which specific data can be entered at a later date T is is also similar to creating the formulas in a spreadsheet without actually enteππg specific figures - the formulas are a template that is used for a specific purpose at a later date A very important advantage of CleverX is that it allows knowledge to be easilv captured or changed, at anv time, duπng any of the phases You can add. delete and modify mfoπnation in a Clev erX knowledge tree oven after vou have been using the project For example, building a Clever.X Project might involve generating a set of marking criteria for an essav topic, associating marks with each of the cπteπa. and defining feedback comments that should be given to students for each cπteπa You could then use this Project to mark some assignments (Phase 2) and then discover some additional cπteπa that vou want to use that you did not include in the Project Cle erX allows you to add these criteria and automatically updates anv of the existing assessments that vou have created Phase II - Using Knowledge in a CleverX Project Phase II is where CleverX is used to conduct assessments An Assessment is a single use of the knowledge that is contained within the Project. Examples would include an Assessment for a single student's essay, or an Assessment about the condition of a single patient by a doctor Obviouslv a single CleverX Project can be used to create many Assessments. For example, if you are marking student essavs then it is here that you would use CleverX to choose the different marking cπteπa that apply to each of the student's essavs You would generate an Assessment for each student in the class based on a single common set of marking cπteπa You can think of this step as being similar to generating many different invoices based on single spreadsheet, or creating manv form letters to different people based on a single common template. In the case of CleverX. vou create many new Assessments using the knowledge captured in the Project Phase III - Producing Useful Output Phase III is where CleverX is used to produce additional output and repoπs based on the outcomes of Phase II For example, this is where student marks can be totalled, repoπs giving feedback or comments to the students can be pπnted. and analysis can be performed on the overall performance of the class. This stage is similar to using a spreadsheet package to generate charts or reports based on data entered into the spreadsheet CleverX Components In CleverX you build Projects out of special Cle erX components There are several different types of component, each plavs a role in captuπng. stnictuπng. and deploving the expen knowledge in the Project Some components are used to provide different forms of structure by grouping components, while others allow users to enter data when thev arc using the CleverX Project to create Assessments The illustration below shows the structure of components (a knowledge tree) within a Clever.X Project Each of these components are descπbed in the sections that follow r, gs } Protect -_ Z_ Folder Ξ l^y ' workbook ^ 2 orksheet ' " Response ■ Tx Section " Response • P " Response Components for Structuring Knowledge Some components are used exclusively to structure the knowledge in a CleverX Project. You use these components to build a knowledge tree in which expert knowledge is structured m a hierarchical fashion. These components are • Folders • Workbooks • Worksheets • Sections These components are listed in the order that they would appear in a knowledge tree: Folders contain Workbooks. Workbooks contain Worksheets, and Worksheets contain Sections. Each type of component has its own set of propoeπies You can think of this knowledge tree structure as being similar to that used by the Windows Explorer Windows Folders can be used to contain other Windows Folders, Files, and Shortcuts. Similarly CleverX Folders. Workbooks. Worksheets and Sections can be used to contain other CleverX components Components for Deploying Knowledge Some components are used to enter data that is specific to the individual Assessments that you create using CleverX These components are Responses and Text Boxes. Responses and Text Boxes are contained within either Sections or Worksheets and they are the " leaves ' ' of the knowledge tree CleverX Responses allow you to select the different parts of die knowledge tree that you want to apply to an individual Assessment. By merely pointing and clicking on a particular Response. CleverX will transmit the comment associated with that Response to a repoπ Because each Response can have an associated score, the selected Responses can also be used to deπve numeπc values, such as the mark that the student s work should be given, or a pπce for a quote An example of a Response might be " Your essav has more than 10 spelling errors" This Response could be associated with a feedback comment for the student (e.g " 'Your spelling needs to be improved. Use a dictionary in future '" ) as well as a score (e.g automatically deduct 5 marks if this Response is selected) CleverX Text Boxes allow users to enter text that is specific to an Assessment, as opposed to simply selecting a Response For example, if vou are marking essays then you will probablv need to enter the student ' s name and student number to identify who each of the Assessments applies to You do this using a CleverX Text Box Component Properties Each type of component in CleverX has a set of properties or attributes These properties are used to store the knowledge in the CleverX Project, and the expen who builds the Project provides values for each of the properties. Different properties apply to the different types of components, but the important properties of CleverX components are descπbed below. Component Name A component ' s name is used on the CleverX Explorer and other screens to identify the component. The name of a component should provide a meaningftil indicauon of the role of the component tn the Project. For example a Folder that contains Assessments for student papers on " "Romeo and Juliet" should probably be called "Romeo and Juliet Assessments" Component Comment Clever.X Workbooks. Worksheets. Sections, and Responses can all have comments associated with them The comment provides the detailed expert informauon that is associated with the component. This information can be sent to repoπs generated using the Project to conαuct assessments Component Help Text add components to a CleverX Project you can add Help text to the component to indicate to later users of the Project what you intended the component to be used for. Component Score Scores only apply to Responses, but they provide the ability to calculate some numeπc value for each Assessment based on the Responses that were selected. So. for example, a students mark, or the pπce for a quote could be automaticallv calculated based on the Responses selected for an Assessment Relationships Between Components CleverX includes mechanisms for ensuππg that user-defined relationships between components are automatically maintained. Mandatory Values The simplest relationship is the ability to insist that at least one Response within a Section must be selected before the system will allow a user to finish with an Assessment For example, the creator oi a Clever.X Project for marking essays mav have decided that the user must provide information about whether or not the student s essay was handed in on time or whether the essav was late A section called ' "Due Date " might contain the Responses "On time" and "Late" and CleverX will enforce the tact that one of these must be selected for each Assessment that is created. Hiding Components Another constraint that can be applied to component relationships is to make the display of certain Responses contingent on values selected for other Responses. So. for example, a CleverX Project for marking e ams might contain marking criteria for each and every question in the exam. When a student sits the exam, however, the student may have the choice of answeπng either Question la or Quesuon lb. but does not have to answer both. In t is situation the CleverX Project would be structured to hide all the components that relate to Question la if the student had answered Question lb. Maintaining Consistency When Changes are Made An important feature of CleverX Projects is the way that they accommodate change For example, suppose that midway through marking a set of assignments, you decide that a particular Response needs to be changed. For consistency, you might expect that it would be necessary to go back and alter all the assessments that have been previously made that include the oπgmal response that we propose to change. With CleverX this is not necessary The system automatically, and transparently to the user, updates all the assessments and reports that have been made to accommodate changes to responses, their associated fields and scores. This feature is similar to that found in spreadsheets where, when one changes a number in a column of figures other dependent cells are automaucally recomputed to reflect the change. Generating Reports and Statistics CleverX ' s pπme repoπing capability is to generate individual reports and statistics that relate to each assessment made. Another significant advantage of the CleverX system is that it also has the capability to generate different reports associated with any collection of Assessments or with a whole group or class of assessments. The system makes it very easy to obtain a selection of information that may be used to improve qualit in vaπous ways. For example, when a generated report showing the frequency-of-use of different responses is examined it may show some responses are used much more frequently than others are in conducting a large batch of assessments. This information could then be used to guide improvement strategies and monitor or compare existing assessments with subsequent assessments. C H A P T E R T H R E E YOUR FIRST CLEVERX PROJECT This chapter guides you through the creauon and use of a simple CleverX Project You can benefit from this chapter without reading anything else in the User Manual However, you might find it helpful to return to How You Lse CleverX in CHAPTER to gain an understanding of important concepts underlying CleverX The Project vou will create in this chapter is a small part of a Project that a school teacher might use for marking students' essays The structure of the Project we are going to create is • The Project name is "English Literature" This Project will contain all the assessments for the English Literature class • The Project will contain a Folder that e will call " 'Henry IV" This Folder will hold all the assessments for this text • In the "Henry IV" Folder there will be a Workbook called " "Assignment I" This Workbook will contain all the student assessments for this assignment • The " "Assignment I" Workbook would ordinaπly contain all the assessment cπteπa that are to be used for this assignment For the purposes of building this example we will create onlv simple cπteπa about the presentauon of the essay The presentation cπteπa for this assignment are paπicularlv stπct. and we are going to provide comments and deduct marks if the presentauon of the essay breaks anv of the following rules • The essav must have been handed in on time • The essav must have an introduction that outlines the arguments to be used in the rest of the essav • The student should have made good use of subheadings • The essav must include a Bibliographv and acknowledgment of sources • The spelling must be coπect In addition, if a student makes more than 10 spelling errors, then CleverX will offer the teacher the option of referring the student to remedial spelling lessons. Building Your First Project In this secuon you will build the CleverX Project described above. In later sections of this tutorial you will see how to use the Project to mark some assignments, and then how to generate reports based on this marking. Starting CleverX You can start CleverX using any of the standard methods for starting an application under Windows: • By clicking Start on the Task Bar and then selecting CleverX from the program group that you specified duπng setup or • By using the Windows Explorer to find the CleverX executable file (cle erx . βxe ) in its program group and then double clicking the Clever.X or • By clicking Stan | Run on the Task Bar. typing "cleverx" into the Open text box. and then clicking OK. or • By creating a shoπcut to the CleverX executable and double clicking this. Creating and Opening Projects When CleverX starts, the Welcome screen offers you the choice of opening an existing project or creating a new project. • Selecting the option to create a new project causes CleverX to create a new blank project for you. • Selecting the option to open an existing project causes Clever.X to display a standard Windows "Open File " dialog box. You can then use this dialog to locate and open the CleverX project that vou want To start building >our first CleverX Project, select the New Project option from the Welcome screen. Other ways of creating a new project are: • You can select File ! New from the CleverX menu bar • You can click the New Button on the CleverX Standard toolbar Other ways of opening an existing project are: • You can select File | Open from the CleverX menu bar • You can click the Open Button on the CleverX Standard toolbar CleverX will only allow vou to open a single project at a time If you try to open a project or create a new project while you have another project open, CleverX will close the current project after prompting you to save The CleverX Main Window After vou select the New Project option on the Welcome screen vou will see the screen shown below This screen shows the toolbars and menus that are most often used when creating a CleverX Project The Project Icon The Project Icon represents the new emptv Project that CleverX has created for vou You will see how to give the new Pro|cct a name in a moment The Recycle Bin The Recvcle Bin is the place where ill deleted Clever.X components are kept before vou peπnanentlv delete them bv emptv g the Recycle Bin The Standard Toolbar and Menu Items The Standard Toolbar provides quick access to commonly used CleverX functions as follows. Toolbar Metro Item Function Use the New button or menu item to create fij File I New a new CleverX Project _* 1 Use the Open button or menu item to open File I Open an existing CleverX project tile Use the Save button or menu ttem to save File I Save the urrentiv open Proiect Use the Project Explorer button or menu View I Project Explorer item to bhow hide the Project Explorer window Use the Workbook Browser button or View I Workbook Browser menu item to show hide the Workbook Browser window Use the Project Help button or menu item View I Project Help to the help that vou have supplied for the current project s components The CleverX Knowledge Tree You will use the Knowledge Tree as the main interface for building and maintaining CleverX Projects. The Knowledge Tree allows you to change the structure of the cuπcntly open Project and provides the main window for access to the propeπies of components We will use the Knowledge Tree in this chapter to create the example Project The Tool Pallett You use the CleverX Tool Pallett to tidd components to a Clever.X Project Components are the basic elements that are used to build Projects We will sec examples of how components are used in the rest of this chapter Saving and Naming a New Project Once you have created your new Project you should save the Project to a file. You should save regularly to avoid loosing data in the event of a power failure, or in case your computer crashes for any reason. To Save a New Project 1 Click the Save button on the toolbar, or select File | Save from the menu. If you have not saved this project before then you will see a standard Save As dialog box. 2 Select a Windows folder from the Save In box. or double-click a different Windows folder in the main window. To create a new Windows folder for the document, click Create New Folder button. 3 In the File Name box. type a name for the document. By convention. CleverX files always have a cx extension automatically appended. 4 Click Save. Save vour new project using the file name "" English Literature " Note that once you return to the Project Explorer, the name of your new Pro j ect is set to match the name of the file Adding and Naming Components Now that you have created and named a new Project you can add components into the Project. The final version of the Project we are going to build is shown in the picture below The example project uses all the different tvpes of CleverX components, but the process for adding and naming components is the same regardless of the type of component involved Before vou start to build the example Project read the procedures for adding and naming components beiow To Add A Component to a Project 1 Select the component vou want trom the CleverX Pallette (left-hand vertical column) 2 Drag the component from the Pallette onto the Project Explorer and drop the new component onto an existing component There are some constraints about w ere components can be dropped, and these are explained later in this Guide For the moment vou do not need to worn about these To Rename A Component When a component is added to a Proicct Clever.X gives it a default name .ou will want to give the component a meaningful name 1 Select the component that vou want to rename 2 While the component is selected, πght click on the component A pop-up menu appears. Select Rename 3 A box appears around the name of the component and the text will be highlighted. 4 Enter a new name for the component 5 Press Enter To Build the Example Project Constructing the example Project involves adding and naming several different CleverX components The following iπstrucuons will guide you through doing this Add the "Henry IV" Folder Folder 1 Lse the Folder Button on the Palette to drag and drop a new Folder onto the Button Project Icon (To "drag and droD vou left-click on icon, hold-down, drag the icon and release w en over the icon it is to be attached to - see the Windows He tor more detailed instructions) 2 Rename the new Folder so that it is called Henrv IV"' Add the "Assignment I" Workbook Workbook Button jJ 6 " OW use the WorKsneet Button on the Palette to drag and drop a new Worksheet into me Assignment i Workbook Worksheet _ / Tne assignment I ' Workbook will o p en to show the new Worksneet inside Button . ou wul also see anotner Worksheet called 'Identification ' Ignore this for die moment it will oe explained later in this tutoπal 8 Rename the new Worksheet Due Date 9 Now use the Worksheet Button on the Palette to drag and drop another Worksheet into the Assignment I Workbook 10 A new Worksheet will oc added into the Assignment Workbook above the Due D ue Worksheet 11 Rename the new Worksheet " " Presentation and Structure ' At this point your new Project should look like the illustration below You can now add Sections into the Worksheets to group the individual assessment cπteπa that vou will add later Add Sections for "Essay Structure" and "Spelling" 12 «rr Use the Section Button on the Pallette to drag and drop a Section into the " Presentation and Structure Worksheet Secuon 13 Button The " Presentation and Structure ' Worksheet will open to show the new Section inside 14 Rename the new Section Essav Structure ' 15 Now drag another Section from the Pallett and drop it into the Presentauon and Structure" Worksheet 16 Rename the new Section Spellin ' 17 Now drag another Section from the Pallette and drop it onto the Spelling ' Section 18 A pop-up up menu will appear with the options Before After and Into Select the Into option and a new Section will be added into the Spelling Section The ' Spelling ' Section will open to show the new Section inside 19 Rename this new Section Remedial Spelling 20 Now that we have added all the Sections your new Project should look like the illustration below You can now add each of the indiv ldual assessment cπteπa into the Sections A Response component is used for each assessment cπteπon Adding Responses to the "Due Date" Section r] 21 Use the Response Button on the Pallette to drag and drop a Response into the " Due Date " Worksheet Do this again so that there are two Responses in the Response "Due Date" Worksheet. Button 22 Rename one of the new Responses ' Submitted on time " and rename the other " Submitted late ' Adding Responses to the "Spelling" Section 23 Now add 3 new Responses into the Spellin ' Section 24 Rename these Responses as follows • "No spelling eπors • ' I to It) spelling eπors • "More than 10 spelling errors 25 Add three Responses into the 'Remedial Spelling section 26 Rename these Yes and Warning and "No ' Adding Responses for "Essay Structure ' 27 Now add 3 new Responses into the Essav Structure Section 28 Rename these Responses as follows • "' No Introduction • " No Subheadings ' • " No Bibliograpln or Acknow ledgments Once you have done this you have finished adding components to your new Project and it should look like the picture below To complete building the Project vou need to add comments and scores to the Responses and vou need to set some properties of the new components Working with the Property Editors Each component in a Cle erX Project has a set of Properties In this section vou will see some of the properties of Sections and Responses and will learn how to edit these properties to use several of the more powerful features of CleverX Adding Comments and Scores to a Response Each Response in the sample Project has associated with it some feedback or comment, that the teacher would like to gi e to the student if the Response applies to the student s essav The Response also as associated with it a score that modifies the student s total mark if it is used tor the student s work The table below shows the comments and the scores that sou are going to add to the Responses in this pan of the tutoπal Section and Response Comment Warning If vour spelling does not improve in the near future I will have to consider asking vou to attend extra spelling dπlls No \o comment given To add these comments and scores to each of the Responses we use the CleverX Response Property Editor To Start the Response Property Editor In the Project Explorer use the nght mouse button to click on the Response that vou want to add a comment and score to A pop-up menu will appear with the options Delete Rename Propeπies and Cancel Select Propeπies and the Response ProDeπv Editor will be displaved as shown below To Add a Score to a Response .ou can use the Response Propertv Editor to issociate I score w ith a Response Clev erX <_ in then ltitomaiie ills calculate the student s mark based on the selected Responses 1 In the Response Prope Editor tor the Response go to the General tab 2 In the Weight field enter the score that you want to associate with this Response. You can enter positive or negative numbers, including decimal numbers. 3 Whenever the Response is used in an assessment. CleverX will add the score for the Response onto the total score for the assessment. To Add a Comment to a Response You can use the Response Property Editor to associate a comment with a Response. If the Response is selected for a student ' s essay. CleverX can then automatically send its associated comment to a report on the student ' s work. 1 In the Response Property Editor for the Response go to the Comments tab 2 In the text box enter the comment that you want to associate with this Response. Note that you can copy and paste text from other sources into the Comments text box. For example, to build the example Project you may want to copy and paste the comments from the table above. Note that you can also add comments to Sections. Worksheets, and Workbooks although this functionality is not used in the example Project Adding Comments and Scores To The Example Project Now use the information in the table above to add comments and scores to each of the Responses in the Example Project. For each Response you 1 Start the Response Property Editor for the Response 2 Add the Score 3 Add the Comment 4 Click Finish Selecting a Response by Default When you are conducting an Assessment using CleverX there may be some Responses that vou want to select by default for each student. For the example Project, if most students make between l and 10 spelling eπors. then you ma want the " 1 to 10 spelling errors " Response in the " "Spelling" Worksheet selected bv default. This will mean that when you are creating Assessments you will only have to change the selected "Spelling " Response for the essays that have no or many spelling eπors. To Select a Response By Default 1 Start the Response Propertv Editor for the Response you want to select default. 2 In the General tab select the Select bv Default check box 3 Click Finished In your example Project mark the " 1 to 10 spelling errors" Response as selected by default. Single and Multiple Choice Sections The "Spelling" Section of the example Project contains a set of Responses that are mutually exclusive - it only makes sense to have one of these Responses selected at any one time because only one of the Responses can apply to any single essay. On the other hand, any number of the Responses in the "Essay Structure" Section could be selected for the same essay. CleverX automates this concept by allowing you to set a property on a Section saying whether one or many Responses can be selected in the Section. By default, when CleverX creates a new Secuon. only one Response in that Section can be selected. To change this property you use the Section Property Editor To Start the Section Property Editor 1 In the Project Explorer use the πght mouse button to click on the Section that vou want to change the properties for 2 A pop-up menu will appear with the options Delete, Properties, and Cancel. Select Properties and the Secuon Property Editor will be displayed. The Section Property Editor is very similar in appearance to the Response Property Editor. To Set The Number of Responses that can be Selected in a Section 1 Start the Secuon Property Editor for the Section you want. 2 In the General tab select the desired radio button under the Response Exclusivity heading You will want to set the "Essay Structure" Section of the example Project to allow multiple components to be selected. Do this now Hiding Components In the example Project the Section " Remedial Spelling " only needs to be visible if the student ' s essay contains more than 10 spelling eπors. If the student made 10 errors or less then the teacher does not want to be bothered by seeing these components on the screen If the student ' s essay contained more than 10 eπors. however, the teacher wants to be reminded about the option to send the student to remedial classes Clever.X makes this possible by allowing you to hide components depending on the v lues selected for other Responses There are two ways this can happen • You can hide a set of components whenever a particular response is selected • You can hide a set of components w henever a particular response is not selected In the example Project you can use cither approach to hide the "Remedial Spelling" section The first approach is illustrated below for the example Project. The general procedure for hiding a component is as follows- To Hide A Component 1 Stan the Response Property Editor for the Response that you want to use to hide other components 2 Aπange your CleverX windows so that you can see both the Response Property Editor and the Project Explorer 3 In the Response Propertv Editor go to the Excludes tab 4 From the Project Explorer drag the component that you want to hide onto the Response Propertv Editor and drop it into one of die Object Windows If you want the component to be hidden when the Response is selected then use the left hand Object window. If you want the component to be hidden when the Response is not selected then use the πght hand Object window 5 Click Finished Hiding the "Remedial Tuition" Section The "Remedial Tuition ' Section should be hidden if either of the Responses 'No spelling eπors or " l to 10 spelling eπors ' are selected To do this you set both of these components to hide the 'Remedial Tuition ' Section if they are selected. 1 Stan the Response Property Editor for the 'No spelling errors" Response 2 Aπange vour CleverX windows so that you can see both the Response Property Editor and the Knowledge Tree 3 In the Response Propertv Editor go to the Hides tab 4 In the Knowledge Tree select the "Remedial Spelling " component. 5 In the Response Property Editor click the Add button. The Response Property Editor window should then appear as above. 6 Click Finished on the Response Property Editor. 7 Repeat this process for the " 1 to 10 spelling errors" Response In the next part of this tutoπal you will start using the example Project to mark some essays, and then you will see how CleverX hides the "Remedial Tuition" component when creating Assessments. Working with Your New Project The first part of this chapter has shown how to build a CleverX Project. This section now shows you ho to use this Project to simplify the marking of student ' s essavs. When vou use a CleverX Project you create Assessments. An assessment is simply the result of selecting Project Responses to create a singie report. Try using CleverX to mark a single student s essav As you mark a large pile of essays vou create one Assessment for each essay When vou created the example project you did all of the work using the Project Explorer and the Property Editors. When you are using a Project you do most of your work in the Workbook Browser and Assessment Editor. These windows are explained in the sections that follow The CleverX Workbook Browser The Workbook Browser allows you to work with Assessments for a singie Workbook. You can see a list of all the Assessments you have created using the Workbook, create new Assessments, open existing Assessments and delete Assessments. The example Project contains one Workbook for ""Assignment 1 " In this pan of the tutorial you will use this Workbook to mark some hypothetical essays. To Start the Workbook Browser 1 In the Project Explorer select the Workbook that you want to work with - " Assignment l " bv clicking on it The Workbook Browser Button on the Toolbar becomes active w hen a Workbook is selected Click the Workbook Browser Button orkbook The CleverX Workbook Browser is displayed. Browser Button After you have opened the Workbook Browser for "Assignment 1" you will see the screen below New Assessment Open Assessment Delete Assessment Button Button Button The Assessment List Window The Assessment List Window shows a list of all the Assessments that exist for this Workbook For the example Project this window will list all the students for which an Assessment has been created When vou first open the Workbook Browser this list will be emptv because vou have not vet created anv Assessments for ' Assignment I" The "View By" Drop Down List You use this pull down menu to choose how the assessments in the Assessment List window are identified For the example Project vou can identitv student assessments using anv of the following • The student s lull name • The students first name onlv • The student last name onlv • The student s student number The Workbook Browser Buttons The Workbook Browser has buttons that allow you to work with Assessments as follows- Button Function Use the New button to create a new Assessment using the current Workbook Use the Open button to open the Assessment that is currently selected in the βpen Assessment List Window 1 X Use the Delete button to delete the Assessment that is currently selected in the i fietetβ Assessment List Window The CleverX Assessment Editor The CleverX Assessment Editor is the screen in which you can enter data for a particular Assessment This screen allows you to select the Responses that apply to an Assessment and to enter data into Text Boxes for the Assessment The Assessment Editor displays a single Worksheet at a ume. and you can select different Worksheets using buttons on the Assessment Editor Toolbar Starting the Assessment Editor To start the Assessment Editor by creating a new Assessment, click the New Button on the Workbook Browser For the ' Assignment I" Workbook you will see the CleverX Assessment Editor shown below This Assessment Editor is displaying the Identification Worksheet that CleverX adds to each Workbook when the Workbook is created The Identification Worksheet allows you to enter information that identifies the new Assessment. CleverX provides three text boxes named "Student Number". "First Name", and "Last Name ' If vou want to. you can change the names of these text boxes by renaming them in the Knowledge Tree (see To Rename A Component earlier in this chapter), but the values in these three text boxes are always used to identify the Assessment Assessment Editor The Assessment Editor Toolbar Buttons The Assessment Editor has buttons that allow vou to work with assessments as follows Button Function Use the Worksheet droD down menu to Ji certification s le t the Worksheet that sou want to disϋiav ' s r he Previous outt n to τiove to the ore', ions Workslieet i sc ihe Next milton l move to ihe next W rksheet t buuon to print the Note that ill the Worksheets ook arc .lined The Finish Button Once you have completed an Assessment you close that Assessment by using the Finish button on bottom πght hand comer of the Assessment Editor. CleverX automatically saves the Assessment for you. Text Boxes, Sections, and Responses The Assessment Editor displays the names of the Sections. Responses, and Text Boxes that are contained within the Worksheet that you are currently working with Sections are displaved as bold headings: Responses are labelled checkboxes; and Text Boxes are displaved as labelled text entry fields. Moving Between Worksheets The Assessment Editor displays a single Worksheet at a time To move to a different Worksheet vou can either Use the Previous and Next Buttons on the Assessment Editor Toolbar Or • Select the Worksheet you want to move to from the drop down menu on the Assessment Editor Toolbar Move to the "Presentauon and Structure" Worksheet by clicking on the Worksheet drop down menu and selecting the "Presentation and Structure" Worksheet. The Assessment Editor will then display the Worksheet shown below Assessment Editor Button The Split Screen Control The Assessment Editor has a Split Screen that allows vou to view the CleverX Repoπ for the Assessment as vou work To view the CleverX Repoπ on the Assessment Editor 1 Move the cursor over the Split Screen Control until the pointer changes to the « • + Split Screen Cursor (see right) Split Screen 2 Double click and the window will divide to reveal the CleverX Rcpoπ as seen Cursor below ou mav have to resize the Assessment Editor window to achieve the window propoπions that vou want You can change the amount of the Assessment Editor screen that is devoted to the Rcpoπ bv using the Split Screen Cursor to drag the Split Screen control to the left or right Conducting An Assessment Completing an Assessment w ith Clev erX is the simplest pan of using the s stem All vou do is select ihe Responses that applv to the Assessment arc creating, and enter data into the Text Boxes lor the Assessment To Select A Response 1 Lse ihe lett mouse button lo click on the Response Name or the Check Box oeside the Response 2 Selected Responses appeal ticked gv' 3 Unselected responses are blank. To Enter Data into a Text Box 1 Left-click in the Text Box to put the cursor into the Text Box. 2 Type the text you want. Creating Example Assessments Once you have staπed the Assessment Editor, you can enter data for the Assessment that you are creating. For the purposes of the tutoπal. you can enter data for an assessment as descπbed below. If you have the Split Screen open to reveal the CleverX Repoπ then you will see this repoπ update dynamically as you enter data into the Assessment Editor. Assessment for Fred Smith The essay submitted bv Fred Smith had the following characteπstics: • There was no introduction • There was no use of subheadings • There were more than 10 spelling eπors • You have decided to give the student a warning that he may be sent to remedial spelling classes • The essay was late The following procedure explains how to create a CleverX Assessment to reflect these characteπstics. 1 Move back to the "Identification " Worksheet using the Worksheet drop down menu. 2 In the "Student Number " Text Box enter 11111 3 In the ' First Name " Text Box enter Fred 4 In the " Last Name ' Text Box enter Smith 5 Move to the "Due Date ' Worksheet by using the Next Button or by selecting " Due Date " from the drop down menu on the Assessment Editor Toolbar. 6 Select the "Submitted Late " Response. 7 Move to the " Presentation and Structure" Worksheet by using the Next Button or by selecting "Presentation and Structure " from the drop down menu on the Assessment Editor Toolbar 8 Select the Responses for "No Introduction" and "No Subheadings " in the "Essav Structure Section 9 Select the Response for "More than 10 spelling errors" in the Spelling Section. Note that the Response " 1 to 10 spelling errors" becomes unselected automatically and that the Secuon "Remedial Spelling" appears automatically. 10 In the ''Remedial Spelling" Secuon select the "Warning" Response. 11 You have now finished creating the Assessment for Fred Smith so click on the Close Button on the top πght hand corner of the Assessment Editor 12 The Assessment Editor will close and you will be able to see the new Assessment for Fred Smith in the Worksheet Browser. CleverX Reports CleverX allows you to view and pπnt repoπs for the Assessments that you create You can customise these repoπs by • selecting which CleverX components are to be included in the repoπ • selecting hich repoπ format is to be used to displav or pπnt the repoπ This section shows you ho to work with CleverX Repoπs. Printing CleverX Reports If you have the CleverX Assessment Editor open for an Assessment, you can pπnt the repoπ for that assessment, either to a pπnter or to a file. To Print A Report to a Printer 1 Open the Assessment Editor for the assessment that you want to pπnt 2 From the Assessment Editor Toolbar select the Pπnt button. , . . , _ . Pπnt Button 3 To pπnt the repoπ to a pπnter. make sure that the Print to File check box is not checked 4 Make sure that vour pπnter Properties are set correctly 5 Select the number of copies that you want to pπnt 6 Click OK CleverX also allows vou to pπnt rcpoπs to a file in Rich Text Format Rich Text Format can be read bv most word processors and so this gives you a wav to further edit and foπnat your rcpoπs after CleverX has generated them To Print a Report To A File 1 Go to the Assessment Editor for the assessment that you want to pπnt 2 From the Assessment Editor Toolbar select the Pπnt button 3 Select the Print to File check box 4 Click OK 5 In the Save As... window select a file name and folder for the new file 6 Click Save Changing the Selected Report Format The Assessment Editor Split Screen has a drop down menu in the toolbar that allows vou to select the format ot the repoπ to use when displaving and pπnting the repoπ This menu is shown below To change the selected report format, click on this drop down menu and select a report tormat The split screen window will be automatically updated with the new selection Repoπ Selection Drop Down Vlenu The CleverX Report Manager Bv default CleverX repoπs contain all the information that is available for the current Assessment T is information includes • A title based on the Workbook name and the values m the Text Boxes on the Identification Worksheet • The Workbook name uid anv comments that have been entered lor the Workbook • The names of all the Worksheets and any comments that have been entered for the Worksheets • The names of all the Sections and any comments that have been entered for the Sections • The names of all the selected Responses, any comments that have been entered for the selected Responses, and the score associated with anv selected Response • The names of all the Text Boxes and any text that has been entered into the Text Boxes • The total score for the Assessment You can customise a CleverX Report to remove any of these pieces of information by using the CleverX Report Manager and the CleverX Report Definition Property Editor Starting The Report Manager You start the Report Manager bv selecting Reports | Report Manager from the CleverX main menu The Report Manager screen is shown below The Repoπ Manager includes a list box on the πght hand side that shows all the Report Dentations that arc cuπcntiv in the svstem A Repoπ Definition specifies what information is included in a report, as well as the text styles that should be used m the report. The Report Manager displays a preview of the selected Report Definition and provides buttons to create New Report Definitions. Open the selected Report Definiuon and Delete a Report Definition The New and Delete buttons have been disabled for the cuπent release of CleverX and will be made available in a subsequent release. To customise a particular Repoπ Definition vou select the name of the Repoπ Definition and click the Open button on the Repoπ Manager When you do this the Repoπ Definition Property Editor is displaved The Report Definition Property Editor The Report Definition Propertv Editor allows vou to customise the properties of a Repoπ Definition When vou change a Repoπ Definition in its Propertv Editor the changes apolv to e erv Assessment that uses that Repoπ Definition The Repoπ Definition Propertv Editor is shown in the screen below -riptiαt J Cαmp__ents.| Report: Naeβe. j Classic Reoort Report: TSesFomtaK Classic Report Title πrwsh The Description Tab The DescriDtion Tab on the Rcpoπ Definition Propertv Editor shows the name of the Report Definition and the stvlc ot the text that will be used for the title of the rcpoπ At present there is no means of changing the title, however vou can rename the Repoπ Definition if vou wish The Components Tab The Components Tab on the Report Definition Propertv Editor allows vou to select what information is sent to the CleverX Reports that arc based on this Report Definition The Components Tab is sho n below _0 Descuptβn Cβ otmβnfe j imciucfel- .Repwf > v P Vo*boofc Comment? P Wofotwer awβs P AfottwheβtCoπroeflt* P Section Msmes P Secrøn Coroner*; P Hβsoonsβ Hames P Rasconse Comment* i Besαeifti* Scores P fe*r few Wanes <zs P τ «<t &ox Zaacerr- P Tntef3<aas Ftrasfc To remove pieces of information from this Reooπ Definition SIIΠDIV clear the check box for the iruormauon vou want <o c For example if sou onlv Λ ant the comments for a Response to apυc ir iien the Response ts selected and vou do not want the Response name or score 'hen z ir the check boxes marked ResDonse Names and Response Scores

Claims: THE CLAIMS DEFINING THIS INVENTION ARE AS FOLLOWS :- 1. A method of retrievably storing in a computer database, aggregates each consisting of related titled information, the method including: - storing each title as a conventional record in a conventional database so that titles can be efficiently added, moved or removed as conventional records; providing further database means in which individually titled information of an aggregate may be stored as a conventional record in a further conventional database, and operatively associating each individually titled information with its title and aggregate whereby each aggregate may be stored, removed, updated or queried. 2. A method as claimed in claim 1 and wherein the aggregates are conceptually organised into rows of aggregates forming columns of related titled information as per a conventional database and wherein said conventional record is of the type in which information in cells containing values is organised into rows of records and columns representing similar types of cell values. 3. A method as claimed in claim 2, wherein said information for each of the columns includes a column' s name and any defining characteristic of the column. 4. A method as claimed in any one of the preceding claims, wherein said information for at least a plurality of said column definitions is stored in a separate database. 5. A method as claimed in claim 4, wherein operative association of said field definitions is provided by linking. 6. A method as claimed in claim 4, wherein operative association of cell values is provided by additionally storing a reference to the appropriate column definition along with the respective row for the cell value. 7. A method as claimed in claim 4, wherein operative association each cell value with its column is achieved through the use of conventional database foreign keys. 8. A method as claimed in any one of the preceding claims, wherein: - said conventional database table is established as a Column Definition Table and stores the defining characteristics of a column including a column' s name and other associated information pertaining to the definition of a column; said further conventional database table is established as a Cell Repository Table storing a column of cell values and a column of associated row values; association of individual aggregate information with its title and aggregate is achieved by associating individual cell values stored in a Cell Repository Table with their respective row and column values from the Column Definition Table. 9. A method as claimed in claim 8, wherein said Cell Repository Table stores a relatively small number of related cell values, or columns of cells values of the same type. 10. A method of storing information in conventional databases, the method including: - storing each column definition as a conventional record in a conventional database so that column definitions can be efficiently added, moved or removed as conventional records; providing further database means in which cell values of a row are stored as separate records, and associating each cell value with its column and row. 11. A method of storing in conventional databases information organised into rows and columns as per a conventional database, the method including: - storing each column definition as a conventional record in a conventional database so that column definitions can be efficiently added, moved or removed as conventional records; providing further database means in which cell values of a record are stored as separate records, and associating each cell value with its column. 12. A database structure including:- a conventional database table established as a Column Definition Table for storing the defining characteristics of a column including a column's name and other associated information pertaining to the definition of a column; a further conventional database table established as a Cell Repository Table storing a column of cell values and a column of associated row values, and associating means for association individual cell values stored in a Cell Repository Table with their r espective row and column values from the Column Definition Table.

Inventors: OLIVER BRIAN KEITH, OLIVER, BRIAN, KEITH
Applicants: CLEVERWORX INC, OLIVER BRIAN KEITH, CLEVERWORX INC., OLIVER, BRIAN, KEITH
Application year: 1998
Main classification: G06F17
IPC codes: G06F17