Database analyzer and database analysis method

A database analyzer includes a data sorting unit sorting a data group acquired from an analysis target database based on data values in a table column and storing it as analysis target data in a storage unit; a data pattern creation processing unit creating a group for each data value based on differences between the data values and storing a data pattern in the storage unit; a data pattern judgment processing unit for judging validity of the data pattern; and a data pattern transformation processing unit for reconstructing the data pattern with respect to constituent elements of each group included in the data pattern by transforming each group in accordance with a specified conversion rule for converting the constituent elements, which are conceptually similar to each other, into the same constituent element, and storing it in the storage unit if a negative result is obtained for the validity judgment.

TECHNICAL FIELD

The present invention relates to a database analyzer and a database analysis method and is suited for use in a database analyzer and database analysis method for analyzing data groups retained in a database,

BACKGROUND ART

Recently, databases which retain a large amount of data have been being actively used; however, regarding development of a database, it is necessary to adjust various parameters relating to the database, such as the size of resources to be allocated within the database (tuning of the database). A general method for tuning a database appropriately is to perform a test to impose load on the database by using dummy test data and thereby evaluate the status of the database.

A commercially available test data generation tool can be used to create such test data, but a user needs to set characteristics of data to be generated with respect to, for example, the range of data values and occurrence frequency. In order to do so, it is important to definitely understand what data having what kind of characteristics are stored in an analysis target database.

For example, Patent Literature 1 describes a test data generator for generating dummy test data from data stored in an existing database. The test data generator described in Patent Literature 1 can generate dummy test data which is suited for actual circumstances, by calculating characteristics of the data from the data stored in the existing database, which is actually in operation, and generating necessary test data for a target database to be developed by utilizing the calculated characteristics.

CITATION LIST

Patent Literature

SUMMARY OF INVENTION

Problems to be Solved by the Invention

Meanwhile, the test data generator described in Patent Literature 1 obtains characteristics of data by focusing attention on the characteristics of the data between table columns with respect to a data group which is an analysis target but cannot obtain table-column-based data characteristics. So, there is a problem of difficulty to generate an appropriate amount of test data which secures exhaustivity, based on data-column-based characteristics.

An explanation will be given below by giving a specific example. For example, if data-column data of data groups in a certain database are divided into three types of data groups, that is, a “null value,” “half-size character strings,” and “full-size character strings,” it can be expected that exhaustivity of a test of the database can be secured by conducting the test by creating test data for respective cases in which the above-mentioned three types of information is handled. However, in a case of the test data generator described in Patent Literature 1, it cannot acquire characteristics of data on a table column basis, so that you have no choice but to select a method of conducting the test by using all pieces of test data generated by the test data generator or conducting the test by using data randomly selected from all the pieces of test data generated by the test data generator. When all the pieces of test data are used under this circumstance, there is a possibility that the test data more than an essentially necessary test amount may be used in order to secure exhaustivity of the test, which results in a problem in terms of test cost and test time efficiency. Moreover, when the randomly-selected data are used, there is a problem of incapability to secure exhaustivity. Specifically speaking, it is difficult for the test data generator described in Patent Literature 1 to generate appropriate test data based on the data-column-based characteristics.

The present invention was devised in consideration of the above-described circumstances and aims at proposing a database analyzer and database analysis method capable of exhaustively analyzing a database and providing a data pattern obtained by classifying data groups of the database in terms of table-column-based characteristics.

Means for Solving the Problems

In order to solve the above-mentioned problems, provided according to the present invention is a database analyzer for analyzing a data group stored in an analysis target database by focusing attention on a designated table column in the data, the database analyzer including: a storage unit storing data; a data sorting unit for sorting a data group acquired from the analysis target database based on data values of the table column and storing it as analysis target data in the storage unit; a data pattern creation processing unit for creating a group for each of the data values based on differences between the data values of the analysis target data and storing a data pattern, which is a collection of the groups, in the storage unit; a data pattern judgment processing unit for judging validity of the data pattern stored in the storage unit based on a first judgment standard; and a data pattern transformation processing unit for transforming and reconstructing the data pattern and storing the reconstructed data pattern in the storage unit if a negative result is obtained for the validity judgment by the data pattern judgment processing unit; wherein the data pattern transformation processing unit reconstructs the data pattern with respect to constituent elements of each group included in the data pattern by transforming each group in accordance with a specified conversion rule for converting the constituent elements, which are conceptually similar to each other, into the same constituent element.

Furthermore, in order to solve the above-mentioned problems, provided according to the present invention is a database analysis method by a database analyzer for analyzing a data group stored in an analysis target database by focusing attention on a designated table column in the data, the database analyzer including a storage unit storing data, the database analysis method including: a data sorting step executed by the data analyzer sorting a data group acquired from the analysis target database based on data values of the table column and storing it as analysis target data in the storage unit; a data pattern creation step executed by the data analyzer creating a group for each of the data values based on differences between the data values of the analysis target data and storing a data pattern, which is a collection of the groups, in the storage unit; a data pattern judgment step executed by the data analyzer judging validity of the data pattern stored in the storage unit based on a first judgment standard; and a data pattern reconstruction step executed, if a negative result is obtained for the validity judgment by the data pattern judgment unit, by the data analyzer reconstructing the data pattern with respect to constituent elements of each group included in the data pattern by transforming each group in accordance with a specified conversion rule for converting the constituent elements, which are conceptually similar to each other, into the same constituent element and storing the reconstructed data pattern in the storage unit.

Advantageous Effects of the Invention

The present invention can exhaustively analyze a database and provide a data pattern obtained by classifying data groups of the database in terms of table-column-based characteristics.

DESCRIPTION OF EMBODIMENTS

(1) First Embodiment

A database analyzer according to a first embodiment is characterized in that it classifies data groups of a database by analyzing the database by focusing attention on a designated table column and creates and outputs a data pattern obtained by classifying the data groups of the database in terms of table-column-based characteristics.

(1-1) Configuration of Database Analyzer

The configuration of a database analyzer according to this embodiment will be firstly explained.FIG. 1is a block diagram illustrating a configuration example of a database analyzer according to the first embodiment. A database analyzer10is connected via a network31to a database30storing data which is to be an analysis target; and, for example, a computer having a general configuration can be used as the database analyzer10. The database analyzer10is configured by including a network interface (I/F)100, a CPU (Central Processing Unit)101, a memory102, an input device103, an output device104, and an external storage apparatus105as shown inFIG. 1.

The network I/F100is an interface connect to outside of the database analyzer10via the network31in a manner capable of communicating with outside of the database analyzer10and input/output data and send/receive signals to/from outside of the database analyzer10. For example, data stored in the database30are input to the database analyzer10via the network31and the network I/F100.

