1. Field of the Invention
The present invention relates to data problem diagnosing tools and, more particularly, to a method and system for systematically diagnosing data problems in a database.
2. Description of the Related Art
DataBase Administrators (DBAs) monitor and maintain databases to ensure accurate and consistent storage of data in the databases. DBAs load and retrieve data to and from the database using a programming language called SQL (Structured Query Language) which is well known to DBAs. In a database, data are stored in tables. Each table has a set of rows and fields (columns). Each row in the table is identifiable by one or a combination of unique identifiers known as “keys” and each field in the table is identifiable by a field name. A field containing the keys is known as a “key field.” DBAs and database programmers utilize keys and field names to retrieve particular data from a database table.
Conventionally, when the integrity of data stored in a database is questioned, the DBA attempts to diagnose the nature of the problem and/or the exact location of the problem using one of the standard SQL statements known as “SELECT.” A SELECT statement is an SQL command for retrieving data from one or more tables of the database. Without knowing the exact nature or location of the data problem in the database, the DBA must speculate on where the problem may lie and use the SELECT statement to retrieve data from the potential problem areas of the database. The DBA compares the retrieved data with some source to determine whether inaccurate or inconsistent data are stored in the database, and whether any data is missing from a particular location in the database. This process is repeated until the DBA can diagnose properly the data problem in the database. As a result, the conventional process of diagnosing data problems in the database can be extremely time consuming and inefficient. Furthermore, the DBA must keep track of any data retrieved during this process and manually compare data sets to determine the exact nature and/or location of the data problem. This also can be tedious and is prone to human error.
Therefore, there is a need for an improved technique by which data integrity problems or other problems in a database can be diagnosed more quickly and more systematically, thereby overcoming problems encountered in conventional data problem diagnosing techniques for databases.