Relationship Models in Source View This page last changed on Nov 28, 2008. .stickable, h1, h2, h3, h4, h5 false true Show Sticky notes Hide Sticky notes Save Cancel Oracle Data Service Integrator Documentation > Data Services Developer's Guide # Generated Relationship Declarations in Source View An example of a navigation function in the underlying source is:
    (::pragma function <f:function xmlns:f="urn:annotations.ld.oracle.com" kind="navigate" roleName="ADDRESS"/>::-)
This specifies a relationship to the Address data service from the Customer data service. Data services also contain declarations describing the nature of the relationship; this information is the source for the role names and cardinality values that appear in your model diagram. For example, the data service Address contains the following relationship declarations:
    <relationshipTarget roleName="CUSTOMER" roleNumber="1" XDS="ld:DataServices/CustomerDB/CUSTOMER.ds" opposite="ADDRESS"/>
For each data service, a relationship is created which identifies its role name, cardinality, opposite data service, and a unique (to the data service) role number. In the above example, a navigation function is automatically created that retrieves customer information based on the customerID. In the case of the relationship between Customer and Address, the relationship is 0-to-n for the Address role (it can make and appearance any number of times or not at all) based on CustomerID being a foreign key in Address and a primary key in the Customer data service (and the underlying relational data sources respectively). Since the relationships are bilateral, Customer's opposite is Address while Address's opposite is Customer. If your data model is composed of both physical and logical data services, you should keep in mind that a metadata update on any underlying physical data services will remove any relationships you have created involving those data services.

Document generated by Confluence on Jan 13, 2009 15:57