Right now it has 0..1 occurrence and I think because of the semantics of datatype, data should be 1..1: there is no sense in creating a multimedia type without data IMHO.
There is the uri field also, so I thing data and uri are alternatives but one of them should be present. There is no invariant about this in the model.
Also I would suggest to have two types of DV_MULTIMEDIA, internal and external, instead of using the same class for these two purposes (needs extra methods, needs extra XOR invariants, etc.)
You may store DV_MULTIMEDIA with only a reference to the real data. Then the data is NULL. This makes sense for us in the current implementation.
I agree that this is a XOR situation; you will either have data or uri. I am not sure if this is good, average or bad practice.
One last question, the only mandatory field of DV_MULTIMEDIA is media_type. So for external media only the DV_URI uri and the media_type are set.
Is the media_type really needed when having an external reference?
Why not use just DV_URI for external references?