What about triggers, Tony?
If you really want that type of RI, you could do it that way in Mv as well.

Tony Gravagno wrote:
Not responding to any particular comment, just the theme of this
part of the thread:

Yes, design and implementation are two different things.  Poor
implementation can be done by anyone in any platform, so let's
stick to platform capabilities.

If you don't add RI to a relational DBMS then it's just as messed
up as if you don't delete all MV detail item when you delete a
related master item.

There are two types of RI being discussed here:

1) In an MV item we can put data into a stream of attributes as
well as multivalues and subvalues.  The RDBMS requires relations
where we use multivalued sets.  The DBA defines relations in
schema and the DBMS then maintains the integrity of the
references (referential integrity).  With proper RI in place, in
the RDBMS you can't delete (for example) a customer record
without deleting the related customer_phone records.  In MV since
this is all in the same record we don't have this exact problem -
you can't say the MV platform does RI here, we're simply using a
storage mechanism that makes RI unnecessary for this type of
update.

2) MV maintains master/detail items in a manner similar to the
RDBMS (with foreign keys, translates, etc).  In this case
relations in the RDBMS are still defined in the schema and the
same rules as above apply.  In MV, since we've ventured into
multi-file/multi-item sets, it's not the job of the BASIC
programmer to maintain the RI.  RI in this regard is Not managed
by the MV DBMS.  Relational developers can choose to maintain
such RI programmatically, but that's not even a thought in that
world because fundamentally they rely on the DBMS to perform that
function.

The comments about the efficiencies of RI and whether or not MV
does RI at all have all been made with regard to type#1 above.
I'll maintain that the MV DBMS does not do RI in the type#2 case
where RI actually has any meaning in this model.
Tony Gravagno
Nebula Research and Development
TG@ remove.pleaseNebula-RnD.com
Nebula R&D sells mv.NET and other Pick/MultiValue products
worldwide, and provides related development services
remove.pleaseNebula-RnD.com/blog
Visit PickWiki.com! Contribute!

_______________________________________________
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

_______________________________________________
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

Reply via email to