The CPU101controls the entire database analyzer10. For example, when executing processing programs110retained in the external storage apparatus105, the CPU101reads the processing programs110, which have been read from the external storage apparatus105, to the memory102and executes the processing programs110which have been read to the memory102. The memory102is a storage device for temporarily storing data and programs and, for example, a DRAM (Dynamic Random Access Memory) or an SRAM (Static RAM) can be used as the memory102.

The input device103is an input device such as a keyboard or a mouse and sends signals according to input operation by a user to the CPU101. For example, if the user performs a specified input operation on the input device103, data retained in the database30are input to the database analyzer10via the network31and the input I/F100and written to the external storage apparatus105under control of the CPU101which received the signals according to the input operation.

The output device104is an output device such as a display or a printer and outputs data and signals under control of the CPU101. For example, after database analysis processing described later, the output device104displays an image, which shows database analysis results, on the display or outputs text data indicating the database analysis results from the printer under control of the CPU101. Moreover, when outputting the database analysis results to external equipment connected to the database analyzer10, the CPU101may have the external equipment output the database analysis results via the network I/F100.

The external storage apparatus105is a storage device storing data and programs inside and, for example, an HDD (Hard Disk Drive) or a CD-R (Compact Disc Recordable) may be used as the external storage apparatus105. Incidentally, an auxiliary storage device, such as a USB (Universal Serial Bus) memory, which is connected to the database analyzer10may be used instead of the external storage apparatus105. The external, storage apparatus105retains the processing programs110for executing processing for analyzing the database as shown inFIG. 1. Moreover, the external storage apparatus105includes respective storage units of a data storage unit106, a data pattern judgment standard storage unit107, a data pattern storage unit108, and a data pattern transformational rule, storage unit109.

The data storage unit106stores data which are input via the network I/F100from outside. For example, referring toFIG. 1, data of the database30are stored in the data storage unit106. Moreover, the data pattern storage unit108stores data patterns which are information indicating a method for grouping data groups retained in the analysis target database. As a result of execution of the processing programs110, data patterns for the data groups stored in the data storage unit106are created and stored in the data pattern storage unit108.

Furthermore, the data pattern judgment standard storage unit107retains data indicating data pattern judgment standards in advance and the data pattern transformational rule storage unit109stores data indicating data pattern transformational rules in advance. The details of the data patterns, the data pattern judgment standards, and the data pattern transformational rules will be explained in relation to database analysis processing described later.

The processing programs110are programs for implementing a data pattern creation processing unit111, a data pattern judgment processing unit112, a data pattern quantification processing unit113, a data pattern transformation processing unit114, a data pattern visualization processing unit115, and a data sorting unit116when the CPU101reads the processing programs110to the memory102and executes them.

The data pattern creation processing unit111creates an initial data pattern by referring to data stored in the data storage unit106and creating a group based on differences between the data, and writes the initial data pattern to the data pattern storage unit105. The details of the initial data pattern will be explained later with reference toFIG. 4toFIG. 6.

The data pattern judgment processing unit112performs point rating of a data pattern stored in the data pattern storage unit108by using the data pattern quantification processing unit113and judges whether adequacy of the data pattern satisfies a necessary standard, based on a data pattern judgment standard read from the data pattern judgment standard storage unit107. The data pattern quantification processing unit113executes processing for quantifying the data pattern by performing point rating according to characteristics of the data pattern.

The data pattern transformation processing unit114executes processing for transforming data patterns read from the data pattern storage unit108based on data pattern transformational rules read from the data pattern transformational rule storage unit109. Furthermore, the data pattern transformation processing unit114performs point rating of the transformed data patterns by using the data pattern quantification processing unit113and writes a data pattern with the highest point to the data pattern storage unit108.

The data pattern visualization processing unit115reads data patterns stored in the data pattern storage unit108, converts them into a specified format easily recognizable by the user, and outputs the converted data patterns to the output device104. The specified format to convert data patterns is, for example, an image format, a table format, a graph format, or a text format. Incidentally, the data pattern visualization processing unit115may convert data patterns into a specified computer-readable format and output the converted data patterns. In this case, the specified format is, for example, a text data format or a binary data format.

The data sorting unit116executes processing for sorting data, which are input to the database analyzer10, in accordance with specified rules and storing them as analysis target data in the data storage unit106. Incidentally, the data sorting by the data sorting unit116is executed with priority over processing by other processing units111to115in the processing programs110.

The database analyzer10analyzes characteristics of a data group retained in the database30by means of operations by each of the aforementioned processing units111to116by focusing attention on data values in the same table column, creates a data pattern for grouping the data group according to the characteristics, and classifies the data group according to a finally decided data pattern, thereby analyzing the data group of the database on a table column basis.

(1-2) Database Analysis Processing

FIG. 2is a flowchart illustrating a processing sequence for database analysis processing for analyzing a data group of the database. The outline of the database analysis processing by the database analyzer10will be explained with reference toFIG. 2and its details will be explained with reference to other drawings as necessary.

(1-2-1) Input of Analysis Target Data

When the user firstly performs a specified input operation on the input device103to issue an instruction to start analyzing the database, copy data of a data group stored in the database30is input via the network31and the network I/F100to the database analyzer10(step S101inFIG. 2). When the specified input operation to issue the instruction to start analyzing the database is performed, a data group which is an analysis target and a table column on which attention should be focused at the time of analysis (the analysis target column) are designated. This analysis target column is one of columns constituting table data for the data group which is the analysis target and for example, a “product ID” and a “product name” are columns in a “product” table301inFIG. 3described later.

Incidentally, data input from the database30to the database analyzer10may be all pieces of the copy data of data groups stored in the database30; however, in consideration of enhancement of processing speeds and efficiency in the use of storage areas, the data input from the database30to the database analyzer10should preferably be copy data of a data group which is designated as the analysis target among data groups stored in the database30. The following explanation will be given assuming that the copy data of the data group designated as the analysis target is input to the database analyzer10.

Then in step S101, the data sorting unit116sorts the data input from the database30to the database analyzer10by focusing attention on the designated analysis target column and stores the data, which are the sorting results, as analysis target data in the data storage unit106.

FIG. 3is a schematic diagram for explaining the analysis target data. The “product” table301shown inFIG. 3is part of data groups stored in the database30and an example of the data groups designated as analysis targets when the specified input operation is performed to issue the instruction to start the database analysis. The “product” table301is table-format data, in which information related to “products” is collected, and is constituted from, for example, a product name column describing a product name and a product ID column302describing a product ID assigned corresponding to the relevant product name in advance.

