Skip to Main Content

SQL Developer Data Modeler

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Source Optional vs Target Optional

Mark.ThompsonAug 28 2013 — edited Aug 29 2013

Using SDDM 3.3.0.747.

I've got a situation with the Logical Model that is confusing me.  Can anyone shed some light for me?

I have two Entities (i.e. the things that look like tables) in my logical model.  One table is Orders.  The other is Order Detail.

If a row exists in the Order Detail table, it must be tied (via a PK/FK) to a row in the Orders table.  In other words, the Order Detail can't just be a random row -- it has to "belong" to an order.  There can be many order detail rows for a given Order (i.e. you can order multiple things on the same order, and each thing is stored on its own row in the Order Detail table).

However, a single row in the Orders table doesn't necessarily have to be associated with any rows in the Orders Detail table.  For example, perhaps we just started the order and got interrupted before actually adding anything that we wanted to order.  So we can have an order number (PK in the Orders table) that doesn't yet tie to any rows in the Order Detail table.

What I've just described seems to me to be a 1..0M, meaning that a single Order may be associated with any number of Order Detail rows, or none at all.  If the Orders table is on the left and the Order Detail table is on the right, I THINK I should see this connector: -|-----0<-

I have set the Relation Properties as follows:

Source Cardinality

Source: Orders

Source to Target Cardinality: - --<-*  (1 Order for many Order Details)

Source Optional: UNCHECKED

Target Cardinality

Target: Order Detail

Target to Source Cardinality: --1 (1 Order per Order Detail)

Target Optional: CHECKED

Now here's where my brain is getting all wonky: The O indicating an optional constraint is located on the Orders end of the connection line.  -|O-----<-   and to me, that feels backwards.  It feels like that's telling me that "multiple Order Detail lines can be connected to either zero or 1 order", and that's not correct.  An order detail line MUST be connected to an Order.  (Sure wish I could include a screenshot or two).

I feel that the O should be on the Order Detail end of the line, which to me says "one order is associated with any number of detail lines, including zero".

So to me, the position of the O feels wrong.

I can move it into what I think is the "correct" position only by reversing the CHECKED and UNCHECKED status of the Source Optional and Target Optional boxes.  When I do that, the O moves, but the relation properties screen now appears wrong to me.

I know this has to be really basic Data Modeling 101 stuff, but I'm just not getting it.  And I HAVE had my morning Starbucks, so that's not the trouble.

Any help in getting me thinking straight?

This post has been answered by Philip Stoyanov-Oracle on Aug 29 2013
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Sep 26 2013
Added on Aug 28 2013
6 comments
1,674 views