Date:         Thu, 6 Apr 1995 11:28:43 CST
Reply-To:     The NOMAD2 Discussion List
Sender:       The NOMAD2 Discussion List
Comments:     Converted from PROFS to RFC822 format by PUMP V2.2X
From:         Marcia Masten
Subject:      Shared DB problem

I have a problem with a NOMAD shared database.  I'm trying to implement
a common shared database named C08S002 on a CMS machine named C08002,
which contains common tables, such as account, department and state.
This database will be accessed by another shared database named
C08S001 on a CMS machine named C08001.  (My goal is to eventually
access the common C08S002 database with other databases, too.)
I have no problem implementing the MEMBER and EXTRACT functions on the
C08S001 database, but I am unable to get the RULE function to work
with the 2 shared databases.  A sample:

/* ****************************************************************** */
The state table in the C08S002 schema:
MASTER  C08ST INSERT KEYED(ST_CODE);
  ITEM  ST_CODE         AS A2 LIMITS(NOTNAV);
  ITEM  ST_DESC         AS A15 LIMITS(NOTNAV);

The reference to the state table in the C08S001 schema:
MASTER  C08DEMO INSERT KEYED(DEMO_SSN) TYPE BTREE;
  ITEM  DEMO_SSN        AS FORMAT'999-99-9999';
  ITEM  DEMO_ST         AS MEMBER'C08ST';
DEFINE  DEMO_STD        AS EXTRACT'ST_DESC FROM C08ST USING DEMO_ST';
  RULE  DEMO_STR REFERENCES C08ST USING DEMO_ST
                 DELETE DENY CHANGE CASCADE WARN;

1.  Using DBADD C08S002 OWNERID C08002 in the C08S001 schema
    I can not reorg the schema - error message:
    SCH1448:  Both segments for RULE DEMO_STR are required to
              reside on same server.

2.  Using USE C08002 in the C08S001 schema
    Schema reorgs OK, but the rule does not work when updating the
    C08ST master, and I get an error message updating the C08DEMO master:
    RUL1448:  Both segments for RULE DEMO_STR are required to
              reside on same server.
    RUL1450:  Rule DEMO_STR failed for CHANGE on C08DEMO
/* ****************************************************************** */

My question - is there anyway to implement referential integrity across
2 or more shared databases?  I can get the MEMBER and EXTRACT to work, but
without the RULE, if I update the key of the C08ST master, the referential
changes will not be made to the C08DEMO master.

Even though the C08ST master does not change often, I have other tables
on the C08S002 database that will be changed and I would like to access
these tables by multiple other databases.  Any suggestions or comments?

Marcia Masten, Data Processing Analyst  (217)782-4408
Southern Illinois Univerity - School of Medicine
Office of Administrative Computing
BITNET:GH0231@SPRINGB   INTERNET:GH0231%SPRINGB@SIUCVMB.SIU.EDU
back to index