Now, assuming that the product ID302is designated as an analysis target column when the specified input operation is performed to issue the instruction to start the database analysis, the data sorting unit116sorts data included in the product ID column302and stores the data as analysis target data303in the data storage unit106. The data sorting unit116counts the number of occurrences of the same data value with respect to the plurality of pieces of data in the product ID column302stored in the “product” table301, Then, the data sorting unit116forms a pair of a data value304of the product ID and the number of occurrences305of the relevant data value304, thereby creating the analysis target data303. Regarding the analysis target data303shown inFIG. 3, a pair306indicates that there are “eight” product IDs having the data value304which is “123456”; and a pair307indicates that there are “two” product IDs having the data value304which is “123568.”

Incidentally, when creating the analysis target data303, the data sorting unit116may form pairs of the data value304and the number of occurrences305, but also execute, for example, processing for sorting the data value304or the number of occurrences305of the product ID in ascending order or sorting processing effective for calculation of data patterns.

Furthermore, the first embodiment explains, as one example, that all pieces of data included in one column are character strings having the same length; however, the character string length of the data included in the column may not be the same. If data composed of character strings with different lengths are included in the column, the data sorting unit116may execute processing for dividing the data into data groups for respective character string lengths in advance and then execute processing described later.

(1-2-2) Creation of Initial Data Pattern

After the analysis target data303is input to the data storage unit106in step S101, the data pattern creation processing unit111refers to the analysis target data303stored in the data storage unit106. Then, the data pattern creation processing unit111creates groups based on differences between the data from the analysis target data303, creates a first data pattern (initial data pattern) by putting together the created groups, and writes the created initial data pattern to the data pattern storage unit108(step S102inFIG. 2). The differences between the data herein means differences of the character strings (corresponding to the data value304) in the column sorted as the analysis target data303and the data pattern creation processing unit111creates the initial data pattern by forming a tree structure of the character strings for the column with respect to each data value.

FIG. 4toFIG. 6are schematic diagrams for explaining the processing for creating the initial data pattern. Firstly, the data pattern creation processing unit111creates a node400which becomes a root for a tree as shown inFIG. 4. Furthermore, the data pattern creation processing unit111selects one pair (for example, the pair306) by referring to the analysis target data303stored in the data storage unit106and creates a tree corresponding to the selected pair306. This tree is composed of nodes401to407; is configured to set the node401, which has a value of a first character of the data value304(“1” in the case of the pair306), as a root and set nodes402to406, each of which has a value of a k-th character (k is a natural number equal to or more than 2) of the data value304, as children of the nodes401to405, each of which has a value of a (k−1)-th character; and is configured to set the node407, which has a value of the number of occurrences305(“8” in the case of the pair306), as a child of the node406having a value of the last character (“6” in the case of the pair306) of the data value304. Next, the data pattern creation processing unit111creates a tree410by synthesizing the tree by adding the node401as a child to the node400. Therefore, the tree410shown inFIG. 4is a tree created corresponding to the pair306.

Subsequently, as shown inFIG. 5, the data pattern creation processing unit111selects a pair which has not been selected from the analysis target data303(for example, the pair307) and creates a tree500corresponding to the selected pair307by the same creation method as illustrated inFIG. 4. Then, the data pattern creation processing unit111adds a node501, which is a root for a tree500, as a child of the node400to the created tree410having the node400as its root, thereby synthesizing the tree500with the tree410. When synthesizing the tree500with the tree410, the data pattern creation processing unit111performs the synthesis so that nodes at the same depth of the tree and having the same character as their value become the same node. For example, referring toFIG. 5, the nodes501,502,503of the tree500and the nodes401,402,403of the tree410are at the same depths and have the same characters as their values respectively, so that they become the same nodes (nodes511to513) in the synthesized tree510.

Next, the data pattern creation processing unit111executes processing for creating trees for all pairs of the analysis target data303retained in the data storage unit106by the method illustrated inFIG. 4andFIG. 5and synthesizing them with the tree having the node400as its root.FIG. 6illustrates analysis target data600composed of 10 pairs and a tree601created based on the analysis target data600. The tree601is a tree formed by synthesizing 10 trees created corresponding to all the pairs of the analysis target data600by using the node400as its root. The data pattern creation processing unit111writes the tree601as the initial data pattern based on the analysis target data600to the data pattern storage unit108at the end of step S102.

(1-2-3) Data Pattern Validity Evaluation

After the initial data pattern (the tree601) is written to the data pattern storage unit108in step S102, the data pattern judgment processing unit112evaluates validity of the data pattern retained in the data pattern storage unit108(step S103inFIG. 2). Incidentally, if the processing in step S103is performed immediately after step S102, the data pattern evaluation unit112evaluates the validity of the initial data pattern; and if the processing in step S103is executed immediately after processing in steps S105and S106(described later), the data pattern evaluation unit112evaluates the validity of a data pattern reconstructed in the immediately preceding steps S105and S106.

In step S103, the data pattern judgment processing unit112firstly reads the data pattern retained in the data pattern storage unit108and performs point rating of the data pattern by using the data pattern quantification processing unit113. The data pattern quantification processing unit113executes specified processing for quantifying characteristics of the data pattern: and, for example, if the data pattern is the tree601, the data pattern quantification processing unit113calculates the number of groups by counting the number of leaves constituting the tree601. Since the number of leaves in the tree601shown inFIG. 6is 10, the data pattern is point-rated as “10” as the number of groups.

The data pattern judgment processing unit112judges validity of the data pattern which has been point-rated by using the data pattern quantification processing unit113, to check if the data pattern satisfies appropriate standards based on a specified standard (data pattern evaluation standard) retained in the data pattern evaluation standard storage unit107.

FIG. 7is a table showing an example of the data pattern evaluation standard. A data pattern evaluation standard700is table data for the evaluation standard which is defined in advance and stored in the data pattern evaluation storage unit107and is constituted from an evaluation item column701describing an evaluation standard item and an item value column702describing an item value of the relevant evaluation standard. Regarding the data pattern evaluation standard700shown inFIG. 7, the evaluation standard is set as the “upper limit number of groups should be 5 or less,” Incidentally, the data pattern evaluation standard is not limited to the upper limit number of groups and may be a standard more specifically defining the range of the number of groups or may be, as another example, a standard defined based on the number of occurrences. In any of such cases, the data pattern quantification processing unit113is set to perform point-rating of the data pattern so that the data pattern judgment processing unit112can judge the validity of the data pattern based on the data pattern evaluation standard.

FIG. 8is a schematic diagram for explaining the processing for evaluating the validity of a data pattern (validity evaluation).FIG. 8shows the tree601, which illustrates a data pattern read from the data pattern storage unit108, and the data pattern evaluation standard700retained in the data pattern evaluation standard storage unit107. When this happens, the data pattern judgment processing unit112compares the number of groups800calculated by using the data pattern quantification processing unit113with “5” which is the upper limit number of groups defined in the item value column702of the data pattern evaluation standard700(step S104inFIG. 2). In step S104, the number of groups800is the number of groups in the tree601, that is, “10” which does not satisfy the condition of “5” or less. So, the data pattern judgment processing unit112determines that the relevant data pattern is not valid, and then proceeds to processing in step S105. If it is determined in step S104that the relevant data pattern is valid, the data pattern judgment processing unit112proceeds to processing in step S107.

