WO2001097075A2 - A method and system for a relational data model for integrated management and analysis of generalized n-dimensional tabular data with multilingual support - Google Patents

A method and system for a relational data model for integrated management and analysis of generalized n-dimensional tabular data with multilingual support Download PDF

Info

Publication number
WO2001097075A2
WO2001097075A2 PCT/US2001/019085 US0119085W WO0197075A2 WO 2001097075 A2 WO2001097075 A2 WO 2001097075A2 US 0119085 W US0119085 W US 0119085W WO 0197075 A2 WO0197075 A2 WO 0197075A2
Authority
WO
WIPO (PCT)
Prior art keywords
multiplicity
identifiers
parameter
value
language
Prior art date
Application number
PCT/US2001/019085
Other languages
French (fr)
Other versions
WO2001097075A3 (en
Inventor
Robert Bourdeau
Sri Vinayagamoorthy
Original Assignee
The Trustees Of Columbia University In The City Of New York
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by The Trustees Of Columbia University In The City Of New York filed Critical The Trustees Of Columbia University In The City Of New York
Priority to AU2001268415A priority Critical patent/AU2001268415A1/en
Publication of WO2001097075A2 publication Critical patent/WO2001097075A2/en
Publication of WO2001097075A3 publication Critical patent/WO2001097075A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Definitions

  • This invention relates in general to the field of database system design. More particularly, the invention relates to a database system for managing heterogeneous sets of multi-lingual tabular, multidimensional data.
  • a database system stores data in tables. Each table includes many rows, called records, and one of more fields or columns. Each column is associated with a separate index. For example, a table containing data on population includes a set of population records. Each row, or record, contains information regarding the population statistic.
  • the population record can include multiple indexes, for example, country and date. The country column can contain a name of the country from which the population statistic was taken and the date column can contain a date when the population statistic was taken.
  • An algorithm can be designed to search a database based on the indexes of the database or the data contained within the database. For example, an algorithm can search a population database looking for the countries that had populations over one hundred thousand in the years 1970 and 1971. However, that algorithm is only useful for that database as it is currently configured. If the database is changed and new indexes are added, the algorithm would no longer function. For example, if a column for continent was added to the database, the algorithm would no longer be valid.
  • a database system for managing heterogeneous collections of multidimensional parameter and definitional items regarding the structure and values of those parameters.
  • the database system includes at least one first parameter value table having a multiplicity of parameter value identifiers each corresponding to a respective data record and a multiplicity of object of analysis identifiers each corresponding to a respective data record.
  • the database system further includes a collection table having a multiplicity of collection identifiers, and a parameter table having a multiplicity of parameter identifiers each associated with a respective one of the collection identifiers of the collection table.
  • the database system also includes a dimension role table having a multiplicity of role identifiers each associated with a respective dimension identifier and a respective one of the parameter identifiers of the parameter table, an obj ect of analysis table having a multiplicity of object of analysis identifiers of the at least one parameter value table, each object of analysis identifiers being associated with a respective one of the dimension identifiers of the dimension role table, and a record index part table having a multiplicity of record identifiers each associated with a respective one of the parameter identifiers of the parameter table, a respective one of the role identifiers of the dimension role table, and a respective one of the object of analysis identifiers of the object of analysis table.
  • the database system further includes a record table having a multiplicity of parameter value identifiers of the at least one parameter value table, each parameter value identifier being associated with a respective one of the record identifiers of the record index part table.
  • a method for creating heterogeneous collections of multidimensional parameter and definitional items regarding the structure and values of those parameters in a database system includes creating at least one first parameter value table having a multiplicity of parameter value identifiers each corresponding to a respective data record and a multiplicity of object of analysis identifiers each corresponding to a respective data record.
  • the method further includes creating a collection table having a multiplicity of collection identifiers and creating a parameter table having a multiplicity of parameter identifiers each associated with a respective one of the collection identifiers of the collection table.
  • the method also includes creating a dimension role table having a multiplicity of role identifiers each associated with a respective dimension identifier and a respective one of the parameter identifiers of the parameter table, and creating an object of analysis table having a multiplicity of object of analysis identifiers of the at least one parameter value table, each object of analysis identifiers being associated with a respective one of the dimension identifiers of the dimension role table.
  • the method further includes creating a record index part table having a multiplicity of record identifiers each associated with a respective one of the parameter identifiers of the parameter table, a respective one of the role identifiers of the dimension role table, and a respective one of the object of analysis identifiers of the object of analysis table, and creating a record table having a multiplicity of parameter value identifiers of the at least one parameter value table, each parameter value identifier being associated with a respective one of the record identifiers of the record index part table.
  • a method for building a database system with heterogeneous collections of multidimensional parameter and definitional items regarding the structure and values of those parameters in a database system includes building at least one table to accommodate a set of data, loading the set of data into the at least one table, and defining a collection in the database system for the set of data.
  • the method further includes defining a parameter in the database system for each parameter that exists within the set of data, defining a dimension in the database system for each dimension that exists within the set of data and does not exist within the database system, and defining at least one role in the database system for each dimension that exists within the set of data.
  • the method also includes loading an object of analysis values into the database system for each value of a dimension within the set of data, each of the object of analysis being one of a date value and a keyword value, and loading a parameter value in the database system for each value of a parameter within the set of data, each of the parameter values being one of a date value, a number value, a keyword value, and a note value.
  • FIG. 1A is a block diagram of a database system in accordance with the present invention.
  • FIG. IB is a block diagram of a database system in accordance with the present invention.
  • FIG. 2 is a diagram of tables of a portion of the DBS schema configured for managing heterogeneous collections of multidimensional parameters and definitional items regarding the structure and values of those parameters in accordance with the present invention
  • FIG. 3 is a diagram of tables of a portion of the DBS schema configured for use in relation with a collection in accordance with the present invention
  • FIG. 4 is a diagram of tables of a portion of the DBS schema configured for use in relation with a parameter in accordance with the present invention
  • FIGS. 5 is a diagram of tables of a portion of the DBS schema configured for use in relation with a dimension and a dimension role in accordance with the present invention
  • FIG. 6 is a diagram of tables of a portion of the DBS schema configured for use in relation with a record in accordance with the present invention
  • FIG. 7 is a diagram of tables of a portion of the DBS schema configured for use with a keyword in accordance with the present invention
  • FIG. 8 is a diagram of tables of a portion of the DBS schema configured for storing a date value in accordance with the present invention
  • FIG. 9 is a diagram of tables of a portion of the DBS schema configured for use in relation with storing a number in accordance with the present invention
  • FIG. 10 is a diagram of tables of a portion of the DBS schema configured for use in relation with a note value in accordance with the present invention.
  • FIG. 11 is a flow chart describing the loading process for the DBS in accordance with the present invention.
  • FIG. 1A illustrates a system 100 configured to run a database system.
  • a server 110 including a central processing unit 112, a data storage element 114, and a memory 116 is provided.
  • the server 110 can be a Sun Ultra 450.
  • the central processing unit 112 executes an operating system and database software.
  • the central processing unit 112 executes the Sun Solaris 8 operating system.
  • the central processing unit 112 executes the Oracle 8i, version 8.1.7 database software.
  • the information stored in the database is stored in the data storage unit 114, such as a hard disk drive.
  • FIG. IB illustrates a system 150 configured to run a database system.
  • a server 160, a mass storage device 170, and a backup system 180 are provided.
  • the server 160 including a cenfral processing unit 162, a data storage element 164, a memory 166, and a mass storage interface 128 is provided.
  • the server 160 can be a Sun Ultra 4500.
  • the central processing unit 162 executes an operating system and database software.
  • the cenfral processing unit 162 executes the Sun Solaris 8 operating system.
  • the cenfral processing unit 162 executes the Oracle 8i, version 8.1.7 database software.
  • the database information is stored in the mass storage unit 170, such as a hard disk drive.
  • the mass storage system 170 is a Boxhill RAH) system that implements RAID 5.
  • the backup system 180 is a Storage Tech Timberwolf system, connected to the mass storage device 170 through a SCSI interface
  • FIG. 2 illustrates a portion of the DBS schema 200 configured for managing heterogeneous collections of multidimensional parameters and definitional items regarding the structure and values of those parameters.
  • the DBS schema of FIG. 2 includes 10 tables: a collection table 202, a parameter table 204, a dimension role table 206, a record index part table 208, an object of analysis table 210, a record table 212, a keyword value table 214, a date value table 216, a number value table 218, and a note value table 220.
  • the collection table 202 contains the following columns: collection identifier, collection metadata identifier, and collection universal resource locator (URL).
  • a table in a DBS typically uses one or more columns to uniquely identify a record in the table.
  • a column that uniquely identifies a record in the table is referred to as a primary key. Where two or more columns are used to uniquely identify a record, the columns are referred to as secondary keys, the combination of which form a compound primary key.
  • the value of the primary key can represent a "real-world" value such as a social security number, or the primary key can be a value that is created and used by the application.
  • the collection table 202 uses the values stored in the collection identifier column as the primary key.
  • a table can also contain values in a column that are keys for another table.
  • the values can be the primary key of another table.
  • Such a column is referred to as a foreign primary key.
  • the values stored in the column collection identifier of the collection table 202 are abstract unique identifiers for a particular collection.
  • a collection is a group of multidimensional parameters and definitional items that describe dimensions.
  • the values stored in the column collection identifier of the collection table 202 are foreign keys for many different tables in the DBS.
  • the values stored in the column collection metadata identifier of the collection table 202 are values that can be used as a link to a local metadata catalog for detailed data source documentation.
  • the values stored in the column collection URL of the collection table 202 provide locations where additional reference data documentation is located regarding the associated collection. The URL can reference a location on the Internet, a private Intranet, or the like.
  • the parameter table 204 contains columns: parameter identifier, status identifier, collection identifier, parameter value type, parameter subtype table, and parameter value table.
  • the column parameter identifier contains values which are unique identifiers for parameters. Parameters, also referred to as variables, are names for the data stored within the DBS that is utilized as data. For example, if data corresponding to export/import volume of computer chips between countries was stored in the DBS, the parameter could be volume of computer chips.
  • the values stored in the column parameter identifier act as the primary key for the parameter table 204.
  • the values stored in the column parameter identifier act as foreign keys for many tables within the DBS .
  • the values contained within the column status identifier of the parameter table 204 define the access restrictions for a given parameter.
  • the values contained within the column collection identifier of the parameter table 204 correspond to the values stored in the column collection identifier of the collection table 202 and act as secondary keys for the parameter table 204.
  • the column parameter subtype table of the parameter table 204 contains values which represent the name of the subtype table that contains the data values associated with the parameter represented by the parameter identifier.
  • the column parameter value table of the parameter table 204 contains values which represent the name of the value table that contains the data values associated with the parameter represented by the parameter identifier.
  • the Column parameter value type of the parameter table 204 contains values which represent the subtype discriminator associated with the parameter represented by the parameter identifier.
  • the valid values which can be present in the column parameter value type are "NOTE", “NUM", “DATE” and "KWD”.
  • the dimension role table 206 contains columns: parameter identifier, role identifier, and dimension identifier.
  • the values contained within the column parameter identifier of the dimension role table 206 correspond to the values stored in the column parameter identifier of the parameter table 204 and act as secondary keys for the dimension role table 206.
  • the values contained within the column dimension identifier of the dimension role table 206 are unique identifiers for a particular dimension.
  • a particular dimension is an object that can be used to index the values of a parameter. For example, for data corresponding to export/import volume of computer chips between countries, as described above, one dimension may exist: Country.
  • the values contained within the column role identifier of the dimension role table 206 are unique identifiers for a particular dimension role.
  • a particular dimension role is a descriptive alias for a dimension. For example, for data corresponding to export/import volume of computer chips between countries, as described above, two roles could exist: Country-from and Country-to.
  • the record index part table 208 contains columns: record identifier, object of analysis identifier, parameter identifier, and role identifier.
  • the values contained within the column parameter identifier of the record index part table 208 correspond to the values stored in the column parameter identifier of the parameter table 204 and act as secondary keys for the record index part table 208.
  • the values contained within the column role identifier of the record index part table 208 correspond to the values stored in the column role identifier of the dimension role table 206 and act as secondary keys for the record index part table 208.
  • the values contained within the column record identifier of the record index part table 208 are abstract unique identifiers for parameter value entities.
  • the values contained within the column object of analysis identifier of the record index part table 208 are unique identifiers for a particular object of analysis.
  • a particular object of analysis is an object that is used to index values of a particular parameter.
  • the object of analysis is also part of a dimension. For example, an object of analysis, the United States, is an index of a parameter corresponding to export/import volume of computer chips between countries. The parameter describes something about the object, the United States, and is part of the dimension, Country.
  • An object of analysis belongs to a set of related objects, collectively referred to as a dimension.
  • the object of analysis table 210 contains columns: parameter value identifier, dimension identifier, object type, and spatial data warehouse feature identifier. Each record in the object of analysis table 210 defines a particular object of analysis.
  • the values contained within the column dimension identifier of the object of analysis table 210 correspond to the values stored in the column dimension identifier of the dimension role table 206 and act as secondary keys for the object of analysis table 210.
  • the values stored in the column dimension identifier define the particular dimension to which the associated object of analysis belongs.
  • the values stored in the column parameter value identifier of the object of analysis table 210 act as the primary key for the object of analysis table 210 and correspond to values stored in the column object of analysis identifier of the record index part table 208.
  • the values stored in the column parameter value identifier of the object of analysis table 210 are abstract unique identifiers for parameter value entities.
  • the values stored in the column object type of the object of analysis table 210 are subtype discriminators that describe each parameter value type.
  • the values contained within in the column spatial data warehouse feature identifier of the object of analysis table 210 define the spatial database engine feature identifier corresponding to the particular object of analysis .
  • the record table 212 contains columns: record identifier and parameter value identifier. Each entry in the record table 212 defines a separate record.
  • a record is an abstract relationship between a collection of object of analysis entities and a parameter value.
  • the values contained within the column record identifier of the record table 212 correspond to the values stored in the column record identifier of the record index part table 208 and act as primary keys for the record table 212.
  • the column parameter value identifier of the record table 212 are abstract unique identifiers for the parameter value entities and allow linking of the data stored in the DBS with commercial geographical information systems.
  • the keyword value table 214 contains a column parameter value identifier. The values contained within the column parameter value identifier of the keyword value table 214 are primary keys for the keyword value table 214.
  • the values contained within the column parameter value identifier of the keyword value table 214 correspond to the values stored in the column parameter value identifier of the object of analysis table 210 and the values stored in the column parameter value identifier of the record table 212.
  • the values contained within the column parameter value identifier of the keyword value table 214 that correspond to the values stored in the column parameter value identifier of the record table 212 are parameter entities.
  • the keyword value table 214 maintains the logical mapping between the object of analysis table 210, the record table 212, the keyword definition table 702 (shown in FIG. 7), and the keyword relation table 706 (shown in FIG. 7), because many to many data relationships are not logically valid.
  • the date value table 216 contains columns: parameter value identifier, date value type, date value start, date value end, and date value precision.
  • the values contained within the column parameter value identifier are primary keys for the date value table 216.
  • the values contained within the column parameter value identifier of the date value table 216 correspond to the values stored in the column parameter value identifier of the object of analysis table 210 and the values stored in the column parameter value identifier of the record table 212.
  • the values contained within the column parameter value identifier of the date value table 216 that correspond to the values stored in the column parameter value identifier of the record table 212 are parameter entities.
  • the values stored in the column date value type of the date value table 216 indicate the manner in which the values in the columns date value start and date value end will be interpreted.
  • the acceptable values that can be stored in the column date value type are "RANGE” and "POINT”. If the value stored in the column date value type is "RANGE”, the record in the date value table 216 represents a range of time. If the value stored in the column date value type is "POINT”, the record in the date value table 216 represents a point in time.
  • the values stored in the column date value start of the date value table 216 indicate the start value of a time range or a singular point in time.
  • the value stored in the column date value end of the date value table 216 indicates the end value of the time range if the value in the associated column date value type is "RANGE".
  • the value contained within the column date value precision of the date value table 216 indicate the precision with which the value stored within the columns date value start and date value end will be interpreted.
  • the acceptable values that can be stored in the column date value precision are "YEAR", "MONTH”, “DAY”, and "HOUR".
  • the number value table 218 contains columns: parameter value identifier and number value.
  • the values contained within the column parameter value identifier are primary keys for the keyword value table 218.
  • the values contained within the column parameter value identifier of the keyword value table 218 correspond to the values stored in the column parameter value identifier of the record table 212.
  • the values contained within the column number value of the number value table 218 are numeric quantities associated with the value stored in the parameter value identifier column.
  • the values contained within the column parameter value identifier of the number value table 218 are parameter entities.
  • the note value table 220 contains a column parameter value identifier.
  • the values contained within the column parameter value identifier of the note value table 220 are primary keys for the note value table 220.
  • the values contained within the column parameter value identifier of the note value table 220 correspond to the values stored in the column parameter value identifier of the record table 212.
  • the note value 220 maintains the logical mapping between the record table 212 and a note definition table 1004 (shown in FIG. 10), because many to many data relationships are not logically valid.
  • the values contained within the column parameter value identifier of the note value table 220 are parameter entities.
  • FIG. 3 illustrates a portion 300 of the DBS schema configured for use in relation with a collection.
  • a collection is a group of multidimensional variables and definitional items that describe dimensions.
  • the DBS schema of FIG. 3 includes 5 tables: the collection table 202, a collection definition table 302, a collection annotation table 304, a collection annotation definition table 306, and a language table 308.
  • the language table 308 contains columns: language identifier and language.
  • the values contained within the column language identifier of the language table 308 are an abstract unique identifier for language entities.
  • the values contained within the column language identifier of the language table 308 act as the primary key for the language table 308.
  • the values contained within the column language of the language table 308 are descriptive names of a well-defined written language. In the present exemplary embodiment, values of the column language could be "SPANISH", "ENGLISH”, "FRENCH”, or the like.
  • the collection definition table 302 contains columns: collection identifier, language identifier and collection definition short-name.
  • the values contained within the column collection identifier of the collection definition table 302 correspond to the values stored in the column collection identifier of the collection table 202 and act as secondary keys for the collection definition table 302.
  • the values contained within the column language identifier of the collection definition table 302 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the collection definition table 302.
  • the values contained within the column collection definition short-name are language specific descriptions of the collections associated with collection identifiers.
  • the collection annotation table 304 contains columns: collection annotation identifier and collection identifier.
  • the values contained within the column collection identifier of the collection definition table 304 correspond to the values stored in the column collection identifier of the collection table 202 and act as secondary keys for the collection definition table 304.
  • the values contained within the column collection annotation identifier are absfract unique identifiers for named notes that are associated with a collection entry and act as primary keys for the collection definition table 304.
  • the collection annotation definition table 306 contains columns: language identifier, collection annotation identifier, collection annotation name, and collection annotation value.
  • the values contained within the column language identifier of the collection annotation definition table 306 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the collection annotation definition table 306.
  • the values contained within the column collection annotation identifier of the collection annotation definition table 306 correspond to the values stored in the collection annotation identifier of the collection annotation table 304 and act as secondary keys for the collection annotation definition table 306.
  • the combination of a value contained within the column collection annotation identifier and a value contained within the column language identifier forms a compound primary key which can uniquely index any record in the collection annotation definition table 306.
  • the values contained within the column collection annotation value are language specific notes that are associated with a collection. The language specific notes describe some aspect of the associated collection.
  • the values contained within the column collection annotation name are language specific names for annotations.
  • FIG. 4 illustrates a portion 400 of the DBS schema configured for use in relation with a parameter.
  • the DBS schema of FIG. 4 includes 7 tables: the parameter table 204, a parameter definition table 402, a parameter annotation table 404, a parameter annotation definition table 406, a status table 408, a status definition table 410, and the language table 308.
  • the parameter definition table 402 contains columns: language identifier, parameter identifier, parameter definition short-name, parameter definition long-name, and parameter defimtion.
  • the values contained within the column parameter identifier of the parameter definition table 402 correspond to the values stored in the column parameter identifier of the parameter table 204 and act as secondary keys for the parameter definition table 402.
  • the values contained within the column language identifier of the parameter defimtion table 402 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the parameter definition table 402.
  • the values contained within the column parameter definition short-name of the parameter definition table 402 are language specific short names for the corresponding parameter.
  • the values contained within the column parameter definition long-name of the parameter definition table 402 are language specific long names for the corresponding parameter.
  • the values contained within the column parameter definition of the parameter definition table 402 are language specific definitions of the corresponding parameter entities.
  • the parameter annotation table 404 contains columns: parameter annotation identifier and parameter identifier.
  • the values contained within the column parameter identifier of the parameter annotation table 404 correspond to the values stored in the column parameter identifier of the parameter table 204 and act as primary keys for the parameter annotation table 404.
  • the values contained within the column parameter annotation identifier the parameter annotation table 404 are absfract unique identifiers for named notes that are associated with a parameter.
  • the parameter annotation definition table 406 contains columns: language identifier, parameter annotation identifier, parameter annotation name, and parameter annotation value.
  • the values contained within the column language identifier of the parameter annotation definition table 406 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the parameter annotation definition table 406.
  • the values contained within the column parameter annotation identifier of the parameter annotation definition table 406 correspond to the values stored in the column parameter annotation identifier of the parameter annotation table 404 and act as secondary foreign keys for the collection annotation definition table 406.
  • the values contained within the column parameter annotation name of the parameter annotation definition table 406 are language specific names for annotations.
  • the values contained within the column parameter annotation value of the parameter annotation definition table 406 are language specific notes that are associated with a parameter. The language specific notes describe some aspect of the associated parameter.
  • the status table 408 contains the column status identifier.
  • the values contained within the column status identifier of the status table 408 correspond to the values stored in the column status identifier of the parameter table 204 and act as primary keys for the status table 408.
  • the values contained within the column status identifier define the access restrictions for a given parameter.
  • the status table 408 maintains the logical mapping between the parameter table 204 and the status definition table 410, because many to many data relationships are not logically valid.
  • the status definition table 410 contains columns: status identifier, language identifier, status abbreviations, and status description.
  • the values contained within the column language identifier of the status definition table 410 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the status definition table 410.
  • the values contained within the column status identifier of the status definition table 410 correspond to the values stored in the column status identifier of the parameter table 204 and act as secondary keys for the status definition table 410.
  • the values contained within the column status abbreviations of the status definition table 410 are abbreviated descriptions of the corresponding status.
  • the values contained within the column status description of the status definition table 410 are full descriptions of the corresponding status.
  • FIG. 5 illustrates a portion 500 of the DBS schema configured for use in relation with a dimension and a dimension role.
  • the DBS schema of FIG. 5 includes 6 tables: the dimension role table 206, a dimension table 502, a dimension definition table 504, a role table 506, a role definition table 508, and the language table 308.
  • the dimension table 502 contains columns: dimension identifier and spatial data warehouse layer identifier.
  • the values contained within the column dimension identifier of the dimension table 502 correspond to the values stored in the column dimension identifier of the dimension role table 206 and act as primary keys for the dimension table 502.
  • the values contained within the column spatial data warehouse layer identifier of the dimension table 502 allow linking of the data stored in the DBS with commercial geographical information systems.
  • the dimension definition table 504 contains columns: dimension identifier, language identifier, dimension definition name and dimension definition description.
  • the values contained within the column language identifier of the dimension definition table 504 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the dimension definition table 504.
  • the values contained within the column dimension identifier of the dimension definition table 504 correspond to the values stored in the column dimension identifier of the dimension role table 206 and act as secondary keys for the dimension definition table 504.
  • the values contained within the column dimension definition name of the dimension definition table 504 are language specific names used to reference the corresponding dimensions.
  • the values contained within the column dimension definition description of the dimension definition table 504 are language specific descriptions of the corresponding dimensions.
  • the role table 506 contains a column role identifier.
  • the values contained within the column role identifier of the role table 506 correspond to the values stored in the column role identifier of the dimension role table 206 and act as primary keys for the role table 506.
  • the role table 506 maintains the logical mapping between the dimension role table 206 and the role definition table 508, because many to many data relationships are not logically valid.
  • the role definition table 508 contains columns: role identifier, language identifier, role definition name, and role definition description.
  • the values contained within the column language identifier of the role definition table 508 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the role definition table 508.
  • the values contained within the column role identifier of the role definition table 508 correspond to the values stored in the column role identifier of the dimension role table 206 and act as secondary keys for the role definition table 508.
  • the values contained within the column role definition name of the role definition table 508 are language specific names of the associated roles.
  • the values contained within the column role definition description of the role definition table 508 are language specific definitions of the associated roles.
  • FIG. 6 illustrates a portion 600 of the DBS schema configured for use in relation with a record.
  • the DBS schema of FIG. 6 includes 6 tables: the record index part table 208, the record table 212, a parameter value table 602, a value annotation table 604, a value annotation definition table 606 and the language table 308.
  • the parameter value table 602 contains a column parameter value identifier.
  • the values contained within the column parameter value identifier of the parameter value table 602 correspond to the values stored in the column parameter value identifier of the record table 212 (shown in FIG. 2) and act as primary keys for the parameter value table 602.
  • the values contained within the column parameter value identifier are absfract unique identifiers for parameter value entities.
  • the parameter value table 602 maintains the logical mapping between the record table 212, the object of analysis table 210, the keyword value table 214, the date value table 216, the number value table 218, and the note value table 220 (all shown in FIG. 2), because many to many data relationships are not logically valid.
  • the value annotation table 604 contains columns: value annotation identifier and parameter value identifier.
  • the values contained within the column parameter value identifier of the value annotation table 604 correspond to the values stored in the column parameter value identifier of the record table 212 (shown in FIG. 2) and act as primary keys for the value annotation table 604.
  • the values contained within the column value annotation identifier of the value annotation table 604 are absfract unique identifiers for vale annotation entities.
  • the value annotation definition table 606 contains columns: value annotation identifier, language identifier, value annotation name, and value annotation value.
  • the values contained within the column language identifier of the value annotation definition table 606 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the value annotation definition table 606.
  • the values contained within the column parameter value identifier of the value annotation definition table 606 correspond to the values stored in the column parameter value identifier of the record table 212 (shown in FIG. 2) and act as secondary keys for the value annotation definition table 606.
  • the values contained within the column value annotation name of the value annotation definition table 606 are language specific names for corresponding value annotations.
  • the values contained within the column value annotation value of the value annotation definition table 606 are language specific descriptions of the values.
  • FIG. 7 illustrates a portion 700 of the DBS schema configured for use
  • a keyword can be a general keyword or a spatial keyword. Spatial keywords are geographic entities such as countries, regions, and the like.
  • the DBS schema of FIG. 7 includes 7 tables: the keyword value table 214, the language table 308, a keyword definition table 702, a keyword parameter table 704, a keyword relation table 706, a keyword relation type table 708, and a keyword relation type definition table 710.
  • the keyword definition table 702 contains columns: parameter value identifier, language identifier, keyword definition abbreviations, and keyword definition.
  • the values contained within the column language identifier of the keyword definition table 702 correspond to the values stored in the column language identifier of the language table 308 (shown in FIG. 3) and act as secondary keys for the keyword definition table 702.
  • the values contained within the column parameter value identifier of the keyword definition table 702 correspond to the values stored in the column parameter value identifier of the record table 212 and the values stored in the column parameter value identifier of the object of analysis table 210 (both tables 212 and 210 shown in FIG. 2).
  • the values stored in the column parameter value identifier of the keyword definition table 702 act as secondary keys for the keyword definition table 702.
  • the values contained within the column keyword definition abbreviations of the keyword definition table 702 are language specific short or abbreviated terms to be used in referring to a corresponding keyword.
  • the values contained within the column keyword definition of the keyword definition table 702 are language specific definitions of the associated keyword.
  • the keyword parameter table 704 contains columns: parameter identifier and thesaurus identifier.
  • the values contained within the column parameter identifier of the keyword parameter table 704 correspond to the values stored in the column parameter identifier of the parameter table 204 and act as primary keys for the keyword parameter table 704.
  • the values contained within the column thesaurus identifier of the keyword parameter table 704 define the root keyword of an associated thesaurus.
  • a thesaurus is a group of interrelated keywords that provide information about each other. For example, the root keyword of a thesaurus land use could be land use, and two other keywords that are part of the thesaurus could be agriculture and aquaculture. The keywords agriculture and aquaculture further define land use.
  • the keyword relation table 706 contains columns: parent parameter value identifier, child parameter value identifier, and keyword relation type identifier.
  • the values contained within the column parent parameter value identifier of the keyword relation table 706 correspond to values stored in the column parameter value identifier of the record table 212 (shown in FIG. 2) and the values stored in the column parameter value identifier of the object of analysis table 210 (shown in FIG. 2).
  • the values stored in the column parent parameter value identifier of the keyword relation table 706 act as secondary keys for the keyword relation table 706.
  • the values contained within the column parent parameter value identifier of the keyword relation table 706 define the parameter value that fulfills the role of the parent for the keyword relationship.
  • the keyword land use would fulfill the role of the parent keyword.
  • the values contained within the column child parameter value identifier of the keyword relation table 706 correspond to values stored in the column parameter value identifier of the record table 212 and the values stored in the column parameter value identifier of the object of analysis table 210.
  • the values stored in the column child parameter value identifier of the keyword relation table 706 act as secondary keys for the keyword relation table 706.
  • the values contained within the column child parameter value identifier of the keyword relation table 706 define the parameter value that fulfills the role of the parent for the keyword relationship.
  • the keywords aquaculture and agriculture fulfill the roles of child keywords.
  • the values contained within the column keyword relation type identifier of the keyword relation table 706 are absfract unique identifiers for keyword relation type entities.
  • the keyword relation type table 708 contains a column keyword relation type identifier.
  • the values contained within the column keyword relation type identifier of the keyword relation type table 708 correspond to the values stored in the column keyword relation type identifier of the keyword relation table 706 and act as primary foreign keys for the keyword relation type table 708.
  • the keyword relation type table 708 maintains the logical mapping between the keyword relation table 706 and the keyword relation type definition table 710, because many to many data relationships are not logically valid.
  • the keyword relation type definition table 710 contains columns: keyword relation type identifier, language identifier, keyword relation type abbreviations, and keyword relation type description.
  • the values contained within the column language identifier of the keyword relation type definition table 710 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the keyword relation type definition table 710.
  • the values contained within the column keyword relation type identifier of the keyword relation type definition table 710 correspond to the values stored in the column keyword relation type identifier of the keyword relation table 706 and act as primary foreign keys for the keyword relation type definition table 710.
  • the values contained within the column keyword relation type abbreviations of the keyword relation type definition table 710 are language specific abbreviated terms to be used in referring to corresponding keyword relationship.
  • FIG. 8 illustrates a portion 800 of the DBS schema configured for storing a date value.
  • a date value represents a point in time or a range in time.
  • the DBS schema of FIG. 8 includes 2 tables: the date value table 216 and a date parameter table 802.
  • the date parameter table 802 contains a column parameter identifier.
  • the values contained within the column parameter identifier of the date parameter table 802 correspond to the values stored in the column parameter identifier of the parameter table 204 (shown in FIG. 2) and act as primary foreign keys for the date parameter table 802.
  • the date parameter table 802 maintains the logical mapping of the date parameters of the parameter table 204.
  • FIG. 9 illustrates a portion 900 of the DBS schema configured for use in relation with storing a number. A number represents a numeric value.
  • the number parameter table 902 contains columns: parameter identifier and unit identifier.
  • the values contained within the column parameter identifier of the number parameter table 902 correspond to the values stored in the column parameter identifier of the parameter table 204 (shown in FIG. 2) and act as secondary keys for the number parameter table 902.
  • the values contained within the column unit identifier of the number parameter table 902 are abstract unique identifiers for unit of measure entities.
  • the unit of measure table 904 contains a column unit identifier.
  • the values contained within the column unit identifier of the unit of measure table 904 correspond to the values stored in the column unit identifier of the number parameter table 902 and act as primary keys for the unit of measure table 904.
  • the unit of measure table 904 maintains the logical mapping between the number parameter table 902, the unit of measure definition table 906, and the conversion table 908, because many to many data relationships are not logically valid.
  • the unit of measure definition table 906 contains columns: language identifier, unit identifier, unit definition abbreviation and unit definition description.
  • the values contained within the column language identifier of the unit of measure definition table 906 correspond to the values stored in the column language identifier of the language table 308 and act as secondary foreign keys for the unit of measure definition table 906.
  • the values contained within the column unit identifier of the unit of measure defimtion table 906 correspond to the values stored in the unit identifier of the number parameter table 902 and act as secondary foreign keys for the unit of measure defimtion table 906.
  • the values contained within the column unit definition abbreviation of the unit of measure definition table 906 are language specific abbreviations to be used when referring to corresponding unit of measures.
  • the values contamed within the column unit definition description of the unit of measure definition table 906 are language specific definitions for corresponding units of measure.
  • a unit of measure is an absfract value corresponding to a unit of measure for numeric quantities.
  • the conversion table 908 contains columns: conversion identifier, domain unit identifier, range unit identifier and conversion type.
  • the values contained within the column conversion identifier of the conversion table 908 are absfract unique identifiers for conversion entities.
  • the values contained within the column domain unit identifier of the conversion table 908 are unique identifiers for unit of measure entities acting as the domain of a conversion.
  • the values contained within the column range unit identifier of the conversion table 908 are unique identifiers for unit of measure entities acting as the range of a conversion.
  • the values contained within the column conversion type of the conversion table 908 are subtype discriminators indicating the type of conversion for the associated conversion identifier.
  • the conversion definition table 910 contains columns: conversion identifier, language identifier, and conversion definition description.
  • the values contained within the column language identifier of the conversion definition table 910 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the conversion definition table 910.
  • the values contained within the column conversion identifier of the conversion definition table 910 correspond to the values stored in the column conversion identifier of the conversion table 908 and act as secondary keys for the conversion definition table 910.
  • the values contained within the column conversion definition description of the conversion definition table 910 are language specific descriptions of the associated conversion.
  • the linear conversion table 912 contains columns: conversion identifier, first scalar, and second scalar.
  • a linear conversion is a conversion entity defining a linear transformation.
  • a linear transformation follows a function of the form:
  • Equation (1) The slope is equivalent to a in Equation (1).
  • the values contained within the column second scalar provide the y-axis intercept for a linear conversion.
  • the y-axis intercept is equivalent to b in Equation (1).
  • FIG. 10 illustrates a portion 1000 of the DBS schema configured for use in relation with a note value.
  • a note value is a string of text.
  • the DBS schema of FIG. 10 includes 4 tables: the note value table 220, a note parameter 1002, a note definition table 1004, and the language table 308.
  • the note parameter table 1002 contains a column parameter identifier.
  • the values contained within the column parameter identifier of the note parameter table 1002 correspond to the values stored in the column parameter identifier of the parameter table 204 (shown in FIG. 2) and act as primary foreign keys for the note parameter table 1002.
  • the status table 408 maintains the logical mapping of the note parameters of the parameter table 204.
  • the note definition table 1004 contains columns: parameter value identifier, language identifier, and note definition value.
  • the values contained within the column language identifier of the note definition table 1004 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the note definition table 1004.
  • the values contained within the column parameter value identifier of the note definition table 1004 correspond to the values stored in the column parameter value identifier of the record table 212 (shown in FIG. 2) and act as secondary keys for the note definition table 1004.
  • the values contained within the column note definition value of the note definition table 1004 are language specific text fields representing the note.
  • the DBS system can accommodate different collections of multidimensional datasets whose structures are related but not equivalent. While the data model offers extensive features for analytic processing, loading data into the DBS system is a process that involves load-time integration of the data. Loading a new multidimensional dataset into the DBS system is an exercise in data integration.
  • the loading process 1100 shown in FIG. 11, begins by developing a set of tables that will accommodate the new multidimensional dataset at step 1102. The set of tables should accurately describe the data contained within the new multidimensional dataset. Once the set of tables have been created the data contained within the new multidimensional dataset must be loaded into the set of tables at step 1104.
  • a new collection must be defined for the new data at step 1106.
  • a collection metadata identifier, a collection URL, a language, and a collection definition short name are specified, and the appropriate records are created in the collection table 202 (shown in FIG. 2) , the collection definition table 302, and, if necessary, the language table 308 (both tables 302 and 308 shown in FIG. 3).
  • a record will only be created in the language table 308 if the language of the new collection is not already specified.
  • new units of measure must be added to the DBS if necessary at step 1108.
  • the parameters of the new multidimensional dataset must be studied to determine if any units of measure exist that are not currently defined in the DBS. If any units of measure exist in the new multidimensional dataset that do not exist in the DBS they must be added to the DBS.
  • the unit definition abbreviation and the unit definition description are specified and the appropriate records are created in the unit of measure table 904 and the unit of measure definition table 906 (both tables 904 and 906 shown in FIG. 9).
  • the set of new thesauri corresponding to either parameter values or index values of parameters must be defined at step 1110.
  • the parameters of the new multidimensional dataset should be studied to identify a set of new thesauri if one is needed.
  • the thesaurus identifier specifying the root of the thesaurus and the associated keywords that are not currently specified in the DBS must be defined. If a keyword does not exist in the DBS, the keyword definition abbreviations, the keyword definition, and the language are be specified and the appropriate records are created in the keyword value table 214 (shown in FIG. 2), the keyword definition table 702 (shown in FIG. 7) .
  • the thesaurus is a hierarchical thesaurus
  • the parent parameter value identifier, the child parameter value identifier and the keyword relation type identifier are specified and the appropriate record in the keyword relation table 706 (shown in FIG. 7) is created.
  • the keyword relation type is not defined by the DBS
  • the keyword relation type abbreviations and the keyword relation type description are defined and the appropriate record in the keyword relation type table 708 (shown in FIG. 7) and the keyword relation type definition table 710 (shown in FIG. 7) are created.
  • the parameters of the new multidimensional dataset should be studied to identify the parameters that have to be added to the DBS. Once the parameters that should be added to the DBS are identified, the collection identifier associated with the parameter, the parameter definition short name, the parameter definition long name, the parameter definition, the language, the thesaurus identifier, the parameter value type, the unit definition abbreviation, and the number of indices are specified and the appropriate records are created in the parameter table 204 (shown in FIG. 2), the keyword parameter table 704 (shown in FIG. 2), the parameter definition table 402, the status table 408 and the status definition table 410 (tables 402, 408, and 410 shown in FIG. 4).
  • index value of the new multidimensional dataset an associated dimension and role may have to be created in the DBS at step 1112.
  • the indexes of the new multidimensional dataset should be studied to identify the dimensions and roles that have to be added to the DBS. If a dimension currently exists in the DBS, a new dimension does not have to be added to the DBS, though new roles will have to be created for the existing dimension.
  • the role definition name, the role definition description, the language, the dimension definition name, the dimension definition description, the SPATIAL DATA WAREHOUSE layer identifier, and the collection identifier that the role and dimension are associated with are specified and the appropriate records are created in the role definition table 508, the role table 506 (both tables 506 and 508 shown in FIG. 5) , the dimension role table 206 (shown in FIG. 2), the dimension table 502 and the dimension definition table 504 (both tables 502 and 504 shown in FIG. 5).
  • the role table 506 both tables 506 and 508 shown in FIG. 5
  • the dimension role table 206 shown in FIG. 2
  • the dimension table 502 and the dimension definition table 504 both tables 502 and 504 shown in FIG. 5
  • Each value of each index of the new multidimensional dataset should be studied to identify the object of analysis that should be added to the DBS.
  • the value of the index of the new multidimensional dataset should be either a date value or a keyword value. If the value is a date value, the date value type, the date value start, the date value end, the date value precision, and the dimension identifier, the role identifier and the parameter identifier associated with the date, are specified and the appropriate records are created in object of analysis table 210, the date value table 216, and the record index part table 208 (tables 208, 210, and 216 shown in FIG. 2).
  • the value is a keyword value
  • the keyword definition abbreviations, the keyword definition, and the dimension identifier, the role identifier and the parameter identifier associated with the keyword are specified and the appropriate records are created in object of analysis table 210, the keyword value table 214, the keyword definition table 702 (shown in FIG. 7) and the record index part table 208 (tables 208, 210 and 214 shown in FIG. 2).
  • a parameter value should be created in the DBS at step 1116.
  • the value of the index of the new multidimensional dataset should be either a date value, a keyword value, a number value or a note value.
  • the value is a date value
  • the date value type the date value start, the date value end, the date value precision, and the dimension identifier, the role identifier, the parameter identifier, and the object of analysis identifier, associated with the date
  • the appropriate records are created in parameter value table 602 (shown in FIG. 6), the date value table 216, the date parameter table 802 (shown in FIG. 8), the record table 212 and the record index part table 208 (tables 208, 212, 216 shown in FIG. 2).
  • the value is a keyword value
  • the keyword definition abbreviations, the keyword definition, and the dimension identifier, the role identifier, the object of analysis identifier and the parameter identifier, associated with the keyword are specified and the appropriate records are created in parameter value table 602 (shown in FIG. 6), the keyword value table 214, the keyword definition table 702, the keyword parameter table 704 (tables 702 and 704 shown in FIG. 7), the record table 212 and the record index part table 208 (tables 208, 212, 214 shown in FIG. 2).
  • parameter value table 602 (shown in FIG. 6), the number value table 218, the number parameter table 902 (shown in FIG. 9), the record table 212 and the record index part table 208 (tables 208, 212, 218 shown in FIG. 2).
  • the value is a note value, the note definition value, the language, and the dimension identifier, the role identifier, the object of analysis identifier and the parameter identifier, associated with the note, are specified and the appropriate records are created in parameter value table 602 (shown in FIG.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A database system includes at least one first parameter value table having a multiplicity of parameter value identifiers each corresponding to a respective data record and a multiplicity of object of analysis identifiers each corresponding to the respective data record. The database system further includes a collection table having a multiplicity of collection identifiers, and a parameter table having a multiplicity of parameter identifiers each associated with a respective one of the collection identifiers of the collection table. The database system also includes a dimension role table having a multiplicity of role identifiers each associated with a respective dimension identifier and a respective one of the parameter identifiers of the parameter table, an object of analysis table having a multiplicity of object of analysis identifiers of the at least one parameter value table, each object of analysis identifiers being associated with a respective one of the dimension identifiers of the dimension role table, and a record index part table having a multiplicity of record identifiers each associated with a respective one of the parameter identifiers of the parameter table, a respective one of the role identifiers of the dimension role table, and a respective one of the object of analysis identifiers of the object of analysis table. The database system further includes a record table having a multiplicity of parameter value identifiers of the at least one parameter value table, each parameter value identifier being associated with a respective one of the record identifiers of the record index part table.

Description

A METHOD AND SYSTEM FOR A RELATIONAL DATA MODEL FOR INTEGRATED MANAGEMENT AND ANALYSIS OF GENERALIZED INT- DIMENSIONAL TABULAR DATA WITH MULTILINGUAL SUPPORT
SPECIFICATION
RELATED UNITED STATES APPLICATIONS
This application claims priority based on U.S. provisional Application Serial No. 60/211,718, filed June 15, 2000, which is incorporated by reference in its entirety.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH The invention described herein was made in part under funding in part by a grant from the National Aeronautics and Space Administration, Contract No. NAS5-98162. The United States Government has certain rights under the invention.
FIELD OF THE INVENTION
This invention relates in general to the field of database system design. More particularly, the invention relates to a database system for managing heterogeneous sets of multi-lingual tabular, multidimensional data.
BACKGROUND OF THE INVENTION
A database system (DBS), stores data in tables. Each table includes many rows, called records, and one of more fields or columns. Each column is associated with a separate index. For example, a table containing data on population includes a set of population records. Each row, or record, contains information regarding the population statistic. The population record can include multiple indexes, for example, country and date. The country column can contain a name of the country from which the population statistic was taken and the date column can contain a date when the population statistic was taken.
An algorithm can be designed to search a database based on the indexes of the database or the data contained within the database. For example, an algorithm can search a population database looking for the countries that had populations over one hundred thousand in the years 1970 and 1971. However, that algorithm is only useful for that database as it is currently configured. If the database is changed and new indexes are added, the algorithm would no longer function. For example, if a column for continent was added to the database, the algorithm would no longer be valid.
SUMMARY OF THE INVENTION
In accordance with a first exemplary embodiment of the present invention, there is provided a database system for managing heterogeneous collections of multidimensional parameter and definitional items regarding the structure and values of those parameters. The database system includes at least one first parameter value table having a multiplicity of parameter value identifiers each corresponding to a respective data record and a multiplicity of object of analysis identifiers each corresponding to a respective data record. The database system further includes a collection table having a multiplicity of collection identifiers, and a parameter table having a multiplicity of parameter identifiers each associated with a respective one of the collection identifiers of the collection table. The database system also includes a dimension role table having a multiplicity of role identifiers each associated with a respective dimension identifier and a respective one of the parameter identifiers of the parameter table, an obj ect of analysis table having a multiplicity of object of analysis identifiers of the at least one parameter value table, each object of analysis identifiers being associated with a respective one of the dimension identifiers of the dimension role table, and a record index part table having a multiplicity of record identifiers each associated with a respective one of the parameter identifiers of the parameter table, a respective one of the role identifiers of the dimension role table, and a respective one of the object of analysis identifiers of the object of analysis table. The database system further includes a record table having a multiplicity of parameter value identifiers of the at least one parameter value table, each parameter value identifier being associated with a respective one of the record identifiers of the record index part table. In accordance with a second exemplary embodiment of the present invention, there is provided a method for creating heterogeneous collections of multidimensional parameter and definitional items regarding the structure and values of those parameters in a database system. The method includes creating at least one first parameter value table having a multiplicity of parameter value identifiers each corresponding to a respective data record and a multiplicity of object of analysis identifiers each corresponding to a respective data record. The method further includes creating a collection table having a multiplicity of collection identifiers and creating a parameter table having a multiplicity of parameter identifiers each associated with a respective one of the collection identifiers of the collection table. The method also includes creating a dimension role table having a multiplicity of role identifiers each associated with a respective dimension identifier and a respective one of the parameter identifiers of the parameter table, and creating an object of analysis table having a multiplicity of object of analysis identifiers of the at least one parameter value table, each object of analysis identifiers being associated with a respective one of the dimension identifiers of the dimension role table. The method further includes creating a record index part table having a multiplicity of record identifiers each associated with a respective one of the parameter identifiers of the parameter table, a respective one of the role identifiers of the dimension role table, and a respective one of the object of analysis identifiers of the object of analysis table, and creating a record table having a multiplicity of parameter value identifiers of the at least one parameter value table, each parameter value identifier being associated with a respective one of the record identifiers of the record index part table.
In accordance with a third exemplary embodiment of the present invention, there is provided a method for building a database system with heterogeneous collections of multidimensional parameter and definitional items regarding the structure and values of those parameters in a database system. The method includes building at least one table to accommodate a set of data, loading the set of data into the at least one table, and defining a collection in the database system for the set of data. The method further includes defining a parameter in the database system for each parameter that exists within the set of data, defining a dimension in the database system for each dimension that exists within the set of data and does not exist within the database system, and defining at least one role in the database system for each dimension that exists within the set of data. The method also includes loading an object of analysis values into the database system for each value of a dimension within the set of data, each of the object of analysis being one of a date value and a keyword value, and loading a parameter value in the database system for each value of a parameter within the set of data, each of the parameter values being one of a date value, a number value, a keyword value, and a note value.
BRIEF DESCRIPTION OF THE DRAWINGS For a complete understanding of the present invention and the advantages thereof, reference is now made to the following description taken in conjunction with the accompanying drawings in which like reference numbers indicate like features, components and method steps, and wherein:
FIG. 1A is a block diagram of a database system in accordance with the present invention;
FIG. IB is a block diagram of a database system in accordance with the present invention;
FIG. 2 is a diagram of tables of a portion of the DBS schema configured for managing heterogeneous collections of multidimensional parameters and definitional items regarding the structure and values of those parameters in accordance with the present invention;
FIG. 3 is a diagram of tables of a portion of the DBS schema configured for use in relation with a collection in accordance with the present invention; FIG. 4 is a diagram of tables of a portion of the DBS schema configured for use in relation with a parameter in accordance with the present invention;
FIGS. 5 is a diagram of tables of a portion of the DBS schema configured for use in relation with a dimension and a dimension role in accordance with the present invention; FIG. 6 is a diagram of tables of a portion of the DBS schema configured for use in relation with a record in accordance with the present invention;
FIG. 7 is a diagram of tables of a portion of the DBS schema configured for use with a keyword in accordance with the present invention; FIG. 8 is a diagram of tables of a portion of the DBS schema configured for storing a date value in accordance with the present invention;
FIG. 9 is a diagram of tables of a portion of the DBS schema configured for use in relation with storing a number in accordance with the present invention; FIG. 10 is a diagram of tables of a portion of the DBS schema configured for use in relation with a note value in accordance with the present invention; and
FIG. 11 is a flow chart describing the loading process for the DBS in accordance with the present invention.
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1A illustrates a system 100 configured to run a database system. A server 110 including a central processing unit 112, a data storage element 114, and a memory 116 is provided. In an exemplary embodiment, the server 110 can be a Sun Ultra 450. The central processing unit 112 executes an operating system and database software. In the exemplary embodiment, the central processing unit 112 executes the Sun Solaris 8 operating system. In the exemplary embodiment, the central processing unit 112 executes the Oracle 8i, version 8.1.7 database software. The information stored in the database is stored in the data storage unit 114, such as a hard disk drive. FIG. IB illustrates a system 150 configured to run a database system. A server 160, a mass storage device 170, and a backup system 180 are provided. The server 160 including a cenfral processing unit 162, a data storage element 164, a memory 166, and a mass storage interface 128 is provided. In an exemplary embodiment, the server 160 can be a Sun Ultra 4500. The central processing unit 162 executes an operating system and database software. In the exemplary embodiment, the cenfral processing unit 162 executes the Sun Solaris 8 operating system. In the exemplary embodiment, the cenfral processing unit 162 executes the Oracle 8i, version 8.1.7 database software. The database information is stored in the mass storage unit 170, such as a hard disk drive. In the exemplary embodiment, the mass storage system 170 is a Boxhill RAH) system that implements RAID 5. In the exemplary embodiment, the backup system 180 is a Storage Tech Timberwolf system, connected to the mass storage device 170 through a SCSI interface
FIG. 2 illustrates a portion of the DBS schema 200 configured for managing heterogeneous collections of multidimensional parameters and definitional items regarding the structure and values of those parameters. The DBS schema of FIG. 2 includes 10 tables: a collection table 202, a parameter table 204, a dimension role table 206, a record index part table 208, an object of analysis table 210, a record table 212, a keyword value table 214, a date value table 216, a number value table 218, and a note value table 220.
The collection table 202 contains the following columns: collection identifier, collection metadata identifier, and collection universal resource locator (URL). A table in a DBS typically uses one or more columns to uniquely identify a record in the table. A column that uniquely identifies a record in the table is referred to as a primary key. Where two or more columns are used to uniquely identify a record, the columns are referred to as secondary keys, the combination of which form a compound primary key. The value of the primary key can represent a "real-world" value such as a social security number, or the primary key can be a value that is created and used by the application. The collection table 202 uses the values stored in the collection identifier column as the primary key.
A table can also contain values in a column that are keys for another table. In fact, the values can be the primary key of another table. Such a column is referred to as a foreign primary key.
The values stored in the column collection identifier of the collection table 202 are abstract unique identifiers for a particular collection. A collection is a group of multidimensional parameters and definitional items that describe dimensions. The values stored in the column collection identifier of the collection table 202 are foreign keys for many different tables in the DBS. The values stored in the column collection metadata identifier of the collection table 202 are values that can be used as a link to a local metadata catalog for detailed data source documentation. The values stored in the column collection URL of the collection table 202 provide locations where additional reference data documentation is located regarding the associated collection. The URL can reference a location on the Internet, a private Intranet, or the like.
The parameter table 204 contains columns: parameter identifier, status identifier, collection identifier, parameter value type, parameter subtype table, and parameter value table. The column parameter identifier contains values which are unique identifiers for parameters. Parameters, also referred to as variables, are names for the data stored within the DBS that is utilized as data. For example, if data corresponding to export/import volume of computer chips between countries was stored in the DBS, the parameter could be volume of computer chips. The values stored in the column parameter identifier act as the primary key for the parameter table 204. The values stored in the column parameter identifier act as foreign keys for many tables within the DBS .
The values contained within the column status identifier of the parameter table 204 define the access restrictions for a given parameter. The values contained within the column collection identifier of the parameter table 204 correspond to the values stored in the column collection identifier of the collection table 202 and act as secondary keys for the parameter table 204. The column parameter subtype table of the parameter table 204 contains values which represent the name of the subtype table that contains the data values associated with the parameter represented by the parameter identifier. The column parameter value table of the parameter table 204 contains values which represent the name of the value table that contains the data values associated with the parameter represented by the parameter identifier. The Column parameter value type of the parameter table 204 contains values which represent the subtype discriminator associated with the parameter represented by the parameter identifier. The valid values which can be present in the column parameter value type are "NOTE", "NUM", "DATE" and "KWD". The dimension role table 206 contains columns: parameter identifier, role identifier, and dimension identifier. The values contained within the column parameter identifier of the dimension role table 206 correspond to the values stored in the column parameter identifier of the parameter table 204 and act as secondary keys for the dimension role table 206. The values contained within the column dimension identifier of the dimension role table 206 are unique identifiers for a particular dimension. A particular dimension is an object that can be used to index the values of a parameter. For example, for data corresponding to export/import volume of computer chips between countries, as described above, one dimension may exist: Country. The values contained within the column role identifier of the dimension role table 206 are unique identifiers for a particular dimension role. A particular dimension role is a descriptive alias for a dimension. For example, for data corresponding to export/import volume of computer chips between countries, as described above, two roles could exist: Country-from and Country-to. The record index part table 208 contains columns: record identifier, object of analysis identifier, parameter identifier, and role identifier. The values contained within the column parameter identifier of the record index part table 208 correspond to the values stored in the column parameter identifier of the parameter table 204 and act as secondary keys for the record index part table 208. The values contained within the column role identifier of the record index part table 208 correspond to the values stored in the column role identifier of the dimension role table 206 and act as secondary keys for the record index part table 208. The values contained within the column record identifier of the record index part table 208 are abstract unique identifiers for parameter value entities. The values contained within the column object of analysis identifier of the record index part table 208 are unique identifiers for a particular object of analysis. A particular object of analysis is an object that is used to index values of a particular parameter. The object of analysis is also part of a dimension. For example, an object of analysis, the United States, is an index of a parameter corresponding to export/import volume of computer chips between countries. The parameter describes something about the object, the United States, and is part of the dimension, Country. An object of analysis belongs to a set of related objects, collectively referred to as a dimension.
The object of analysis table 210 contains columns: parameter value identifier, dimension identifier, object type, and spatial data warehouse feature identifier. Each record in the object of analysis table 210 defines a particular object of analysis. The values contained within the column dimension identifier of the object of analysis table 210 correspond to the values stored in the column dimension identifier of the dimension role table 206 and act as secondary keys for the object of analysis table 210. The values stored in the column dimension identifier define the particular dimension to which the associated object of analysis belongs. The values stored in the column parameter value identifier of the object of analysis table 210 act as the primary key for the object of analysis table 210 and correspond to values stored in the column object of analysis identifier of the record index part table 208. The values stored in the column parameter value identifier of the object of analysis table 210 are abstract unique identifiers for parameter value entities. The values stored in the column object type of the object of analysis table 210 are subtype discriminators that describe each parameter value type. The values contained within in the column spatial data warehouse feature identifier of the object of analysis table 210 define the spatial database engine feature identifier corresponding to the particular object of analysis .
The record table 212 contains columns: record identifier and parameter value identifier. Each entry in the record table 212 defines a separate record. A record is an abstract relationship between a collection of object of analysis entities and a parameter value. The values contained within the column record identifier of the record table 212 correspond to the values stored in the column record identifier of the record index part table 208 and act as primary keys for the record table 212. The column parameter value identifier of the record table 212 are abstract unique identifiers for the parameter value entities and allow linking of the data stored in the DBS with commercial geographical information systems. The keyword value table 214 contains a column parameter value identifier. The values contained within the column parameter value identifier of the keyword value table 214 are primary keys for the keyword value table 214. The values contained within the column parameter value identifier of the keyword value table 214 correspond to the values stored in the column parameter value identifier of the object of analysis table 210 and the values stored in the column parameter value identifier of the record table 212. The values contained within the column parameter value identifier of the keyword value table 214 that correspond to the values stored in the column parameter value identifier of the record table 212 are parameter entities. The keyword value table 214 maintains the logical mapping between the object of analysis table 210, the record table 212, the keyword definition table 702 (shown in FIG. 7), and the keyword relation table 706 (shown in FIG. 7), because many to many data relationships are not logically valid.
The date value table 216 contains columns: parameter value identifier, date value type, date value start, date value end, and date value precision. The values contained within the column parameter value identifier are primary keys for the date value table 216. The values contained within the column parameter value identifier of the date value table 216 correspond to the values stored in the column parameter value identifier of the object of analysis table 210 and the values stored in the column parameter value identifier of the record table 212. The values contained within the column parameter value identifier of the date value table 216 that correspond to the values stored in the column parameter value identifier of the record table 212 are parameter entities.
The values stored in the column date value type of the date value table 216 indicate the manner in which the values in the columns date value start and date value end will be interpreted. The acceptable values that can be stored in the column date value type are "RANGE" and "POINT". If the value stored in the column date value type is "RANGE", the record in the date value table 216 represents a range of time. If the value stored in the column date value type is "POINT", the record in the date value table 216 represents a point in time.
The values stored in the column date value start of the date value table 216 indicate the start value of a time range or a singular point in time. The value stored in the column date value end of the date value table 216 indicates the end value of the time range if the value in the associated column date value type is "RANGE". The value contained within the column date value precision of the date value table 216 indicate the precision with which the value stored within the columns date value start and date value end will be interpreted. In the present exemplary embodiment, the acceptable values that can be stored in the column date value precision are "YEAR", "MONTH", "DAY", and "HOUR".
The number value table 218 contains columns: parameter value identifier and number value. The values contained within the column parameter value identifier are primary keys for the keyword value table 218. The values contained within the column parameter value identifier of the keyword value table 218 correspond to the values stored in the column parameter value identifier of the record table 212. The values contained within the column number value of the number value table 218 are numeric quantities associated with the value stored in the parameter value identifier column. The values contained within the column parameter value identifier of the number value table 218 are parameter entities.
The note value table 220 contains a column parameter value identifier. The values contained within the column parameter value identifier of the note value table 220 are primary keys for the note value table 220. The values contained within the column parameter value identifier of the note value table 220 correspond to the values stored in the column parameter value identifier of the record table 212. The note value 220 maintains the logical mapping between the record table 212 and a note definition table 1004 (shown in FIG. 10), because many to many data relationships are not logically valid. The values contained within the column parameter value identifier of the note value table 220 are parameter entities. FIG. 3 illustrates a portion 300 of the DBS schema configured for use in relation with a collection. A collection is a group of multidimensional variables and definitional items that describe dimensions. The DBS schema of FIG. 3 includes 5 tables: the collection table 202, a collection definition table 302, a collection annotation table 304, a collection annotation definition table 306, and a language table 308. The language table 308 contains columns: language identifier and language. The values contained within the column language identifier of the language table 308 are an abstract unique identifier for language entities. The values contained within the column language identifier of the language table 308 act as the primary key for the language table 308. The values contained within the column language of the language table 308 are descriptive names of a well-defined written language. In the present exemplary embodiment, values of the column language could be "SPANISH", "ENGLISH", "FRENCH", or the like.
The collection definition table 302 contains columns: collection identifier, language identifier and collection definition short-name. The values contained within the column collection identifier of the collection definition table 302 correspond to the values stored in the column collection identifier of the collection table 202 and act as secondary keys for the collection definition table 302. The values contained within the column language identifier of the collection definition table 302 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the collection definition table 302. The values contained within the column collection definition short-name are language specific descriptions of the collections associated with collection identifiers.
The collection annotation table 304 contains columns: collection annotation identifier and collection identifier. The values contained within the column collection identifier of the collection definition table 304 correspond to the values stored in the column collection identifier of the collection table 202 and act as secondary keys for the collection definition table 304. The values contained within the column collection annotation identifier are absfract unique identifiers for named notes that are associated with a collection entry and act as primary keys for the collection definition table 304.
The collection annotation definition table 306 contains columns: language identifier, collection annotation identifier, collection annotation name, and collection annotation value. The values contained within the column language identifier of the collection annotation definition table 306 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the collection annotation definition table 306. The values contained within the column collection annotation identifier of the collection annotation definition table 306 correspond to the values stored in the collection annotation identifier of the collection annotation table 304 and act as secondary keys for the collection annotation definition table 306. The combination of a value contained within the column collection annotation identifier and a value contained within the column language identifier forms a compound primary key which can uniquely index any record in the collection annotation definition table 306. The values contained within the column collection annotation value are language specific notes that are associated with a collection. The language specific notes describe some aspect of the associated collection. The values contained within the column collection annotation name are language specific names for annotations.
FIG. 4 illustrates a portion 400 of the DBS schema configured for use in relation with a parameter. The DBS schema of FIG. 4 includes 7 tables: the parameter table 204, a parameter definition table 402, a parameter annotation table 404, a parameter annotation definition table 406, a status table 408, a status definition table 410, and the language table 308.
The parameter definition table 402 contains columns: language identifier, parameter identifier, parameter definition short-name, parameter definition long-name, and parameter defimtion. The values contained within the column parameter identifier of the parameter definition table 402 correspond to the values stored in the column parameter identifier of the parameter table 204 and act as secondary keys for the parameter definition table 402. The values contained within the column language identifier of the parameter defimtion table 402 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the parameter definition table 402. The values contained within the column parameter definition short-name of the parameter definition table 402 are language specific short names for the corresponding parameter. The values contained within the column parameter definition long-name of the parameter definition table 402 are language specific long names for the corresponding parameter. The values contained within the column parameter definition of the parameter definition table 402 are language specific definitions of the corresponding parameter entities.
The parameter annotation table 404 contains columns: parameter annotation identifier and parameter identifier. The values contained within the column parameter identifier of the parameter annotation table 404 correspond to the values stored in the column parameter identifier of the parameter table 204 and act as primary keys for the parameter annotation table 404. The values contained within the column parameter annotation identifier the parameter annotation table 404 are absfract unique identifiers for named notes that are associated with a parameter. The parameter annotation definition table 406 contains columns: language identifier, parameter annotation identifier, parameter annotation name, and parameter annotation value. The values contained within the column language identifier of the parameter annotation definition table 406 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the parameter annotation definition table 406. The values contained within the column parameter annotation identifier of the parameter annotation definition table 406 correspond to the values stored in the column parameter annotation identifier of the parameter annotation table 404 and act as secondary foreign keys for the collection annotation definition table 406. The values contained within the column parameter annotation name of the parameter annotation definition table 406 are language specific names for annotations. The values contained within the column parameter annotation value of the parameter annotation definition table 406 are language specific notes that are associated with a parameter. The language specific notes describe some aspect of the associated parameter. The status table 408 contains the column status identifier. The values contained within the column status identifier of the status table 408 correspond to the values stored in the column status identifier of the parameter table 204 and act as primary keys for the status table 408. The values contained within the column status identifier define the access restrictions for a given parameter. The status table 408 maintains the logical mapping between the parameter table 204 and the status definition table 410, because many to many data relationships are not logically valid. The status definition table 410 contains columns: status identifier, language identifier, status abbreviations, and status description. The values contained within the column language identifier of the status definition table 410 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the status definition table 410. The values contained within the column status identifier of the status definition table 410 correspond to the values stored in the column status identifier of the parameter table 204 and act as secondary keys for the status definition table 410. The values contained within the column status abbreviations of the status definition table 410 are abbreviated descriptions of the corresponding status. The values contained within the column status description of the status definition table 410 are full descriptions of the corresponding status.
FIG. 5 illustrates a portion 500 of the DBS schema configured for use in relation with a dimension and a dimension role. The DBS schema of FIG. 5 includes 6 tables: the dimension role table 206, a dimension table 502, a dimension definition table 504, a role table 506, a role definition table 508, and the language table 308.
The dimension table 502 contains columns: dimension identifier and spatial data warehouse layer identifier. The values contained within the column dimension identifier of the dimension table 502 correspond to the values stored in the column dimension identifier of the dimension role table 206 and act as primary keys for the dimension table 502. The values contained within the column spatial data warehouse layer identifier of the dimension table 502 allow linking of the data stored in the DBS with commercial geographical information systems.
The dimension definition table 504 contains columns: dimension identifier, language identifier, dimension definition name and dimension definition description. The values contained within the column language identifier of the dimension definition table 504 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the dimension definition table 504. The values contained within the column dimension identifier of the dimension definition table 504 correspond to the values stored in the column dimension identifier of the dimension role table 206 and act as secondary keys for the dimension definition table 504. The values contained within the column dimension definition name of the dimension definition table 504 are language specific names used to reference the corresponding dimensions. The values contained within the column dimension definition description of the dimension definition table 504 are language specific descriptions of the corresponding dimensions.
The role table 506 contains a column role identifier. The values contained within the column role identifier of the role table 506 correspond to the values stored in the column role identifier of the dimension role table 206 and act as primary keys for the role table 506. The role table 506 maintains the logical mapping between the dimension role table 206 and the role definition table 508, because many to many data relationships are not logically valid.
The role definition table 508 contains columns: role identifier, language identifier, role definition name, and role definition description. The values contained within the column language identifier of the role definition table 508 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the role definition table 508. The values contained within the column role identifier of the role definition table 508 correspond to the values stored in the column role identifier of the dimension role table 206 and act as secondary keys for the role definition table 508. The values contained within the column role definition name of the role definition table 508 are language specific names of the associated roles. The values contained within the column role definition description of the role definition table 508 are language specific definitions of the associated roles.
FIG. 6 illustrates a portion 600 of the DBS schema configured for use in relation with a record. The DBS schema of FIG. 6 includes 6 tables: the record index part table 208, the record table 212, a parameter value table 602, a value annotation table 604, a value annotation definition table 606 and the language table 308.
The parameter value table 602 contains a column parameter value identifier. The values contained within the column parameter value identifier of the parameter value table 602 correspond to the values stored in the column parameter value identifier of the record table 212 (shown in FIG. 2) and act as primary keys for the parameter value table 602. The values contained within the column parameter value identifier are absfract unique identifiers for parameter value entities. The parameter value table 602 maintains the logical mapping between the record table 212, the object of analysis table 210, the keyword value table 214, the date value table 216, the number value table 218, and the note value table 220 (all shown in FIG. 2), because many to many data relationships are not logically valid.
The value annotation table 604 contains columns: value annotation identifier and parameter value identifier. The values contained within the column parameter value identifier of the value annotation table 604 correspond to the values stored in the column parameter value identifier of the record table 212 (shown in FIG. 2) and act as primary keys for the value annotation table 604. The values contained within the column value annotation identifier of the value annotation table 604 are absfract unique identifiers for vale annotation entities. The value annotation definition table 606 contains columns: value annotation identifier, language identifier, value annotation name, and value annotation value. The values contained within the column language identifier of the value annotation definition table 606 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the value annotation definition table 606. The values contained within the column parameter value identifier of the value annotation definition table 606 correspond to the values stored in the column parameter value identifier of the record table 212 (shown in FIG. 2) and act as secondary keys for the value annotation definition table 606. The values contained within the column value annotation name of the value annotation definition table 606 are language specific names for corresponding value annotations. The values contained within the column value annotation value of the value annotation definition table 606 are language specific descriptions of the values.
FIG. 7 illustrates a portion 700 of the DBS schema configured for use
Figure imgf000018_0001
i i l id i general, describes something about a parameter or subject matter. A keyword can be a general keyword or a spatial keyword. Spatial keywords are geographic entities such as countries, regions, and the like. The DBS schema of FIG. 7 includes 7 tables: the keyword value table 214, the language table 308, a keyword definition table 702, a keyword parameter table 704, a keyword relation table 706, a keyword relation type table 708, and a keyword relation type definition table 710.
The keyword definition table 702 contains columns: parameter value identifier, language identifier, keyword definition abbreviations, and keyword definition. The values contained within the column language identifier of the keyword definition table 702 correspond to the values stored in the column language identifier of the language table 308 (shown in FIG. 3) and act as secondary keys for the keyword definition table 702. The values contained within the column parameter value identifier of the keyword definition table 702 correspond to the values stored in the column parameter value identifier of the record table 212 and the values stored in the column parameter value identifier of the object of analysis table 210 (both tables 212 and 210 shown in FIG. 2). The values stored in the column parameter value identifier of the keyword definition table 702 act as secondary keys for the keyword definition table 702. The values contained within the column keyword definition abbreviations of the keyword definition table 702 are language specific short or abbreviated terms to be used in referring to a corresponding keyword. The values contained within the column keyword definition of the keyword definition table 702 are language specific definitions of the associated keyword.
The keyword parameter table 704 contains columns: parameter identifier and thesaurus identifier. The values contained within the column parameter identifier of the keyword parameter table 704 correspond to the values stored in the column parameter identifier of the parameter table 204 and act as primary keys for the keyword parameter table 704. The values contained within the column thesaurus identifier of the keyword parameter table 704 define the root keyword of an associated thesaurus. A thesaurus is a group of interrelated keywords that provide information about each other. For example, the root keyword of a thesaurus land use could be land use, and two other keywords that are part of the thesaurus could be agriculture and aquaculture. The keywords agriculture and aquaculture further define land use.
The keyword relation table 706 contains columns: parent parameter value identifier, child parameter value identifier, and keyword relation type identifier. The values contained within the column parent parameter value identifier of the keyword relation table 706 correspond to values stored in the column parameter value identifier of the record table 212 (shown in FIG. 2) and the values stored in the column parameter value identifier of the object of analysis table 210 (shown in FIG. 2). The values stored in the column parent parameter value identifier of the keyword relation table 706 act as secondary keys for the keyword relation table 706. The values contained within the column parent parameter value identifier of the keyword relation table 706 define the parameter value that fulfills the role of the parent for the keyword relationship. For example, in the land use thesaurus, the keyword land use would fulfill the role of the parent keyword. The values contained within the column child parameter value identifier of the keyword relation table 706 correspond to values stored in the column parameter value identifier of the record table 212 and the values stored in the column parameter value identifier of the object of analysis table 210. The values stored in the column child parameter value identifier of the keyword relation table 706 act as secondary keys for the keyword relation table 706. The values contained within the column child parameter value identifier of the keyword relation table 706 define the parameter value that fulfills the role of the parent for the keyword relationship. For example, in the thesaurus land use, the keywords aquaculture and agriculture fulfill the roles of child keywords. The values contained within the column keyword relation type identifier of the keyword relation table 706 are absfract unique identifiers for keyword relation type entities.
The keyword relation type table 708 contains a column keyword relation type identifier. The values contained within the column keyword relation type identifier of the keyword relation type table 708 correspond to the values stored in the column keyword relation type identifier of the keyword relation table 706 and act as primary foreign keys for the keyword relation type table 708. The keyword relation type table 708 maintains the logical mapping between the keyword relation table 706 and the keyword relation type definition table 710, because many to many data relationships are not logically valid.
The keyword relation type definition table 710 contains columns: keyword relation type identifier, language identifier, keyword relation type abbreviations, and keyword relation type description. The values contained within the column language identifier of the keyword relation type definition table 710 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the keyword relation type definition table 710. The values contained within the column keyword relation type identifier of the keyword relation type definition table 710 correspond to the values stored in the column keyword relation type identifier of the keyword relation table 706 and act as primary foreign keys for the keyword relation type definition table 710. The values contained within the column keyword relation type abbreviations of the keyword relation type definition table 710 are language specific abbreviated terms to be used in referring to corresponding keyword relationship. The values contained within the column keyword relation type description of the keyword relation type definition table 710 are language specific full length definitions of corresponding keyword relationships. For example, in the thesaurus land use, the relation type description could be "For farming purposes". FIG. 8 illustrates a portion 800 of the DBS schema configured for storing a date value. A date value represents a point in time or a range in time. The DBS schema of FIG. 8 includes 2 tables: the date value table 216 and a date parameter table 802.
The date parameter table 802 contains a column parameter identifier. The values contained within the column parameter identifier of the date parameter table 802 correspond to the values stored in the column parameter identifier of the parameter table 204 (shown in FIG. 2) and act as primary foreign keys for the date parameter table 802. The date parameter table 802 maintains the logical mapping of the date parameters of the parameter table 204. FIG. 9 illustrates a portion 900 of the DBS schema configured for use in relation with storing a number. A number represents a numeric value. The DBS schema of FIG. 9 includes 8 tables: the number value table 218, a number parameter table 902, a unit of measure table 904, a unit of measure definition table 906, the language table 308, a conversion table 908, a conversion definition table 910, and a linear conversion table 912. The number parameter table 902 contains columns: parameter identifier and unit identifier. The values contained within the column parameter identifier of the number parameter table 902 correspond to the values stored in the column parameter identifier of the parameter table 204 (shown in FIG. 2) and act as secondary keys for the number parameter table 902. The values contained within the column unit identifier of the number parameter table 902 are abstract unique identifiers for unit of measure entities.
The unit of measure table 904 contains a column unit identifier. The values contained within the column unit identifier of the unit of measure table 904 correspond to the values stored in the column unit identifier of the number parameter table 902 and act as primary keys for the unit of measure table 904. The unit of measure table 904 maintains the logical mapping between the number parameter table 902, the unit of measure definition table 906, and the conversion table 908, because many to many data relationships are not logically valid.
The unit of measure definition table 906 contains columns: language identifier, unit identifier, unit definition abbreviation and unit definition description. The values contained within the column language identifier of the unit of measure definition table 906 correspond to the values stored in the column language identifier of the language table 308 and act as secondary foreign keys for the unit of measure definition table 906. The values contained within the column unit identifier of the unit of measure defimtion table 906 correspond to the values stored in the unit identifier of the number parameter table 902 and act as secondary foreign keys for the unit of measure defimtion table 906. The values contained within the column unit definition abbreviation of the unit of measure definition table 906 are language specific abbreviations to be used when referring to corresponding unit of measures. The values contamed within the column unit definition description of the unit of measure definition table 906 are language specific definitions for corresponding units of measure. A unit of measure is an absfract value corresponding to a unit of measure for numeric quantities.
The conversion table 908 contains columns: conversion identifier, domain unit identifier, range unit identifier and conversion type. The values contained within the column conversion identifier of the conversion table 908 are absfract unique identifiers for conversion entities. The values contained within the column domain unit identifier of the conversion table 908 are unique identifiers for unit of measure entities acting as the domain of a conversion. The values contained within the column range unit identifier of the conversion table 908 are unique identifiers for unit of measure entities acting as the range of a conversion. The values contained within the column conversion type of the conversion table 908 are subtype discriminators indicating the type of conversion for the associated conversion identifier.
The conversion definition table 910 contains columns: conversion identifier, language identifier, and conversion definition description. The values contained within the column language identifier of the conversion definition table 910 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the conversion definition table 910. The values contained within the column conversion identifier of the conversion definition table 910 correspond to the values stored in the column conversion identifier of the conversion table 908 and act as secondary keys for the conversion definition table 910. The values contained within the column conversion definition description of the conversion definition table 910 are language specific descriptions of the associated conversion. The linear conversion table 912 contains columns: conversion identifier, first scalar, and second scalar. The values contained within the column conversion identifier of the linear conversion table 912 correspond to the values stored in the column conversion identifier of the conversion table 908 and act as primary keys for the linear conversion table 912. The values contained within the column first scalar provide the slope for a linear conversion. A linear conversion is a conversion entity defining a linear transformation. A linear transformation follows a function of the form:
f(x) = ax + b (1)
The slope is equivalent to a in Equation (1). The values contained within the column second scalar provide the y-axis intercept for a linear conversion. The y-axis intercept is equivalent to b in Equation (1).
FIG. 10 illustrates a portion 1000 of the DBS schema configured for use in relation with a note value. A note value is a string of text. The DBS schema of FIG. 10 includes 4 tables: the note value table 220, a note parameter 1002, a note definition table 1004, and the language table 308.
The note parameter table 1002 contains a column parameter identifier. The values contained within the column parameter identifier of the note parameter table 1002 correspond to the values stored in the column parameter identifier of the parameter table 204 (shown in FIG. 2) and act as primary foreign keys for the note parameter table 1002. The status table 408 maintains the logical mapping of the note parameters of the parameter table 204.
The note definition table 1004 contains columns: parameter value identifier, language identifier, and note definition value. The values contained within the column language identifier of the note definition table 1004 correspond to the values stored in the column language identifier of the language table 308 and act as secondary keys for the note definition table 1004. The values contained within the column parameter value identifier of the note definition table 1004 correspond to the values stored in the column parameter value identifier of the record table 212 (shown in FIG. 2) and act as secondary keys for the note definition table 1004. The values contained within the column note definition value of the note definition table 1004 are language specific text fields representing the note.
The DBS system can accommodate different collections of multidimensional datasets whose structures are related but not equivalent. While the data model offers extensive features for analytic processing, loading data into the DBS system is a process that involves load-time integration of the data. Loading a new multidimensional dataset into the DBS system is an exercise in data integration. The loading process 1100, shown in FIG. 11, begins by developing a set of tables that will accommodate the new multidimensional dataset at step 1102. The set of tables should accurately describe the data contained within the new multidimensional dataset. Once the set of tables have been created the data contained within the new multidimensional dataset must be loaded into the set of tables at step 1104.
Once the data is loaded into the set of tables, the meta-data contained within the set of tables is mirrored in the DBS. A new collection must be defined for the new data at step 1106. A collection metadata identifier, a collection URL, a language, and a collection definition short name are specified, and the appropriate records are created in the collection table 202 (shown in FIG. 2) , the collection definition table 302, and, if necessary, the language table 308 (both tables 302 and 308 shown in FIG. 3). A record will only be created in the language table 308 if the language of the new collection is not already specified.
Once the collection is defined, new units of measure must be added to the DBS if necessary at step 1108. The parameters of the new multidimensional dataset must be studied to determine if any units of measure exist that are not currently defined in the DBS. If any units of measure exist in the new multidimensional dataset that do not exist in the DBS they must be added to the DBS. For each new unit of measure the unit definition abbreviation and the unit definition description are specified and the appropriate records are created in the unit of measure table 904 and the unit of measure definition table 906 (both tables 904 and 906 shown in FIG. 9).
The set of new thesauri corresponding to either parameter values or index values of parameters must be defined at step 1110. The parameters of the new multidimensional dataset should be studied to identify a set of new thesauri if one is needed. Once the set of new thesauri is identified, the thesaurus identifier, specifying the root of the thesaurus and the associated keywords that are not currently specified in the DBS must be defined. If a keyword does not exist in the DBS, the keyword definition abbreviations, the keyword definition, and the language are be specified and the appropriate records are created in the keyword value table 214 (shown in FIG. 2), the keyword definition table 702 (shown in FIG. 7) . If the thesaurus is a hierarchical thesaurus, the parent parameter value identifier, the child parameter value identifier and the keyword relation type identifier are specified and the appropriate record in the keyword relation table 706 (shown in FIG. 7) is created. If the keyword relation type is not defined by the DBS, the keyword relation type abbreviations and the keyword relation type description are defined and the appropriate record in the keyword relation type table 708 (shown in FIG. 7) and the keyword relation type definition table 710 (shown in FIG. 7) are created.
For each parameter of the new multidimensional dataset an associated parameter must be created in the DBS at step 1112. The parameters of the new multidimensional dataset should be studied to identify the parameters that have to be added to the DBS. Once the parameters that should be added to the DBS are identified, the collection identifier associated with the parameter, the parameter definition short name, the parameter definition long name, the parameter definition, the language, the thesaurus identifier, the parameter value type, the unit definition abbreviation, and the number of indices are specified and the appropriate records are created in the parameter table 204 (shown in FIG. 2), the keyword parameter table 704 (shown in FIG. 2), the parameter definition table 402, the status table 408 and the status definition table 410 (tables 402, 408, and 410 shown in FIG. 4).
For each index value of the new multidimensional dataset an associated dimension and role may have to be created in the DBS at step 1112. The indexes of the new multidimensional dataset should be studied to identify the dimensions and roles that have to be added to the DBS. If a dimension currently exists in the DBS, a new dimension does not have to be added to the DBS, though new roles will have to be created for the existing dimension. Once the dimensions and roles that should be added to the DBS are identified, the role definition name, the role definition description, the language, the dimension definition name, the dimension definition description, the SPATIAL DATA WAREHOUSE layer identifier, and the collection identifier that the role and dimension are associated with are specified and the appropriate records are created in the role definition table 508, the role table 506 (both tables 506 and 508 shown in FIG. 5) , the dimension role table 206 (shown in FIG. 2), the dimension table 502 and the dimension definition table 504 (both tables 502 and 504 shown in FIG. 5). For each value of each index of the new multidimensional dataset an object of analysis must be created in the DBS at step 1114. Each value of each index of the new multidimensional dataset should be studied to identify the object of analysis that should be added to the DBS. The value of the index of the new multidimensional dataset should be either a date value or a keyword value. If the value is a date value, the date value type, the date value start, the date value end, the date value precision, and the dimension identifier, the role identifier and the parameter identifier associated with the date, are specified and the appropriate records are created in object of analysis table 210, the date value table 216, and the record index part table 208 (tables 208, 210, and 216 shown in FIG. 2). If the value is a keyword value, the keyword definition abbreviations, the keyword definition, and the dimension identifier, the role identifier and the parameter identifier associated with the keyword, are specified and the appropriate records are created in object of analysis table 210, the keyword value table 214, the keyword definition table 702 (shown in FIG. 7) and the record index part table 208 (tables 208, 210 and 214 shown in FIG. 2). For each value of each parameter of the new multidimensional dataset a parameter value should be created in the DBS at step 1116. The value of the index of the new multidimensional dataset should be either a date value, a keyword value, a number value or a note value. If the value is a date value, the date value type, the date value start, the date value end, the date value precision, and the dimension identifier, the role identifier, the parameter identifier, and the object of analysis identifier, associated with the date, are specified and the appropriate records are created in parameter value table 602 (shown in FIG. 6), the date value table 216, the date parameter table 802 (shown in FIG. 8), the record table 212 and the record index part table 208 (tables 208, 212, 216 shown in FIG. 2). If the value is a keyword value, the keyword definition abbreviations, the keyword definition, and the dimension identifier, the role identifier, the object of analysis identifier and the parameter identifier, associated with the keyword, are specified and the appropriate records are created in parameter value table 602 (shown in FIG. 6), the keyword value table 214, the keyword definition table 702, the keyword parameter table 704 (tables 702 and 704 shown in FIG. 7), the record table 212 and the record index part table 208 (tables 208, 212, 214 shown in FIG. 2). If the value if a number value, the number value, and the dimension identifier, the role identifier, the object of analysis identifier and the parameter identifier, associated with the number, are specified and the appropriate records are created in parameter value table 602 (shown in FIG. 6), the number value table 218, the number parameter table 902 (shown in FIG. 9), the record table 212 and the record index part table 208 (tables 208, 212, 218 shown in FIG. 2). If the value is a note value, the note definition value, the language, and the dimension identifier, the role identifier, the object of analysis identifier and the parameter identifier, associated with the note, are specified and the appropriate records are created in parameter value table 602 (shown in FIG. 6), the note value table 220, the note definition table 1004, the note parameter table 1002 (tables 1002 and 1004 shown in FIG. 10), the record table 212 and the record index part table 208 (tables 208, 212 and 220 shown in FIG. 2).

