IMPROVEMENTS IN OR RELATING TO DATABASES AND WORLD WIDE WEB SITES
The present invention relates to databases, particularly although not
exclusively computer databases.
Computer databases are widely employed for the storage and
management of data. There are many different types of databases including
relational databases, object databases and web sites on the internet which
can be considered to be databases. A typical web site comprises the software
files in which the site has been written and a back end database.
A web site software and associated files including world wide web pages are
defined here as one particular application of a computer database.
In order to maintain their accuracy and usefulness the data stored on
databases must be updated when necessary. This is conventionally achieved
by a user manually interrogating a database to identify data that requires
updating, and then updating that data or by generating a file of sql (or similar)
commands to be run against the database. A mechanism is needed which
can automate the process of identifying when data in the database needs to
be updated. Currently it can be a very time consuming process to identify
data that needs updating, especially where a large amount of data is stored
in a database. There is also the possibility that a user might overlook some
data that requires updating.
The present invention has been made in consideration of these
problems which it seeks to overcome, or at least reduce. A solution which is
provided here is a mechanism to efficiently organise and automate the
identification of when data in the database needs to be checked to see if it
needs updating.
According to a first aspect of the present invention there is provided a
method of creating a database comprising the steps of: storing a plurality of
data elements and storing a plurality of descriptive data tags each associated
with one or more of the data elements and each providing information relating
to updating of the data element or elements with which it is associated.
According to a second aspect of the present invention there is
provided a method of updating a database comprising a plurality of data
elements and a plurality of descriptive data tags each associated with one or
more of the data elements and each providing information relating to updating
of the data element or elements with which it is associated comprising the
steps of: searching through the descriptive data tags to identify tags meeting
predetermined criteria; and identifying data elements associated with the
identified tags; and updating those data elements and / or those descriptive
data tags which are deemed necessary for updating.
According to a third aspect of the present invention there is provided
database apparatus comprising means for storing a plurality of data elements
and a plurality of descriptive data tags each associated with one or more of
the data elements and each descriptive data tag providing information
relating to updating of the data element or elements with which it is
associated.
Provision of descriptive data tags providing information relating to
updating of associated data elements facilitates updating of the data
elements.
Preferably each descriptive data tag is associated with a respective
data element. The descriptive data tag may include any or all of the following
criteria or some other criteria related to updating data elements: a time when updating is required (including a date), a group identifier which indicates that
the data element is part of a group for updating purposes, a unique identifier which identifies the data element and a source identifier which identifies a
data source to use to update the data element.
The method of updating preferably includes, and the apparatus is
preferably arranged to perform, the step of searching through the descriptive
data tags to identify tags meeting predetermined criteria thereby identifying associated data elements having predetermined updating requirements. For example a search could be conducted to identify all data elements due to be
updated by a particular date or time. A search could also be conducted to identify groups of data elements with similar or related updating
requirements. Such data elements may be in the same database, in a
different database in the same apparatus or in several distributed databases in different apparatus.
Once identified, relevant data elements can be updated. The
respective descriptive data tags may also be updated to manage the next
update of the data elements.
The apparatus preferably includes an input means to enable a user to input information. In particular a user may input criteria upon which a search
of descriptive data tags is to be made.
The apparatus may also be arranged to conduct searches
automatically on the instructions of a user. For example the apparatus may continually check whether a date or time comprised in a descriptive data tag
corresponds to the current date or time as represented by a calendar or clock
comprised in the apparatus.
The apparatus preferably also comprises a means for displaying information. The apparatus is preferably arranged to display details of data
elements associated with any descriptive data tags identified by a search and to enable a user to selectively update those data elements and / or the descriptive data tags using the input device. Updating may involve modifying
or replacing data comprised in a data element or in a descriptive data tag.
The apparatus may also allow a user to update the descriptive data tag associated with a selected data element.
New data for updating each data element may be stored by the apparatus or be available to the apparatus, from one or more separate new
data sources. Where descriptive data tags include information relating to new data sources the apparatus is preferably arranged in accordance with
predetermined instructions to either give the user the option of updating one or more selected data elements with data from the new data sources or alternatively without user intervention to automatically update one or more
selected data elements subject to the appropriate selection criteria which is
contained in the descriptive data tags being met (e.g. a particular date and
time has been reached) and the associated descriptive data tag(s) being
marked for automatic update.
The database may be comprised in or associated with a world wide
web site. A world wide web site may be comprised in or associated with
software, files and databases which reside on the same or one or more
different apparatus or programmed computers.
The apparatus preferably comprises a programmed computer together
with the appropriate software for causing the computer to perform the
methods according to the invention including any or all of the recited optional
features.
According to a fourth aspect of the present invention there is provided
a computer program comprising program instructions for causing a computer
to perform the methods according to the invention including any or all of the
recited optional features.
According to a fifth aspect of the present invention there is provided a
computer program comprising program instructions which, when loaded onto
a computer, constitute the apparatus according to the invention including any
or all of its optional features.
In order that the invention may be more clearly understood
embodiments thereof will now be described by way of example, with
reference to the accompanying drawings of which:
Figure 1 is a schematic block diagram of a computer; and Figure 2 is a schematic block diagram of the arrangement of data in a relational (or similar) database.
Figure 3 is a schematic block diagram of the arrangement of data in a
relational (or similar) database where there is no separate
descriptive data tag. The information that would normally be
contained in the descriptive data tag related to updating of the database is incorporated in the data element 8.
Figure 4 is a schematic block diagram of the arrangement of data in a
world wide web site (world wide web database). Figure 1 shows a programmed computer. Referring to the Figure the
computer comprises a processor 1 for implementing program instructions, a
memory 2 comprising a working memory 3 (random access memory) and a longer term memory 4, for example a magnetic disk. The computer further
comprises user input means 5 comprising a keyboard 5a and mouse 5b, any
other suitable user input means could, however, be provided. The computer further comprises a display 6 for outputting information to a user, although,
again, any other suitable output means could be provided. Computer hardware as represented in Figure 1 is of course readily available.
Figure 2 shows an embodiment of the invention with reference to a
relational database however some of the techniques can be applied to other
types of databases including object databases and world wide web sites. Computer software which is an embodiment of the invention comprising
appropriate program instructions is stored in the memory 2 of the computer.
The software enables the computer to operate to provide a database for the storage, management and retrieval of data. The software causes the
computer to perform the methods according to the invention including any or
all of the recited optional features. The software when running on the computer enables a user to input a
plurality of what shall be termed here "complete data elements" into the computer for storage in the memory 2 of the computer. Each complete data
element may comprise two or more sub-elements, in particular (a) the data that a user wishes to store ("user data") for example text, numbers, images
and objects and (b) a descriptive sub-element ("meta data") which describes the user data. The descriptive sub-element may describe the length, type or
other characteristic of the user data being stored, for example numeric, decimal to three places, object, text.
Two or more complete data elements may be associated together in the computer's memory. In particular a number of complete data elements
may be associated to form a group. The group thus comprises two or more complete data elements each element comprising two sub-elements these being user data and associated meta data.
In common with existing data base software, the software enables a user to manage and retrieve stored user data using the computer. Management and retrieval of user data may be achieved by causing the
computer to search through stored user data elements and to retrieve user
data elements having a certain characteristic, and/or by sorting user data elements into a particular order, again according to some characteristic. For
example a database comprising a plurality of user data elements comprising
customer's names could be searched to identify all customers having the name "Brown" or sorted so that the names can be displayed in alphabetical order.
The software additionally allows each complete data element to be associated with a descriptive data tag providing information relating to
updating of the complete data element. The computer may then be used to select manage and update complete data elements (for example the user
data portion) in accordance with information stored in the descriptive data
tag, making the task of keeping the database up to date considerably easier
and more efficient than hitherto.
Figure 2 shows, schematically, how data may be stored in the database. There are a number of complete data elements 8. Each complete
data element 8 comprises two sub-elements 9,10. The first sub-element 9 comprises user data and the second sub-element 10 meta data describing the user data. Each data element 8 is associated with a descriptive data tag
11 comprising information relating to updating of the data comprised in the
complete data element (for example the user data portion)or elements with
which it is associated. More than one complete data element 8 may be
associated with a single descriptive data tag 11, however it would be more usual to have a single complete data tag 8 associated with a single
descriptive data tag 11. It is also possible to incorporate the descriptive data
tag 11 into the complete data element 8 so that they are not separate items. This is achieved by placing the information relating to updating the complete data element 8 (for example a date/time to update the user data) which would
be contained in the descriptive data tag 11 into the complete data element
(for example into the user data 9). This scenario is shown in Figure 3. As can
be seen the separate descriptive data tag shown in Figure 2 is no longer needed as shown in Figure 3.
One or more data elements may be associated to form a group 12 (see
figure 2 and figure 3). The descriptive data tags 11 (or the complete data element, when it
contains information relating to the updating of the complete data element) may include any information relating to the updating of the complete data
elements with which they are associated. Examples include (but are not
limited by) the following including any combination thereof: a data and/or time date/time at which the user data element requires
updating or examination to determine if updating is required
a unique identifier to uniquely identify the user data element, also
helps to group and to avoid duplication of user
data
a group identifier to identify this user data element as part of a
group; for example a group to which the user data
element belongs all of which do/may require to be
updated at the same time, or have the same or
similar updating requirements
a source identifier to identify a source of data to be used to update
this user data element
automatic update to instruct the computer to update the user data
indicator element automatically (see below)
Descriptive data tags may also include other types of information as
desired or as appropriate.
Descriptive data tags may be input by a user when initially setting up a
database or inputting data into a database, alternatively descriptive data tags
may be added to an existing database.
The software enables the data elements to be identified and
processed according to the information stored in a descriptive data tag, in
accordance with instructions given by a user.
A user may instruct the computer to automatically identify and bring to
his attention all user data elements where the associated descriptive data tag
contains a particular time/date. The user is then able to update those user
data elements as required and also to update the relevant descriptive data
tags for the next user data update. By careful selection of the inputted
time/date the user is able to instruct the computer to find and notify to the
user those descriptive data tags, and therefore the associated user data,
where the user data is overdue for update or is now due for update or will be
due for update at a particular time/date in the future.
A user may also cause the computer to search amongst stored
descriptive data tags to identify tags having specific characteristics, for
example all tags containing a group description to identify all data elements
which form a group of data elements having similar updating requirements.
A user may also cause the computer to sort user data elements
according to characteristics of their associated descriptive data tags, for
example to display them in date order in which they need updating.
Once a list of user data elements for updating has been produced a
user can choose which elements to update. The user may update either user
data and/or meta data comprised in the data element and may also update
the associated descriptive data tag for example to replace an existing date
for updating with a new date for updating the data element.
The software may also be instructed to cause the computer to
automatically update one or more user data elements. To achieve this a user
must specify in a descriptive data tag that the associated user data element is
to be automatically updated, the location of a source of data from which it is
to be automatically updated and a date and/or time for updating or some other criteria as to when updating is to take place, for example when a
specified source of data becomes available. At the relevant time when the specified criteria is met the computer will automatically replace the data
comprised in the user data element with data from the specified data source.
As an alternative the software may request confirmation from a user
prior to automatic updating of the identified user data elements.
To facilitate addition of descriptive data tags to existing databases the
software includes instructions operative to cause the computer to search
through an existing database to identify all data elements 8 and then to
enable a user to review the data elements 8 and add a descriptive data tag 11 to each data element 8.
The invention applies to many types of database including but not
limited to relational databases, object databases and world wide web sites. It is particularly useful, however, in relation to the management of world wide
web sites. Such sites typically comprise software and associated files,
objects, images, text, video and relational databases. Taken together all of these can be considered to comprise the database of all the data which is
used and / or displayed on the site. Reviewing a large web site to determine which data, if any, requires updating is particularly tedious and error prone.
The invention may be applied to a web site as described below,
(refer to Figure 4).
For an existing web site without descriptive data tags 11 the site is first
searched using the software embodiment of the present invention to identify all the web data elements 13 and to input a descriptive data tag 11 to
associate with each web data element 13. Part of the descriptive data tag 11 is an index (or a unique identifier). The index can be a URL (uniform
resource locator) or URI (uniform resource identifier) or some other index. The index will provide a unique reference (in the requisite name-space, to
each and every web data element 13. Descriptive data tags 11 can have
some, or all, or alternate values, properties and characteristics of descriptive data tagsl 1 portrayed elsewhere in this document, which describe how and
when the web data element 13 should be updated.
Each web data element 13 (for example page, file, image, object, text block or other unit of data) is now associated with a descriptive data tag 11
relating to how and when the web data element 13 should be updated or modified.
A new web site can be constructed including descriptive data tags 11 from the start.
To update the web site a user inputs criteria as defined in the descriptive data tags 11 describing which web data elements 13 are to be updated and the criteria for updating (for example a date/time, or as part of a
group). The computer then searches through the descriptive data tags 13 and returns and displays a list of web data elements 13 to be updated where
the criteria input by the user matches or relates in some way to the value(s) in
the descriptive data tags 11. The user may then view the list on the display
and select the web data elements 13 to be updated.
If the descriptive data tag 11 defines only the data/time for updating then the search can return a list of web data elements 13 which are to be
updated or are to be checked to verify if they need updating by the date/time which was input by the user. Alternatively the apparatus can select and
display for the user those web data elements which are overdue for updating or will need to be updated at a particular date/time in the future. Each web
data element can then either be reviewed, marked for update at some
alternative date/time or actually updated manually. If the descriptive data tag
11 defines the date/time and a new data source then the search can return a
list of web data elements which are to be modified by that date/time (or are overdue for modification). Each element can then be updated automatically
without further user intervention or selectively at the option of the user using
the new data source as the update element. The descriptive data tag 11 can be defined so that when used in conjunction with the selection criteria routine
a list is returned of web data elements 13 to be updated in accordance with the wishes of the user. As each web data element 13 is updated an option
can be given to update the descriptive data tag 11 associated with the web data element 13 to control the next update.
The apparatus could additionally be arranged to perform automatic
updating of some or all web data elements 13 without further reference to the user, as described above.
The incorporation of web data tags 11 relating to updates in a database or web site considerably facilitates updating of the databases and web sites.
The above embodiments are described by way of example only. Many variations are possible without departing from the invention.