(1-2-4) Reconstruction of Data Pattern

In step S105ofFIG. 2, the data pattern transformation processing unit114transforms the data pattern read from the data pattern storage unit108with reference to data pattern transformational rules read from the data pattern transformational rules storage unit109. Furthermore, in step S105, the data pattern transformation processing unit114performs point rating of the data pattern after the transformation processing by means of specified processing by using the data pattern quantification processing unit113, decides a data pattern, which should be a reconstructed data pattern, based on the result of the point rating, and writes the decided data pattern to the data pattern storage unit108.

FIG. 9is a table illustrating an example of the data pattern transformational rules. The data pattern transformational rules are information about rules for rewriting data pattern information (node values of nodes constituting the relevant data pattern) for the purpose of the processing for transforming the data pattern by changing data classification retained by the data pattern, and is stored in the data pattern transformational rules storage unit109in advance. Data pattern transformational rules900shown inFIG. 9are constituted from pairs of a “before transformation” column901describing information (a node value), which is a target to be rewritten, and an “after transformation” column902describing information (a node value) after rewriting the information. For example, according to the data pattern transformational rules900, information “a” is rewritten to [a-z] and information [0-9] is rewritten to “¥w.” Incidentally, information that is not described in the before transformation column901does not have to be rewritten.

The following explanation will be given below about the processing executed by the data pattern transformation processing unit114for transforming the data pattern (the tree601) shown inFIG. 6by using the data pattern transformational rules900shown inFIG. 9with reference toFIG. 10toFIG. 12.

FIG. 10toFIG. 12are schematic diagrams for explaining the processing for transforming the data pattern. Firstly, as shown inFIG. 10, the data pattern transformation processing unit114reads the data pattern (the tree601) from the data pattern storage unit108and searches for a node(s) having a plurality of children among nodes constituting the tree601. The nodes having a plurality of children in the tree601inFIG. 10are nodes1000to1006. For example, the node1001has a node with node value “C” and a node with node value “D.” Next, the data transformation processing unit114executes processing for rewriting children of the relevant node based on the data pattern transformational rules900with respect to each of the searched nodes1000to1006and then creates rewritten trees1007to1013. Incidentally, if there is no node having a plurality of children in the tree601, the data pattern transformation processing unit114determines in step S106inFIG. 2that the data pattern cannot be transformed (NO); and then proceeds to processing in step S107.

FIG. 11andFIG. 12explain, as an example of the processing for rewriting children of nodes having a plurality of children, processing executed by the data pattern transformation processing unit114for rewriting children of the node1002inFIG. 10based on the data pattern transformational rules900and creating a tree1009as a final form of the data pattern.

The data pattern transformation processing unit114firstly creates a data pattern1100by copying the data pattern601as shown inFIG. 11. When this happens, node values of all children of the node1002, that is, nodes1101,1102are rewritten in accordance with rewriting rules of the data pattern transformational rules900. Specifically speaking, the data pattern transformation processing unit114rewrites the node1101having a node value “4” to a node1103having a node value [0-9] and rewrites the node1102having a node value “5” to a node1104having a node value [0-9].

Next, regarding the tree1100, the data pattern transformation processing unit114puts together the node1103and the node1104, which have the same node values at the same depth and are both children of the node1002, into one node1200. When this happens, the tree1100is transformed into a tree1201shown inFIG. 12. Furthermore, the data pattern transformation processing unit114focuses attention on nodes1202to1205, which are children of the synthesized node1200, puts together a node1202and a node1204, which have the same node value “5,” into one node1206, and puts together a node1203and a node1205, which have the same node value “8,” into one node1207. When this happens, the tree1201is transformed into a tree1208. Furthermore, the data pattern transformation processing unit114puts together nodes having the same node value into one node with respect to each of the synthesized nodes1206,1207in the same manner. Specifically speaking, a node1209and a node12010are synthesized into a node1213and a node1211and a node1212are synthesized into a node1214. As a result, a tree1208is transformed into a tree1215.

Now, the tree1215is in a state where the node transformation processing on the entire character string of the data value304has been completed; and regarding the node1213and the node1214, a plurality of nodes indicating the number of occurrences305exist as child nodes. Regarding such nodes indicating the number of occurrences305, the data pattern transformation processing unit114does not put together nodes having the same node value into one node as in the case of the nodes indicating the character string of the data value304, but puts together the relevant nodes into one node by adding the node values of the relevant nodes. Specifically speaking, with respect to nodes1216,1217which are children of the node1213, the data pattern transformation processing unit114puts together the node1216having a node value “8” and the node1217having a “1” to form a node1220having a node value “9.” Similarly, with respect to nodes1218,1219, which are children of the node1214, the data pattern transformation processing unit114puts together the node1218having a node value “6” and the node1219having a node value “2” to form a node1221having a node value “8.” As a result, the tree1215becomes a tree1009, thereby creating a final form of the data pattern by rewriting and transforming the children of the node1002.

The data pattern transformation processing unit114can create the trees1007to1013representing the data patterns after the transformation processing by executing the transformation processing, which is the same processing as the processing executed on the aforementioned node1002, on each of the nodes1000to1006having a plurality of children in the tree601.

FIG. 13is a schematic diagram for explaining processing for deciding a reconstructed data pattern among the data patterns after the transformation processing. The data pattern transformation processing unit114firstly counts the number of leaves of each of the trees1007to1013, which are the data patterns after the transformation processing, by using the data pattern quantification processing unit113, and thereby calculates the number of groups.FIG. 13shows the number of groups1300to1306calculated for each of the trees1007to1013. Next, the data pattern transformation processing unit114selects one data pattern with the smallest number of groups from among the number of groups1300to1306. In this example, the data pattern transformation processing unit114selects the tree1009corresponding to the number of groups1302which is “8.” Then, the data pattern transformation processing unit114decides the selected tree1009as a reconstructed data pattern and writes it to the data pattern storage unit108. Incidentally, if there are a plurality of data patterns corresponding to the smallest number of groups as in the tree1009and the tree1012inFIG. 13, the data pattern transformation processing unit114arbitrarily selects any one of the plurality of data patterns and decides it as the reconstructed data pattern.