Claims

1. A database system comprising:
(a) at least one first parameter value table having a multiplicity of parameter value identifiers each corresponding to a respective data record, each of the at least one first parameter value table having a respective multiplicity of object of analysis identifiers each corresponding to a respective data record;
(b) a collection table having a multiplicity of collection identifiers;
(c) a parameter table having a multiplicity of parameter identifiers each associated with a respective one of the collection identifiers of the collection table;
(d) a dimension role table having a multiplicity of role identifiers each associated with a respective dimension identifier and a respective one of the parameter identifiers of the parameter table;
(e) an object of analysis table having a multiplicity of object of analysis identifiers, each one of the object of analysis identifiers being associated with a respective one of the dimension identifiers of the dimension role table, and a respective one of the object of analysis identifiers of the at least one parameter value table;
(f) a record index part table having a multiplicity of record identifiers each associated with a respective one of the parameter identifiers of the parameter table, a respective one of the role identifiers of the dimension role table, and a respective one of the object of analysis identifiers of the object of analysis table; and
(g) a record table having a multiplicity of parameter value identifiers of the at least one parameter value table, each parameter value identifier being associated with a respective one of the record identifiers of the record index part table.
2. The database system of claim 1, wherein each one of the multiplicity of parameter identifiers of the parameter table is associated with a first selected one of a plurality of parameter value types, each one of the multiplicity of parameter identifiers of the parameter table being associated with a specified one of the plurality of parameter value types, and the at least one first parameter value table corresponds to a first selected one of the plurality of parameter value types, and each one of the respective multiplicity of parameter value identifiers of each one of the at least one first parameter table corresponding to the first selected one of the plurality of parameter value types of the parameter table, the system further comprising at least one second parameter value table each corresponding to a second selected one of the plurality of parameter value types of the parameter table and each having a respective multiplicity of parameter value identifiers, each one of the respective multiplicity of parameter value identifiers of each one of the at least one second parameter value table corresponding to the second one of the plurality of parameter value types of the parameter table.
3. The database system of claim 2, wherein the at least one first parameter value table comprises a plurality of first parameter value tables each corresponding to a respective one of the plurality of parameter types, and wherein a selected one of a plurality of object types being associated with each one of the multiplicity of object of analysis identifiers, each of the plurality of object types corresponding to a respective one of the plurality of parameter types for referencing the one of the plurality of first parameter value tables corresponding to the same parameter type.
4. The database system of claim 3, wherein the plurality of first parameter value tables comprise a keyword value table and a date value table each corresponding to a selected one of the plurality of parameter value types, and the at least one second parameter value table comprises a number value table and a note value table each corresponding to a selected one of the plurality of parameter value types and wherein the keyword value table corresponds to a first one of the plurality of object types and the data value table corresponds to a second one of the plurality of object types.
5. The database system of claim 4, wherein each one of the object of analysis identifiers of the object of analysis table is associated with either the first one or the second one of the plurality of object types, each one of the object of analysis identifiers of the object of analysis table associated with the first one of the plurality of object types being used for searching the object of analysis identifiers of the keyword value table, and each one of the object of analysis identifiers of the object of analysis table associated with the second one of the plurality of object types being used for searching the object of analysis identifiers of the date value table.
6. The database system of claim 5, wherein each one of the parameter value identifiers of the record table associated with a respective one of the plurality of parameter value types through a respective one of the record identifiers of the record table and the record index part table and through a respective one of the parameter identifiers of the record index part table and the parameter table, being used for searching one of the note value table, the number value table, the keyword value table, and the date value table.
7. The database system of claim 1, further comprising a language table having a multiplicity of language identifiers, each one of the multiplicity of language identifiers being associated with a corresponding language; and a collection definition table having a multiplicity of collection definition short names, each one of the collection definition short names of the collection definition table corresponding to a respective one of the multiplicity of language identifiers and a respective one of the multiplicity of collection identifiers of the collection table.
8. The database system of claim 1, further comprising a collection annotation table having a multiplicity of collection annotation identifiers, each of the collection annotation identifiers of the collection annotation table corresponding to a respective one of the multiplicity of collection identifiers of the collection table.
9. The database system of claim 8, further comprising a language table having a multiplicity of language identifiers, each of the multiplicity of language identifiers associated with a corresponding language; and a collection annotation definition table having a multiplicity of collection annotation names, each of the multiplicity of collection annotation names of the collection annotation definition table corresponding to a respective one of the multiplicity of collection annotation identifiers of the collection annotation table, a respective one of the multiplicity of language identifiers of the language table, and a respective one of a multiplicity of collection annotation values.
10. The database system of claim 1, further comprising a language table having a multiplicity of language identifiers, each of the multiplicity of language identifiers associated with a corresponding language; and a parameter definition table having a multiplicity of parameter definition short names, each one of the multiplicity of parameter definition short names of the parameter definition table corresponding to a respective one of the multiplicity of language identifiers of the language table, a respective one of the multiplicity of parameter identifiers of the parameter table, a respective one of a multiplicity of parameter definition long names, and a respective one of a multiplicity of parameter definitions.
11. The database system of claim 1 , further comprising a parameter annotation table having a multiplicity of parameter annotation identifiers, each one of the multiplicity of parameter annotation identifiers of the parameter annotation table corresponding to a respective one of the multiplicity of parameter identifiers of the parameter table.
12. The database system of claim 11, further comprising a language table having a multiplicity of language identifiers, each of the multiplicity of language identifiers associated with a corresponding language; and a parameter annotation definition table having a multiplicity of parameter annotation names, each one of multiplicity of the parameter annotation names of the parameter annotation definition table corresponding to a respective one of the multiplicity of parameter annotation identifiers of the parameter annotation table, a respective one of the multiplicity of language identifiers of the language table, and a respective one of a multiplicity of parameter annotation values.
13. The database system of claim 1 , further comprising a language table having a multiplicity of language identifiers, each of the multiplicity of language identifiers associated with a corresponding language; and a role definition table having a multiplicity of role definition names, each of the multiplicity of role definition names of the role definition table corresponding to a respective one of the multiplicity of role identifiers of the dimension role table, a respective one of the multiplicity of language identifiers of the language table, and a respective one of a multiplicity of role definition descriptions.
14. The database system of claim 1, further comprising a language table having a multiplicity of language identifiers, each of the multiplicity of language identifiers associated with a corresponding language; and a dimension definition table having a multiplicity of dimension definition names, each of the multiplicity of dimension definition names of the dimension definition table corresponding to a respective one of the multiplicity of dimension identifiers of the dimension role table, a respective one of the multiplicity of language identifiers of the language table, and a respective one of a multiplicity of dimension definition descriptions.
15. The database system of claim 1, further comprising a value annotation table having a multiplicity of value annotation identifiers, each of the value annotation identifiers of the value annotation table corresponding to a respective one of the multiplicity of parameter value identifiers of the record table.
16. The database system of claim 15, further comprising a language table having a multiplicity of language identifiers, each of the multiplicity of language identifiers associated with a corresponding language; and a value annotation definition table having a multiplicity of value annotation names, each of the multiplicity of value annotation names of the value annotation definition table corresponding to a respective one of the multiplicity of value annotation identifiers of the value annotation table, a respective one of the multiplicity of language identifiers of the language table, and a respective one of a multiplicity of value annotation values.
17. The database system of claim 1, wherein the multiplicity of parameter identifiers of the parameter table are associated with a respective one of a multiplicity of status identifiers.
18. The database system of claim 17, further comprising a language table having a multiplicity of language identifiers, each of the multiplicity of language identifiers associated with a corresponding language; and a status definition table having a multiplicity of status descriptions, each of the multiplicity of status descriptions of the status definition table corresponding to a respective one of the multiplicity of status identifiers of the parameter table, a respective one of the multiplicity of language identifiers of the language table, and a respective one of a multiplicity of status abbreviations.
19. The database system of claim 4, wherein each one of the multiplicity of parameter value identifiers of the date value table and each one of the multiplicity of object of analysis identifiers of the date value table are associated with one of a first date value type and a second date value type, a respective one of a multiplicity of date value starts, a respective one of a multiplicity of date value ends, and a respective one of a multiplicity of date value precisions.
20. The database system of claim 19, wherein the first date value type represents a range in time.
21. The database system of claim 20, wherein each of the multiplicity of date value starts describes a start value of a range of time, and wherein each of the multiplicity of date value ends describes an end value of the range of time.
22. The database system of claim 19, wherein the second date value type represents a point in time.
23. The database system of claim 22, wherein each of the multiplicity of date value starts describes a respective point in time.
24. The database system of claim 19, wherein each of the multiplicity of date value precisions is one of a year, a month, a day, and an hour.
25. The database system of claim 4, further comprising: a language table having a multiplicity of language identifiers, each of the multiplicity of language identifiers associated with a corresponding language; and a note definition table having a multiplicity of note definition values, each of the note definition values of the note definition table corresponding to a respective one of the multiplicity of language identifiers of the language table, and a respective one of the multiplicity of parameter value identifiers of the note value table.
26. The database system of claim 4, wherein each of the multiplicity of parameter value identifiers of the number value table are associated with a respective one of a multiplicity of number values .
27. The database system of claim 1, further comprising: a number parameter table having a multiplicity of unit identifiers, each of the multiplicity of unit identifiers associated with a respective one of the multiplicity of parameter identifiers of the parameter table.
28. The database system of claim 27, further comprising: a language table having a multiplicity of language identifiers, each of the multiplicity of language identifiers associated with a corresponding language; and a unit of measure definition table having a multiplicity of unit definition abbreviations, each one of the multiplicity of unit definition abbreviations of the unit of measure definition table being associated with a respective one of the multiplicity of unit identifiers of the number parameter table, a respective one of the multiplicity of language identifiers of the language table, and a respective one of a multiplicity of unit definition descriptions.
29. The database system of claim 27, further comprising: a conversion table having a multiplicity of conversion identifiers, each of the multiplicity of conversion identifiers of the conversion table being associated with a respective one of a multiplicity of domain unit identifiers, a respective one of a multiplicity of range unit identifiers, and a respective one of a multiplicity of conversion types, each of the multiplicity of domain unit identifiers corresponding to a respective one of the multiplicity of unit identifiers of the number parameter table, and each of the multiplicity of range unit identifiers corresponding to a respective one of the multiplicity of unit identifiers of the number parameter table.
30. The database system of claim 31 , further comprising: a language table having a multiplicity of language identifiers, each of the multiplicity of language identifiers associated with a corresponding language; and a conversion definition table having a multiplicity of conversion definition descriptions, each one of the multiplicity of conversion definition descriptions of the conversion definition table associated with a respective one of the multiplicity of conversion identifiers of the conversion table, and a respective one of the multiplicity of language identifiers of the language table.
31. The database system of claim 27, further comprising: a linear conversion table having a multiplicity of first scalars, each of the multiplicity of first scalars of the linear conversion table being associated with a respective one of the multiplicity of conversion identifiers of the conversion table, and a respective one of a multiplicity of second scalars.
32. The database system of claim 4, further comprising: a keyword parameter table having a multiplicity of thesaurus identifiers, each of the multiplicity of thesaurus identifiers of the keyword parameter table being associated with a respective one of the multiplicity of parameter identifiers of the parameter table, each one of the multiplicity of thesaurus identifiers corresponding to a respective one of the multiplicity of parameter value identifiers of the keyword value table and a respective one of the multiplicity of object of analysis identifiers of the keyword value table.
33. The database system of claim 32, further comprising: a keyword relation table having a multiplicity of keyword relation type identifiers, each of the multiplicity of keyword relation type identifiers of the keyword relation table associated with a respective one of a multiplicity of parent parameter value identifiers, and a respective one of a multiplicity of child parameter value identifiers, each one of the multiplicity of parent parameter value identifiers corresponding to a respective one of the multiplicity of parameter value identifiers of the keyword value table and a respective one of the multiplicity of object of analysis identifiers of the keyword value table, and each one of the multiplicity of child parameter value identifiers corresponding to a respective one of the multiplicity of parameter value identifiers of the keyword value table and a respective one of the multiplicity of object of analysis identifiers of the keyword value table.
34. The database system of claim 35, further comprising: a language table having a multiplicity of language identifiers, each of the multiplicity of language identifiers associated with a corresponding language; and a keyword relation type definition table having a multiplicity of keyword relation type descriptions, each one of the multiplicity of keyword relation type descriptions of the keyword relation type definition table associated with a respective one of the multiplicity of keyword relation type identifiers of the keyword relation table, a respective one of the multiplicity of language identifiers of the language table, and a respective one of a multiplicity of keyword relation type abbreviations.
35. The database system of claim 34, further comprising: a language table having a multiplicity of language identifiers, each of the multiplicity of language identifiers associated with a corresponding language; and a keyword definition table having a multiplicity of keyword definitions, each one of the multiplicity of keyword definitions of the keyword definition table being associated with a respective one of the multiplicity of parameter value identifiers of the keyword value table, a respective one of the multiplicity of object of analysis identifiers of the keyword value table, a respective one of the multiplicity of language identifiers of the language table, and a respective one of a multiplicity of keyword definition abbreviations.
36. A method for creating a database system comprising:
(a) creating at least one first parameter value table having a multiplicity of parameter value identifiers each corresponding to a respective data record and a multiplicity of object of analysis identifiers each corresponding to a respective data record;
(b) creating a collection table having a multiplicity of collection identifiers; (c) creating a parameter table having a multiplicity of parameter identifiers each associated with a respective one of the collection identifiers of the collection table;
(d) creating a dimension role table having a multiplicity of role identifiers each associated with a respective dimension identifier and a respective one of the parameter identifiers of the parameter table;
(e) creating an object of analysis table having a multiplicity of object of analysis identifiers, each one of the object of analysis identifiers being associated with a respective one of the dimension identifiers of the dimension role table and a respective one of the object of analysis identifiers; (f) creating a record index part table having a multiplicity of record identifiers each associated with a respective one of the parameter identifiers of the parameter table, a respective one of the role identifiers of the dimension role table, and a respective one of the object of analysis identifiers of the object of analysis table; and (g) creating a record table having a multiplicity of parameter value identifiers of the at least one parameter value table, each parameter value identifier being associated with a respective one of the record identifiers of the record index part table.
37. The method of claim 36, wherein: each one of the multiplicity of parameter identifiers of the parameter table corresponds to a specified one of a plurality of parameter value types; each of the at least one first parameter value table corresponds to a first selected one of the plurality of parameter value types of the parameter table; and each one of the multiplicity of parameter value identifiers of each one of the at least one first parameter value table corresponding to the first selected one of the plurality of parameter value types of the parameter table, and further comprising: creating at least one second parameter value table each corresponding to a second selected one of the plurality of parameter value types of the parameter table, each one of the at least one second parameter value table having a multiplicity of parameter value identifiers, each corresponding to the second selected one of the plurality of parameter value types of the parameter table.
38. The method of claim 37, wherein a specified one of a plurality of object types is associated with each one of the multiplicity of object of analysis identifiers, and each one of the plurality of object types corresponding to a respective one of the plurality of parameter types for referencing at least one first parameter value tables corresponding to the same parameter type.
39. The database systems of claim 38, wherein the step of creating the plurality of first parameter value tables further comprises creating a keyword value table and a date value table each corresponding to a respective one of the plurality of parameter value types, and the step of creating at least one second parameter value table further comprises creating a number value table and a note value table each corresponding to a respective specified one of the plurality of parameter value types and wherein the keyword value table corresponds to a first one of the plurality of object types and the data value table corresponds to a second one of the plurality of object types.
40. The method of claim 39, further comprising the step of using each one of the object of analysis identifiers of the object of analysis table associated with the first one of the plurality of object types for searching the object of analysis identifiers of the keyword value table, and using each one of the object of analysis identifiers of the object of analysis table associated with the second one of the plurality of object types for searching the object of analysis identifiers of the date value table.
41. The method of claim 36, further comprising creating a language table having a multiplicity of language identifiers, each of the multiplicity of language identifiers associated with a corresponding language; and creating a collection definition table having a multiplicity of collection definition short names, each one of the collection definition short names of the collection definition table corresponding to a respective one of the multiplicity of language identifiers and a respective one of the multiplicity of collection identifiers of the collection table.
42. The method of claim 36, further comprising creating a collection annotation table having a multiplicity of collection annotation identifiers, each one of the collection annotation identifiers of the collection annotation table corresponding to a respective one of the multiplicity of collection identifiers of the collection table.
43. The method of claim 42, further comprising creating a language table having a multiplicity of language identifiers, each of the multiplicity of language identifiers associated with a corresponding language; and creating a collection annotation definition table having a multiplicity of collection annotation names, each one of the multiplicity of collection annotation names of the collection annotation definition table corresponding to a respective one of the multiplicity of collection annotation identifiers of the collection annotation table, a respective one of the multiplicity of language identifiers of the language table, and a respective one of a multiplicity of collection annotation values.
44. A method for building upon a database system comprising: building at least one table to accommodate a set of data; loading the set of data into the at least one table; defining a collection for the set of data; defining a database parameter for each parameter of the set of data; defining a dimension in the database system for each dimension of the set of data that does not already exist in the database system; defining at least one role in the database system for each dimension of the set of data; building an object of analysis value in the database system for each value of a dimension of the set of data, the object of analysis being one of a date value and a keyword value; building a parameter value in the database system for each value of a parameter of the set of data, the parameter value being one of a date value, a number value, a keyword value, and a note value.
45. The method of claim 44, wherein the step of defining the parameter in the database system is preceded by defining a unit of measure in the database system for each unit of measure of the set of data that does not exist in the database system.
46. The method of claim 45, wherein the step of defining a parameter in the database system is preceded by defimng a thesauri in the database system for each group of keywords in the set of data that is not in the database system.
47. The method of claim 44, wherein the step of defining a collection in the database system further comprises the steps of: building a record in a collection definition table including a collection definition short name that is a short name for the set of data, a collection identifier, and a language identifier; and building a record in a collection table including a collection identifier.
48. The method of claim 44, wherein the step of defining a parameter in the database system further comprises the steps of: building a record in a parameter table including a parameter identifier, a status identifier, a collection identifier, and a parameter value type; building a record in a parameter definition table including a language identifier, a parameter identifier, a parameter definition short name, a parameter definition long name, and a parameter definition; and building a record in a status definition table including a status identifier, a language identifier, a status abbreviation, and a status description.
49. The method of claim 44, wherein the step of defining a dimension in the database system further comprises the steps of: building a record in a dimension definition table including a dimension identifier, a language identifier, a dimension definition name, and a dimension definition description.
50. The method of claim 49, wherein the step of defining a role in the database system further comprises the steps of: building a record in a role definition table including a language identifier, a role identifier, a role definition name, and a role definition description; and building a record in a dimension role table including a parameter identifier, a role identifier, and a dimension identifier.
51. The method of claim 50, wherein the step of building an object of analysis value in the database system further comprises: sensing that the object of analysis value is a keyword value; building a record in a keyword definition table including a language identifier, a parameter value identifier, keyword definition abbreviation and a keyword definition; and building a record in a object of analysis table including the parameter value identifier, the dimension identifier and an object type.
52. The method of claim 51, wherein the step of building an object of analysis value in the database system further comprises: sensing that the object of analysis value is a date value; building a record in a date value table including a parameter value identifier, a date value type, a date value start, a date value end, and a date value precision; and building a record in an object of analysis table including the parameter value identifier, the dimension identifier and an object type.
PCT/US2001/019085 2000-06-15 2001-06-15 A method and system for a relational data model for integrated management and analysis of generalized n-dimensional tabular data with multilingual support WO2001097075A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001268415A AU2001268415A1 (en) 2000-06-15 2001-06-15 A method and system for a relational data model for integrated management and analysis of generalized n-dimensional tabular data with multilingual support

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US21171800P 2000-06-15 2000-06-15
US60/211,718 2000-06-15

