Re: Object-oriented thinking in SQL context?
Date: 01 Jul 2009 18:42:43 GMT
Message-ID: <4a4bae23$0$8687$703f8584_at_news.kpn.nl>
David BL wrote:
>On Jun 24, 5:12 am, rp_at_raampje.(none) (Reinier Post) wrote:
>> David BL wrote:
>> >I am suggesting you can have a "database" type where a given value of
>> >that type is a set of named relation values, where the relations
>> >values are of distinct types. More specifically I'm thinking that the
>> >database type fixes the names and types of the relations.
>>
>> In a book on database design I've used, your idea is called 'composition'.
>> Recursion is disallowed there.
[...]
>> [...] can we only have finite nonrecursive instances such as
>> S3 =D= {A: {{B:3, C: {A: {{B:1, C:{}}}}}}}
>> ?
>
>Yes, allow that
Clear.
[...]
>> Finally, your motivation is that database-valued attributes
>> give us the same addition in expressive power that surrogate
>> identifiers do, when compared to flat, surrogate-less databases.
>> How do you know? What do you mean by it?
>> (I have an idea, but this posting is growing too long.)
>
>Actually I suspect that is not the case. i.e. one cannot always
>eliminate abstract identifiers.
But in that case, what is the attraction of your idea?
>A Triangulated Irregular Network
>seems to be an example of that. How can a set of triangles reference
>shared vertices without introducing identifiers for them?
>The only
>alternative seems to be to use the value (i.e. x,y,z) of a vertex to
>identify it and then use integrity constraints to somehow reduce the
>degrees of freedom in the model.
Yes, constraints are unavoidable, but is this a problem?
>It's not clear to me whether it
>could be practical. For example, when a user selects and moves a
>vertex around in a GUI, it would be necessary to update multiple
>appearances of the same (x,y,z) in the model. Failing to do so would
>typically cause an integrity constraint violation.
>A TIN may not be a very good example because in practise it is usually
>based on a Delaunay triangulation. In other words the triangles are /
>calculated/ from the vertices. Therefore it is sufficient to only
>model the vertices, and so we just have a set of (x,y,z) and no need
>to introduce abstract identifiers.
Your DVAs are designed for that as well, but they're hierarchical. I like hierarchy as a basis for serialization (e.g. XML, YAML, JSON), not as a basis for persistence.
-- ReinierReceived on Wed Jul 01 2009 - 20:42:43 CEST