Next, in step S106, the data pattern transformation processing unit114judges whether the reconstructed data pattern can be transformed or not. Specifically speaking, for example, if a node having a plurality of children exists in the tree1400representing the reconstructed data pattern, the data pattern transformation processing unit114determines that further transformation is possible, and then returns to the processing in step S103. Moreover, if a node having a plurality of children does not exist in the tree1400representing the reconstructed data pattern, the data pattern transformation processing unit114determines that further transformation is impossible, and then proceeds to the processing in step S107. Furthermore, if the reconstructed data pattern (the tree1400) is completely identical to the data pattern (the tree600) before reconstruction in step S106, the data pattern transformation processing unit114determines that the data pattern cannot be transformed, and then proceeds to the processing in step S107.

(1-2-5) Validity Evaluation of Reconstructed Data Pattern

In step S103after the processing in step S106inFIG. 2, the data pattern judgment processing unit112evaluates data pattern validity of the reconstructed data pattern.

FIG. 14is a schematic diagram for explaining the validity evaluation of the reconstructed data pattern. The validity evaluation of the reconstructed data pattern is performed by the data pattern judgment processing unit112in the same manner as the validity evaluation of the aforementioned initial data pattern. Specifically speaking, the data pattern judgment processing unit112reads the reconstructed data pattern retained in the data pattern storage unit108, performs point rating of the reconstructed data pattern by using the data pattern quantification processing unit113, and judges the validity of the reconstructed data pattern based on the point rating result and the data pattern evaluation standard700retained in the data pattern evaluation standard storage unit107to check if the reconstructed data pattern satisfies appropriate standards or not.

Referring toFIG. 14, the tree1400representing the reconstructed data pattern is point-rated as “5” which is the number of groups1401. Since the number of groups1401satisfies the condition indicated by the data pattern evaluation standard700, that is, “the upper limit number of groups is 5 or less,” the data pattern judgment processing unit112determines that the tree1400is valid, and then proceeds to the processing in step S107.

(1-2-6) Output of Data Pattern

If the data pattern cannot satisfy the data pattern evaluation standard700and a negative judgment is returned in step S103inFIG. 2as described above, the data pattern is reconstructed in step S104; and if the reconstructed data pattern can be transformed, the processing for performing the validity evaluation is repeated again in step S103. Then, if an affirmative judgment is returned as the result of the validity evaluation at whichever stage or if a negative judgment is returned as the result of the validity evaluation and then the data pattern is reconstructed, but the data pattern cannot be transformed any further (NO in step S106), the data pattern is output in step S107.

In step S107, the data pattern visualization processing unit115reads a data pattern, which is stored last in the data pattern storage unit108, converts it into a specified format, and outputs it to the output device104. Incidentally, regarding output of the data pattern in step S107, an output method (an output destination and an output format) may be designated when the user issues the instruction to start analyzing the database to the input device103in step S101; and the data pattern may be output to the output device104by the relevant output method automatically after the termination of the database analysis processing. Alternatively, output of the data pattern may be executed as triggered by the user's specified input operation to issue the instruction to output the data pattern to the input device103after the termination of the database analysis processing. Furthermore, a general output destination such as a display, a printer, or a file may be selected as the output destination of the data pattern and a general output format such as image display by characters and graphics, or text data or binary data may be selected as the output format of the data pattern.

FIG. 15is a schematic diagram for explaining an example of processing for outputting a data pattern.FIG. 15illustrates processing for aggregating and outputting data patterns to an output table1510. The output table1510is constituted from pairs of a group1511, which describes a path structure of a tree retained by the data pattern, and the number of occurrences1512which describes the number of occurrences of data represented by the relevant path structure.

The data pattern visualization processing unit115firstly reads a data pattern which has been stored last, from the data pattern storage unit108. Therefore, if the data pattern obtained by transforming and reconstructing the initial data pattern is stored, the reconstructed data pattern is read from the data pattern storage unit108. Next, the data pattern visualization processing unit115acquires paths1500to1504from their roots to leaves from the tree1400retained by the read data pattern. Then, the data pattern visualization processing unit115defines values of nodes other than the leaves included in the acquired paths1500to1504as values of the group1511in the output table1510and defines node values of the leaves as values of the number of occurrences1512, each of which forms a pair with the relevant group1510. Regarding to, the group1511in the output table1510shown inFIG. 15, “^” is attached to the beginning of a character string and “$” is attached to the end of the character string. As a result, for example, a pair1513in the output table1510indicates that a group represented by a character string “5F3C2 [A-Z]” appears “4” times; and a pair1514indicates that a group represented by a character string “5F3D43” appears “once.” Then, the data pattern visualization processing unit115outputs the output table1510to the output device104in the output format designated by the user.

(1) Advantageous Effects of This Embodiment

When analyzing a data group retained by the database, such a database analyzer10can focus attention on a table column designated by the user, analyze characteristics of the data group based on data values in the same column, and perform grouping (classification) based on the characteristics of the data group. Then, such a database analyzer10can indicate, by means of a data pattern, the method of grouping an analysis target data group by focusing attention on the data values in the same column and output the data pattern, it can analyze the database exhaustively and automatically provide data patterns obtained by classifying data groups of the database in terms of the table-column-based characteristics. Consequently, when the user creates test data for the database which is the analysis target, the advantage effect of contributing to the efficient creation of the test data based on the characteristics of the data while securing exhaustivity with respect to data groups in the database can be expected by creating the test data based on the data patterns.

Moreover, such a database analyzer10can output data patterns according to various output methods (output destinations and output formats) designated by the user, so that it can provide the data patterns which indicate the characteristics of the analysis target database by a flexible output method in response to the users request such as visually recognizable output or output easily enabling data processing. More specifically, for example, it is possible to output a data pattern as text data or binary data and use the output data without any modification as input data for a tool for generating test data.

Furthermore, when the instruction to start analyzing the database is issued, it is only necessary to designate a data item (a table column or column) on which attention should be focused to extract the characteristics, such a database analyzer10does not require the user to have previous knowledge about specific data values and the characteristics of the data group which is the analysis target. Therefore, such a database analyzer10can analyze the characteristics of the database, and provide the user with the analysis result as a data pattern without requiring the user to have any previous knowledge about data groups of the database which is the analysis target.

Furthermore, when outputting a data pattern, such a database analyzer10can abstract (encode) the output content as shown in the group1511of the output table1510inFIG. 15and can expect the advantage effect of making data content of the database hardly recognizable by outsiders by outputting the abstracted content.

(2) Second Embodiment

A database analyzer according to a second embodiment is characterized in that when creating a data pattern representing characteristics of data groups of a database by analyzing the database by focusing attention on a designated table column like the database analyzer10according to the first embodiment, a pattern group having an exceptional characteristic, such as low occurrence frequency or an extremely different data structure (character pattern), is removed from data patterns as an exception pattern with respect to pattern groups obtained by classifying the data groups, thereby creating a data pattern in which the characteristics of the data groups are more aggregated.

(2-1) Configuration of Database Analyzer

FIG. 16is a block diagram illustrating a configuration example of a database analyzer according to the second embodiment. As shown inFIG. 16, a database analyzer20has the same configuration as that of the database analyzer10shown inFIG. 1, except that a data pattern exception storage unit202is added to an external storage apparatus201; and the same reference numerals as those inFIG. 1are assigned to common constituent elements and any explanation about them is omitted. Moreover, the processing programs20includes: a data pattern transformation processing unit214which executes different processing from that executed by the data pattern transformation processing unit114; and a data pattern visualization processing unit215which executes different processing from that executed by the data pattern visualization processing unit115. The processing executed by the data pattern transformation processing unit214and the data pattern visualization processing unit215will be explained later with reference toFIG. 21toFIG. 23andFIG. 25.

(2-2) Database Analysis Processing

Processing executed by the database analyzer20according to the second embodiment for analyzing data groups of a database will be explained below with reference toFIG. 2. Since the database analysis processing by the database analyzer20proceeds in accordance with the flowchart illustrated inFIG. 2in the same manner as the processing by the database analyzer10, any detailed explanation about part in which the same processing as the database analyzer10is executed is omitted.

(2-2-1) Input of Analysis Target Data

Firstly, as triggered by a specified input operation performed on the input device103in step S101inFIG. 2to issue the instruction to start analyzing a database, data groups of a database30are input to the database analyzer20and the data sorting unit116sorts the data groups and writes an analysis target column303to the data storage unit106.

(2-2-2) Creation of Initial Data Pattern

Next, in step S102, the data pattern creation processing unit111creates an initial data pattern based on the analysis target data303stored in the data storage unit106and writes it to the data pattern storage unit108.

FIG. 17andFIG. 18are schematic diagrams for explaining processing for creating an initial data pattern according to the second embodiment.FIG. 17illustrates how the data creation processing unit111creates a tree1710corresponding to a pair306of analysis target data303with reference to the analysis target data303stored in the data storage unit106. Since a basic processing sequence for creating the tree1710is the same as the processing shown inFIG. 4, its explanation has been omitted. However, a leaf node1701of the tree1710has a value of the number of types of data included in a path (nodes401to406) corresponding to the leaf1701instead of a value of the number of occurrences305. Specifically speaking, since only one type of data (a data value “123456”) indicated by the pair306is included in the path represented by the nodes401to406at the stage indicated inFIG. 17, the leaf node1701has a node value “1.” Furthermore, the data creation processing unit111creates trees for all pairs of the analysis target data303by executing the same processing as the processing for creating the tree1701inFIG. 17and synthesizes the plurality of created trees into one tree having the node1700as its root.

FIG. 18illustrates a tree1800created by the data creation processing unit111by creating trees for all pairs of the analysis target data600and synthesizing the trees into one tree. Each leaf node of the tree1800has a value “1” as the number of types of data. Then, the data creation processing unit111writes the tree1800as an initial data pattern based on the analysis target data600to the data pattern storage unit108.

(2-2-3) Data Pattern Validity Evaluation

Next, in steps S103and S104, the data pattern judgment processing unit112reads the data pattern (the tree1800) retained in the data pattern storage unit108, performs point rating of the data pattern by using the data pattern quantification processing unit113, and judges validity of the data pattern based on the point rating result and a data pattern evaluation standard1900retained in the data pattern evaluation standard storage unit107to check whether the data pattern satisfies appropriate standards or not.

FIG. 19is a table showing an example of the data pattern evaluation standard according to the second embodiment. With the data pattern evaluation standard1900shown inFIG. 19, an “upper limit number of groups” is stored in an evaluation item column1901describing an evaluation standard item and “3” is stored in an item value column1902describing an item value of the relevant evaluation standard, so that the “upper limit number of groups being 3 or less” is set. Incidentally, the data pattern evaluation standard according to the second embodiment is not limited to the upper limit number of groups as shown inFIG. 19and may be a standard which defines the range of the number of groups more in detail, or another standard defined based on, for example, the number of occurrences, or a standard based on a rate of occurrence of exception patterns described later (for example, the rate of exception patterns in all data patterns is 5% or less). In any of such cases, the data pattern quantification processing unit113is set to perform point rating of the data pattern so that the data pattern judgment processing unit112can judge the validity of the data pattern based on the data pattern evaluation standard.

FIG. 20is a schematic diagram for explaining the data pattern validity evaluation according to the second embodiment. As shown inFIG. 20, the data pattern judgment processing unit112reads the tree1800as the data pattern retained in the data pattern storage unit108and calculates the number of groups2000of the tree1800by using the data pattern quantification processing unit113. In this example, the number of groups2000of the tree1800is “10.” The data pattern judgment processing unit112compares the number of groups “10” with the data pattern evaluation standard1900, that is, the “number of groups should be 3 or less” and obtains a judgment result that the data pattern is not valid. If the negative result (judgment to determine that the data pattern is not valid) is obtained in step S104, the processing proceeds to the processing in step S105. Incidentally, if an affirmative result (judgment to determine that the data pattern is valid) is obtained in step S104, the processing proceeds to the processing in step S107.

(2-2-4) Reconstruction of Data Pattern

In step S105, the data pattern transformation processing unit214reconstructs the data pattern with reference to data pattern transformational rules2100stored in the data pattern transformational rules storage unit109. Now, during the data pattern reconstruction processing, rejection processing for removing an exception pattern(s) having an exceptional characteristic, such as low occurrence frequency or an extremely different character pattern, from the data pattern is executed, as one of characteristic processing according to the second embodiment, after executing the transformation processing for transforming the data pattern by rewriting information of the data pattern.

FIG. 21is a table illustrating an example of the data pattern transformational rules according to the second embodiment. Data pattern transformational rules2100shown inFIG. 21include data pattern replacement rules2110indicating rules for rewriting data pattern information (node values of nodes constituting the relevant data pattern) and data pattern rejection rules2120indicating rules for deciding an exceptional data pattern (exception pattern) to be removed from the data pattern and are stored in the data pattern transformational rules storage unit109in advance. The data pattern replacement rules2110correspond to the data pattern transformational rules900shown inFIG. 9according to the first embodiment and is constituted from combinations of a “before transformation” column2111describing information (a node value), which is a target to be rewritten, and an “after transformation” column2112describing information (a node value) after rewriting the information. Moreover, the data pattern rejection rules2120are constituted from a combination of a judgment item column2121describing a judgment item of exceptional pattern information and a rejection condition column2122describing rejection conditions for the judgment item. For example, the rejection rule of the “number of matching types≦([Maximum]/4)” is set to the data pattern rejection rules2120and this means that “the number of matching types is equal to or less than one-quarter of a maximum of the number of matching types in the data pattern.” Incidentally, “the number of matching types” means the number of types of data in each path of the data pattern.

Firstly, during the data pattern transformation processing, the data pattern transformation processing unit214rewrites the data pattern (the tree1800) read from the data pattern storage unit108with reference to the data pattern transformational rules2100, performs point rating of the data pattern after the transformation processing by means of specified processing by using the data pattern quantification processing unit113, and decides the reconstructed pattern based on the point rating result. Since such processing is the same as the processing explained with reference toFIG. 10toFIG. 13in the first embodiment, its explanation has been omitted. The data pattern transformation processing unit214writes the decided “reconstructed data pattern” to the data pattern storage unit108.

Subsequently, the data pattern transformation processing unit214judges whether the reconstructed data pattern satisfies the data pattern rejection rules2120or not; and if any pattern information that satisfies the data pattern rejection rules2120exists, rejection processing for removing such pattern information as an exception pattern from the data pattern is executed.

FIG. 22is a schematic diagram for explaining the exception pattern judgment processing based on the data pattern rejection rules according to the second embodiment. A tree2200shown inFIG. 22is a tree transformed by the data pattern transformation processing on the tree1800and decided as the reconstructed data pattern. According to the data pattern rejection rules2120, the exception pattern judgment rule is set so that “the number of types of data for each path of the tree2200(the number of matching types) is equal to or less than one-quarter of the maximum value of the number of matching types in the data pattern.” In this example, a node value of each leaf node2201to2205in the tree2200represents the number of types of data, so that reference is made to the node values of the nodes2201to2205. As a result, the data pattern transformation processing unit214acquires the maximum value “4” from the node2203and judges whether or not a node having a node value equal to or less than one-quarter of the maximum value, that is, a node value equal to or less than “1” exists among the nodes2201to2205. Referring toFIG. 22, the nodes2202,2205have the node value “1” and fall under the above-described condition, so that path structures having the nodes2202,2205as their leaves are selected as exception patterns.

Next, the data pattern transformation processing unit214removes a path structure(s) selected as the exception pattern(s) from the data pattern.FIG. 23is a schematic diagram for explaining the exception pattern rejection processing according to the second embodiment. The data pattern transformation processing unit214finally selects one of path structures selected as the exception patterns. In this example, it is assumed that the path structure having the node2202as a leaf is selected. Next, the data pattern transformation processing unit214copies a sequence of a path2301extending from a node2300, which is a root of a tree2200, to the node2202which is the leaf of the path structure and adds it as the exception pattern to the data pattern exception storage unit202. Furthermore, the data pattern transformation processing unit214removes a path2302from the node2202to an ancestor node2001, which is closest to the node2202and has a plurality of children, from the tree2200, thereby creating a tree2303. Subsequently, with respect to a node2205in the same manner as in the case of the node2202, the data pattern transformation processing unit214adds the exception pattern to the data pattern exception storage unit202and removes a path from the node2205to an ancestor node, which is closest to the node2205and has a plurality of children, from the tree2303. The data pattern transformation processing unit214executes the same processing on all path structures selected as exception patterns, removes the exception patterns from the data pattern, and defines the tree, from which the exception patterns are removed, as a “finally reconstructed data pattern.” For example, as a result of such rejection processing, the tree2200becomes a tree2400shown inFIG. 24described later. This tree2400corresponds to a “finally reconstructed data pattern” and the data pattern transformation processing unit214writes the tree2400to the data pattern storage unit108.

Next, in step S106, the data pattern transformation processing unit214judges whether the “finally reconstructed data pattern” can be transformed or not and if it is determined that the “finally reconstructed data pattern” can be transformed, the data pattern transformation processing unit214returns to the processing in step S103. If the “finally reconstructed data pattern” cannot be transformed or the “finally reconstructed data pattern” is completely identical to the data pattern before the reconstruction, the data pattern transformation processing unit214proceeds to the processing in step S107.

(2-2-5) Validity Evaluation of Finally Reconstructed Data Pattern

In step S103after the processing in step S106, the data pattern judgment processing unit112evaluates validity of the “finally reconstructed data pattern.”

FIG. 24is a schematic diagram for explaining processing for evaluating the validity of the finally reconstructed data pattern according to the second embodiment. The validity evaluation of the finally reconstructed data pattern is performed by the data pattern judgment processing unit112in the same manner as the processing for evaluating the validity of the aforementioned initial data pattern. Specifically speaking, the data pattern judgment processing unit112reads the “finally reconstructed data pattern” retained in the data pattern storage unit108, performs point rating by using the data pattern quantification processing unit113, and judges the validity based on the point rating result and the data pattern evaluation standard1900retained in the data pattern evaluation standard storage unit107to the if the reconstructed data pattern satisfies the appropriate standards.

Referring toFIG. 24, the tree2400representing the reconstructed data pattern is point-rated as “3” which is the number of groups2401. Since the number of groups2401satisfies the condition indicated by the data pattern evaluation standard1900, that is, “the upper limit number of groups is 3 or less,” the data pattern judgment processing unit112determines that the tree2400is valid, and then proceeds to the processing in step S107.

If the data pattern cannot satisfy the data pattern evaluation standard1900and a negative judgment is returned in step S103inFIG. 2as described above, the data pattern is reconstructed in step S104and if the finally reconstructed data pattern can be transformed, the processing for performing the validity evaluation is repeated again in step S103. Then, if an affirmative judgment is returned as the result of the validity evaluation at whichever stage or if a negative judgment is returned as the result of the validity evaluation and then the data pattern is reconstructed, but the data pattern cannot be transformed any further (NO in step S106), the data pattern is output in step S107.

(2-2-6) Output of Data Pattern

In step S107, the data pattern visualization processing unit215reads a data pattern, which is stored last in the data pattern storage unit108, converts it into a specified format easily visually recognizable by the user, and outputs it to the output device104. Incidentally, the data pattern visualization processing unit215, like the data pattern visualization processing unit115, may convert the data pattern into a specified computer-readable format and output it. Moreover, the data pattern output method in step S107may be decided as designated by the user as in the case of the first embodiment.

FIG. 25is a schematic diagram for explaining an example of processing for outputting a data pattern according to the second embodiment.FIG. 25illustrates processing for aggregating and outputting data patterns to an output table2510. The output table2510is constituted from a group2511, which describes a path structure of a tree retained by the data pattern, the number of matching types2512which describes the number of types of data represented by the relevant path structure, and classification2513describing the classification of the relevant group. The description method of the group2511is the same as the group1511explained with reference toFIG. 15. Moreover, the number of types of data described in the number of matching types2512corresponds to node values of leaf nodes which are children of the relevant group and is for example, node values of nodes2201,2203,2204in the case of the tree2400. Furthermore, if the relevant group corresponds to an exception pattern, the classification2513stores a description such as “Exception.”