Publications (2)

Publication Number Publication Date
WO2001097075A2 true WO2001097075A2 (en) 2001-12-20
WO2001097075A3 WO2001097075A3 (en) 2003-08-21

Family

ID=22788065

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/019085 WO2001097075A2 (en) 2000-06-15 2001-06-15 A method and system for a relational data model for integrated management and analysis of generalized n-dimensional tabular data with multilingual support

Country Status (2)

Country Link
AU (1) AU2001268415A1 (en)
WO (1) WO2001097075A2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998001808A1 (en) * 1996-07-08 1998-01-15 Ser Systeme Ag Produkte Und Anwendungen Der Datenverarbeitung Database system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998001808A1 (en) * 1996-07-08 1998-01-15 Ser Systeme Ag Produkte Und Anwendungen Der Datenverarbeitung Database system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BERGAMASCHI S ET AL: "Object Wrapper: an object-oriented interface for relational databases" PROCEEDINGS OF THE 23RD EUROMICRO CONFERENCE, NEW FRONTIERS OF INFORMATION TECHNOLOGY, BUDAPEST, HU, 1 - 4 September 1997, pages 41-46, XP010243952 IEEE COMPUT. SOC., LOS ALAMITOS, CA, US ISBN: 0-8186-8129-2 *
CHOOBINEH J: "A meta ERM and its relational translation for a database design system" PROCEEDINGS OF THE THIRTIETH HAWAII INTERNATIONAL CONFERENCE ON SYSTEM SCIENCES, WAILEA, HI, US, 7 - 10 January 1997, pages 426-433, XP010271806 IEEE COMPUT. SOC., LOS ALAMITOS, CA, US ISBN: 0-8186-7743-0 *
MORGENSTERN M: "Integrating Web and database information for collaboration through explicit metadata" PROCEEDINGS, SEVENTH IEEE INTERNATIONAL WORKSHOP ON ENABLING TECHNOLOGIES: INFRASTRUCTURE FOR COLLABORATIVE ENTERPRISES, STANFORD, CA, US, 17 - 19 June 1998, pages 204-210, XP010312190 IEEE COMPUT. SOC., LOS ALAMITOS, CA, US ISBN: 0-8186-8751-7 *
NADKARNI P M: "QAV: QUERYING ENTITY-ATTRIBUTE-VALUE METADATA IN A BIOMEDICAL DATABASE" COMPUTER METHODS AND PROGRAMS IN BIOMEDICINE, vol. 53, no. 2, June 1997 (1997-06), pages 93-103, XP000889755 ELSEVIER, AMSTERDAM, NL ISSN: 0169-2607 *

