Defining data relationships

Define IBM® Optim relationships to create logical connections between data tables that help to maintain referential integrity during data extraction and provisioning.

Unlike physical foreign keys in a database, IBM Optim relationships are application-defined and provide flexibility for complex data models.

IBM Optim relationships act as virtual foreign keys, independent of physical database constraints. Instead of relying on primary and foreign keys physically defined in the database, IBM Optim uses application-defined relationships to ensure referential integrity during data extraction. This approach ensures that the resulting dataset is relationally intact and suitable for testing and other downstream processes.

IBM Optim relationships ensure that parent tables include all rows, while child tables include only matching rows. When extracting data:
  • All rows from the parent table are included.
  • For child tables, only rows with matching values in the parent table are extracted.

You can create custom relationships to supplement or override existing definitions to help you to manage complex data models that have multiple tables. You can create relationship once and then reuse it across multiple flows without duplication.

How IBM Optim uses relationships

IBM Optim relationships serve several purposes:

Define data extraction and traversal paths

IBM Optim uses relationships to determine which rows to select and from which related tables.

Maintain referential integrity

When data is extracted, IBM Optim preserves the relationships between parent and child rows.

Define custom relationships

You can create IBM Optim relationships to supplement or override database-defined relationships. This is useful when primary and foreign keys are not enforced or when columns differ but are compatible. These relationships can be stored as explicit relationships for a single table pair.

Handle complex data models

IBM Optim supports an arbitrary number of tables and relationships, making it suitable for enterprise-scale environments.