The present invention relates to a technique for adding an inherent item, which is to be referred to or to be updated by a particular organization, to information (such as a table) shared among a plurality of organizations in a Relational Data Base Management System (RDBMS).
The RDBMS is a system to manage data shared among a plurality of organizations. For example, in an information system of a firm or a company, corporate information of firms as its customer is stored in the RDBMS to share the corporate information among organizations (e.g., divisions) of the firm. The corporate information is stored in the RDBMS in the form of a table including a plurality of items (columns). A business application (AP; program) accesses the table to refer to or to update the corporate information. The items are, for example, names and locations of the firms.
In such data processing system, the respective organizations desire to use mutually different items depending on cases. FIG. 2 shows an example of this situation in a customer corporate information management system. In the customer corporate information management system 100, in-house organizations such as a sales division and a supply division share customer corporate information 130. However, the respective divisions desire to use different items. A customer management application (sales division customer management AP 110) of the sales division refers to information 111 to use items which store a salesperson and a contact address, e.g., a contact phone number (salesperson contact phone number) of the salesperson of an associated firm. On the other hand, an order application (supply division order AP 120) of the supply division refers to information 121 to use a state of approval and an approval number of International Organization for Standardization (ISO) 9001, i.e., the international standard for quality certification, to thereby determine whether or not a firm under consideration is appropriate as a supplier.
Assume that items shared among the organizations are referred to as shared items and items used only by a particular organization are referred to as inherent items. In the example of FIG. 2, the firm names and the firm locations are shared items. The salesperson and the salesperson contact phone number are inherent items used only by the sales division.
It is not assumed that the one-to-one correspondence exists between the business applications (sales division customer management AP 110 and supply division order AP 120 in this example) and the organizations. Depending on cases, a business application is used by only one organization or by a plurality of organizations. In the former situation, the business application uses inherent items of a particular organization. In the latter case, the business application uses inherent items of organizations to which the users of the application belong. That is, even one business application uses different inherent items depending on users.
In the conventional RDBMS, the inherent items are managed in three methods as below.
According to a first method, for each organization, a table is prepared to store inherent items (which will be described in conjunction with FIG. 25). In a second method, for each organization, a table is prepared to store both of shared items and inherent items (which will be described in conjunction with FIG. 26). In a third method, a table is prepared to store both of shared items and inherent items for the respective organizations (which will be described in conjunction with FIG. 27).
These three methods have been introduced as three mapping patterns provided by Hibernate which is an object/relational mapping tool in wide use, in Section 3.6 “Class Inheritance Mapping” of “Hibernate In Action”. Reference is to be made to pages 121 to 131 of “Hibernate In Action” written by Christian Bauer et al, translated by Akira Kurahashi et al, and published from Softbank Creative on Jan. 15, 2006.
Methods 1 to 3 respectively correspond to “3.6.3 Table per subclass”, “3.6.1 Table per concrete class”, and “3.6.2 Table per class hierarchy” of the article described above.
In general, according to the class structure (logical data structure) of objects to be mapped, shared items are designated as attributes of a main class and inherent items of each organization are designated as attributes of a subclass for each organization. FIG. 24 shows an example of the class structure for the data items of FIG. 2. The main class having a shared item as an attribute is associated with an in-house shared corporate attribute 2401, and the subclass having an inherent item as an attribute is associated with a sales division inherent corporate attribute 2402 and a supply division inherent corporate attribute 2403. The sales division inherent corporate attribute 2402 has, as attributes, inherent items to be used by the sales division. The supply division inherent corporate attribute 2403 has, as attributes, inherent items to be used by the supply division.
Description will be given of FIGS. 25 to 21 based on the above assumption. In FIG. 25, shared items are stored in an in-house shared table 2501, inherent items to be used by the sales division are stored in the sales division inherent table 2502, and inherent items to be used by the supply division are stored in the supply division inherent table 2503.
In FIG. 26, shared items 2602 and inherent items to be used by the sales division are stored in a sales division inherent table 2601, and shared items 2612 and inherent items to be used by the supply division are stored in the supply division inherent table 2611.
In FIG. 27, a shared item 2711, a sales division inherent item 2712, and a supply division inherent item 2713 are stored in one in-house shared table 2701.