SSDM - Sibilo Software Development Model

(by Google)

Developer's Corner - Relationships Overview
  1. Introduction
    1. Overview (N-tier Architecture)
  2. Requirements Capture
    1. Natural Language Text to UML
  3. UML Static Data Model
    1. Object / Class
    2. Relationships
    3. Data Type / Enumeration
    4. Supported Data Types
  4. Application Design
    1. Database (UML-DB Mapping)
    2. Business Objects (UML-Class Mapping)
    3. User Interface (UML-User Control Mapping)
  5. Sibilo Software Development Environment (Sibilo.SDE)
    1. Sibilo.SDE User Guide
  6. Sibilo.DBL Programming
    1. Introduction
      1. Background Information
      2. The Clist Class
    2. Core Objects
      1. Common Constructors
      2. Common Destructors
      3. Common Properties
      4. Common Methods
        • Add
        • Update
        • Remove
        • GetDetails
        • Load
        • Equals
      5. Shared Methods
        • GetAll
        • Remove
        • RemoveAll
        • Exists
        • Search
        • ObjectCount
        • CreateInstance
      6. User Defined Attributes
        • AddAttribute
        • RemoveAttribute
        • GetAttributeList
        • GetClassList
        • GetAttribute
        • SetAttribute
    3. Relationships
      1. Overview
      2. One-to-One Relationships
      3. One-to-Many and Many-to-Many Relationships
        • Add
        • Remove
        • RemoveAll
        • Exists
      4. Default Object of a Relationship
        • SetDefault
        • GetDefault

6.3.1 Overview

There are 3 relationships through which SSDM classes can interact with each other: One-to-One, One-to-Many and Many-to-Many.

Those of you, who are familiar with relational databases, would find the concept of SSDM relationships somewhat different than those in databases. SSDM relations are defined as properties of SSDM objects. One-to-One relationships encapsulate the related class whereas One-to-Many and Many-to-Many relationships have a number of methods themselves, and allow enumeration through the for-each construct in VB.Net.

In the following diagram we can see some of the main properties of the CRelation Class that is used to implement all 1-M and M-M relationships. The default property of CRelation is a Clist with the remote objects for this relationship.

We will explain this concept with an example. Suppose that CUser class has 3 relationship properties:
    i) DefaultEmail property defines a One-to-One relationship with CEmail 
    ii) Emails property defines a One-to-Many relationship with CEmail 
    iii) Companies property defines a Many-to-Many relationship with CCompany

We will now demonstrate how each property works.