Home Forums Database Design Relational Theory Defining keys as sets that must not intersect instead of scalar values that must not be equal RE: Defining keys as sets that must not intersect instead of scalar values that must not be equal

  • Sure, I mentioned this in the original comment:

    "Of course in the real world we know that sometimes people share phone numbers, like the landline number for a residence. I am going to assert that, for the sake of this model, that situation would result in an incoherent idea for a contact, because it doesn't make sense to initiate a communication through one of these protocol endpoints without knowing who it is you are addressing."

    What I'm talking about here isn't a solution specifically for the problem of defining contacts in some kind of "universal contact model", although it would work given the assertion I made about this particular model. Rather, what I'm talking about is a much more general idea about what it means to be a key at all. I'm using a particular contact model to express an example of the idea, and the time intervals problem to express another example of the idea.

    Another way of saying that would be this: The set based key solution is not a solution to the shared phone number model, precisely because in the shared phone number model a contact endpoint is not a candidate key. So it's not so much that the solution doesn't work in this case, but rather that the whole approach doesn't apply in this case.