Also Published As

Publication number Publication date
AU2001268415A1 (en) 2001-12-24
WO2001097075A3 (en) 2003-08-21

Similar Documents

Publication Publication Date Title
Folk et al. An overview of the HDF5 technology suite and its applications
US8914414B2 (en) Integrated repository of structured and unstructured data
US9009201B2 (en) Extended database search
US6163781A (en) Object-to-relational data converter mapping attributes to object instance into relational tables
US5799310A (en) Relational database extenders for handling complex data types
Barateiro et al. A survey of data quality tools.
US8145668B2 (en) Associating information related to components in structured documents stored in their native format in a database
Remsen The use and limits of scientific names in biological informatics
US20050149538A1 (en) Systems and methods for creating and publishing relational data bases
US20090112812A1 (en) Spatially enabled content management, discovery and distribution system for unstructured information management
Rusu et al. A methodology for building XML data warehouses
US20110106836A1 (en) Semantic Link Discovery
Richards et al. The Archaeology Data Service and the Archaeotools project: faceted classification and natural language processing
Abramowicz et al. Filtering the Web to feed data warehouses
Kriegel et al. SQL bible
US7426506B2 (en) Parameterized keyword and methods for searching, indexing and storage
Ambite et al. Data Integration and Access: The Digital Government Research Center’s Energy Data Collection (EDC) Project
Pluempitiwiriyawej et al. Element matching across data-oriented XML sources using a multi-strategy clustering model
Engle et al. Evaluation Criteria for Selecting NoSQL Databases in a Single Box Environment
El-Khatib et al. A framework and test-suite for assessing approaches to resolving heterogeneity in distributed databases
WO2001097075A2 (en) A method and system for a relational data model for integrated management and analysis of generalized n-dimensional tabular data with multilingual support
Boulanger et al. An approach to analyzing the information content of existing databases
Nicola et al. DB2 pureXML cookbook: master the power of the IBM hybrid data server
Leonova et al. Analysis of requirements for the creation of an information system for managing information resources to support scientific activities
Kamel Identifying, classifying, and resolving semantic conflicts in distributed heterogeneous databases: A case study

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP