Patent ID: 7676456

Claim:
A computer-implemented system for controlling an access to a database, comprising: an application server system including at least one computer server with an acquiring section that acquires an access program including a plurality of database access instructions; a detecting section which detects a plurality of different tables in the database that are accessed by the plurality of access instructions; an analyzing section which determines, for the plurality of tables detected by the detecting section, whether a first access instruction accesses a first table by using a primary key and a second access instruction accesses a second table by using the same primary key; a join control section which executes a first join instruction prior to the execution of the access instructions, the first join instruction obtaining a result table from the database by combining the plurality of different tables detected, wherein the join control section executes a second join instruction that joins the first table with the second table, if the first access instruction and the second access instruction access the first table and the second table by using the same primary key; the join control section further determining a sequence in which the plurality of different tables are accessed, and joining the plurality of different tables to create the sequence of access; a measurement control section which executes a measure instruction during an execution of the access program if either the first or the second tables is not accessed by using the primary key, the measure instruction measuring a redundancy which is a proportion of a number of redundant records to a total number of records read by a third join instruction if the third join instruction is generated, wherein the join control section executes the third join instruction that joins the first table with the second table, if the redundancy measured by the measure instruction during the execution of the access program is less than a predetermined threshold value; an access control section which performs control by having each of the plurality of access instructions access the result table; the access control section further generating a call graph for the access program; and a display section which displays the call graph on a display device.