Re: Modeling Address using Relational Theory

From: dawn <dawnwolthuis_at_gmail.com>
Date: 14 Sep 2005 09:38:34 -0700
Message-ID: <1126715914.906727.165650_at_z14g2000cwz.googlegroups.com>


David Cressey wrote:
> "dawn" <dawnwolthuis_at_gmail.com> wrote in message

> > If modeling an address, before you start piecing it apart, you should
> > figure out what your entity is. In the case of a complete address, I
> > am modeling a location to which a physical item could be sent. You
> > have pointed out that when you piece out the properties of this
> > address, you need to understand the nuances of what the related values
> > mean.
>
> I would suggest that you are not only modeling a location, but also
> modeling a means of delivery.

Yes, it is a particular location, which we may assume to be the one used by the postal service unless otherwise stated.

> There are cases where a package bearing a certain address label will be
> correctly delivered by the USPS, but
> Federal Express will call back, asking for a clarification of the address,
> unless you use a different address label on the package you give them to
> deliver.

Yes, and most systems I've seen do not have delivery carrier model as it would have been if modeled originally for multiple carriers.

This is where different data models show quite different approaches for maintaining them. Let's say that each organization or person (Party) is implemented with only one address (for simplification) where the Address primary key is a foreign key in a Person relation. Now we find that this address doesn't work for UPS. If this had been modeled for XML, for example (or PICK), then we could add in a new attribute of CarrierType to the Person entity, grouped with the Address and make that complex attribute multivalued. Nothing that used to work breaks, but we can now add funtionality to our software that looks for the right address for the carrier and add forms to put addresses in for other carriers as needed.

>From my understanding, not only is this impossible with an SQL-DBMS,
but it is outside of the relational model to do this. Is that correct, or have changes in relational modeling made this now a possible in theory?

--dawn

This is a case where in a system that permits attribute values with cardinality > 1, a Received on Wed Sep 14 2005 - 18:38:34 CEST

Original text of this message