The data pattern visualization processing unit215firstly reads a data pattern which has been stored last from the data pattern storage unit108. Therefore, if the “finally reconstructed data pattern” obtained by transforming the initial data pattern is stored, the tree2400corresponding to the “finally reconstructed data pattern” is read from the data pattern storage unit108as shown inFIG. 25. Next, the data pattern visualization processing unit215acquires paths2500to2503from their roots to leaves from the tree2400retained by the read data pattern. Then, the data pattern visualization processing unit215defines values of nodes other than the leaves included in the acquired paths2500to2503as values of the group2511in the output table2510and defines node values of the leaves as values of the number of matching types2512of the relevant group2510. Then, in a case of output corresponding to the data pattern read from the data pattern storage unit108, the data pattern visualization processing unit215does not store any description in the classification2513.

Furthermore, the data pattern visualization processing unit215reads the exception pattern stored in the data pattern exception storage unit202and creates the output table2510in the same manner as for the data pattern read from the data pattern storage unit108. Specifically speaking, the data pattern visualization processing unit215acquires paths2503,2504, defines node values other than leaves included in the paths2503,2504as values of the group2511, and defines node values of the leaves as values of the number of matching types2512. Then, in a case of output corresponding to the exception pattern read from the data pattern exception storage unit202, the data pattern visualization processing unit215stores the description “Exception” in the classification2513.

As a result, as illustrated inFIG. 25, a row2514indicates that a group represented by a character string “5F3C2 [A-Z]” as part of the data pattern has “2” as the number of types of data. Moreover, a row2517indicates that a group represented by a character string “######” has “1” as the number of types of data and that group is an exception pattern; and the exception pattern of the row2517is an example of a pattern group whose character pattern is extremely different from other pattern groups. Moreover, a row2518indicates that a group represented by a character string “5F3D43” has “1” as the number of types of data and that group is an exception pattern; and the exception pattern of the row2518is an example of a pattern group with lower occurrence frequency than other pattern groups. Finally, the data pattern visualization processing unit215outputs the output table2510to the output device104in the output format designated by the user.

(2-3) Advantageous Effects of This Embodiment

Such a database analyzer20not only focuses attention on the designated table column, analyzes characteristics of data groups in the analysis target database based on data values in the same column, and performs grouping (classification) based on the characteristics of the data groups, but also creates and outputs a data pattern by removing a pattern group(s) having exceptional characteristics, such as a pattern group(s) with a smaller number of types of data than a specified standard, that is, a pattern group with lower occurrence frequency or an extremely different character pattern, as an exception pattern(s) from the data pattern. As a result, in addition to the advantageous effects of the database analyzer10according to the first embodiment, a data pattern in which more representative characteristics of data groups in the analysis target database are aggregated than in the case of the first embodiment can be provided to the user. Consequently, when the user creates test data based on the output result of the database analyzer20, it is possible to contribute to the creation of the test data while recognizing the characteristics of the representative data.

Furthermore, such a database analyzer20also outputs the exception pattern(s), which has been removed from the data pattern, by being distinguished from the data pattern, so that the characteristics of the data groups can be provided in more detail to the user without undermining exhaustivity of the data groups in the analysis target database. Then, when the user creates test data based on the output result of the database analyzer20, it is possible to create the test data which exhaustively covers the characteristics of the data groups in the database while being conscious of the occurrence frequency and tendencies of the character patterns by preparing test data corresponding to a pattern group(s), which is output as the exception pattern(s), in addition to test data corresponding to the data pattern.

Furthermore, such a database analyzer20reconstructs the data pattern while removing the exception pattern(s) during the database analysis processing, so that processing time required to reconstruct the data pattern is reduced and the advantageous effect of reducing the entire processing time required for the database analysis processing can be expected.

(3) Other Embodiments

Incidentally, the database analyzer10,20according to the aforementioned first and second embodiments have been described about the case in which the database analyzer10,20analyzes data groups stored in the database30; however, the present invention is not limited to this example. For example, if a plurality of databases connected via the network31to the database analyzer10,20exist, the database analyzer10,20may be configured so that when the user performs the specified input operation to issue the instruction to start analyzing the database, a database which is to be an analysis target is designated and copy data of data groups stored in the database is input from the designated database to the database analyzer10,20.

Furthermore, with the database analyzer10,20according to the aforementioned first and the second embodiments, the external storage apparatus105,201is an example of the storage unit and the data pattern evaluation standard700,1900is an example of a first judgment standard for judging the validity of the data pattern. Moreover, the data pattern transformational rules900or the data pattern replacement rules2110are an example of specified conversion rules for converting conceptually similar constituent elements into the same constituent element with respect to constituent elements of each group included in the data pattern. Also, the data pattern rejection rules2120are an example of a second judgment standard for the occurrence frequency or the data structure regarding each group included in the transformed data pattern in order to decide an exceptional group. Furthermore, the data pattern visualization processing unit115is an example of a first data pattern output processing unit for converting the data pattern, which has been stored last in the storage unit, into a specified format and outputting the transformed data pattern to the output device. Moreover, the data pattern visualization processing unit215is an example of a second data pattern output processing unit for transforming the data pattern stored last in the storage unit and all exception patterns stored in the storage unit into a specified format and outputting the transformed data pattern and the transformed exception patterns to the output device.

Incidentally, the present invention is not limited to the aforementioned embodiments, and includes various variations. For example, the aforementioned embodiments have been described in detail in order to explain the invention in an easily comprehensible manner and are not necessarily limited to those having all the configurations explained above. Furthermore, part of the configuration of a certain embodiment can be replaced with the configuration of another embodiment and the configuration of another embodiment can be added to the configuration of a certain embodiment. Also, the configuration of another configuration can be added to, deleted from, or replaced with, part of the configuration of each embodiment.

Furthermore, part or all of the aforementioned respective configurations, functions, processing units, processing means, and so on may be realized by hardware by, for example, designing them in integrated circuits. Also, each of the aforementioned configurations, functions, and so on may be realized by software by processors interpreting and executing programs for realizing each of the functions. Information such as programs, tables, and files for realizing each of the functions may be retained in memories, storage devices such as hard disks and SSDs (Solid State Drives), or storage media such as IC cards, SD cards, and DVDs.

Furthermore, only control lines and information lines that are considered to be necessary for explanation are indicated and not all control lines and information lines are necessarily indicated in terms of products. In practice, almost all components may be connected to each other.

REFERENCE SIGNS LIST

105,201external storage apparatus

106data storage unit

108data pattern storage unit

111data pattern creation processing unit

112data pattern judgment processing unit

113data pattern quantification processing unit

114,214data pattern transformation processing unit

115,215data pattern visualization processing unit

202data pattern exception storage unit