From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Windows Ada database support.
Date: Wed, 8 Dec 2004 11:56:31 +0100
Date: 2004-12-08T11:56:31+01:00 [thread overview]
Message-ID: <wqdeoxp59r9b.1j4v1emb3garz.dlg@40tude.net> (raw)
In-Reply-To: wvbru0qxnm2n.fsf@sun.com
On 08 Dec 2004 11:03:44 +0100, Ole-Hjalmar Kristensen wrote:
>>>>>> "DAK" == Dmitry A Kazakov <mailbox@dmitry-kazakov.de> writes:
>
> DAK> On Wed, 8 Dec 2004 02:24:25 +0000 (UTC), Georg Bauhaus wrote:
> >> Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
> >> : On Tue, 7 Dec 2004 15:49:36 +0000 (UTC), Georg Bauhaus wrote:
> >> :
> >> :> Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
> >> :>
> >> :>: I think that this is a shortcoming of the very concept of a relational
> >> :>: view. Relation is not an array. Period.
> >> :>
> >> :> Who says that a relation is an array?
> >> :
> >> : Nobody. The problem is that we need arrays, or more generally, ordered
> >> : containers. This is the way the most people think about tables.
> >>
> >> Hm. If at the DB level you ask,
> >>
> >> SELECT S.key, T.foo, T.bar from S, T
> >> WHERE (S.key BETWEEN 100 AND 200)
> >> AND T.foo = S.key
> >> ORDER BY S.key
>
> DAK> This is the source of the problems in my view. What does SELECT in
> DAK> application terms? A developer would like to be two storeys above that.
>
> A good question. But isn't the goal of the application programmer
> precisely to select an implementation of the domain-specific concepts?
Yes, but from one storey below! (:-)) It is essential not to sink in
details.
> So the application programmer cannot really be "two storeys above
> that", he has to choose how to do the mapping to some more general
> representation, be it DB schema or programming language.
> An even better question is what do you want to accomplish, in terms of
> your *problem* domain? It isn't obvious to me that using another
> interface to the DB (object-oriented, navigational, ER-like, etc) in
> general will make the mapping from the problem domain any easier.
So the point is that SQL is the best thing one can imagine? George's point
was, in my interpretation:
SQL is an inevitable evil (mostly because of performance requirements),
higher abstraction is impossible.
Your point seems to be:
Higher abstraction isn't even needed because SQL is the ultimate optimum.
> For
> many application domains, thinking in terms of sets and relations are
> perfectly fine, and going to an object-oriented / navigational model
> and effectively doing your own joins isn't going to help you much.
Again, there are two different questions. I have already formulated them in
another post:
1. Why relations should be handled?
2. Why Ada cannot handle them?
To dismiss Ada.Database.Relational, we have to answer 1=yes, 2=no,
because...
Note I do not argue that 1=no. I only suspect that there might be better
ways. But let's agree for a moment that 1=*YES*. Then, what about 2?
> You
> have to implement the relations between your problem-domain objects in
> some way, and the relational model and the use of normailzation has
> proven itself to be a very robust and flexible way of doing this,
> although not necessarily the most efficient.
>
> If you have a better model for describing the problem domain in mind,
> I'm more than willing to listen.
OK, you wished that! (:-)) I would like to view it as a distributed system
and get rid of the notion of DB altogether. Only persistent objects. No
I/O, just memory-mappings. [ Clearly, in any short term perspective it is
an utopia. ]
> Btw., many years ago I worked on a project where the main goal was to
> develop a rapid prototyping tool for DB applications. The project
> started because a fellow analyst found out that lots of customers did
> not really understand the implications of the ER models he created, so
> he felt the need to rapidly create a set of example applications which
> could illustrate the possibilities of his ER model. Our approach was
> to first create the ER model, then to create an "application" or form,
> we would select some entity as the root. By following the relations
> from this root entity we could reach other entities, and so on,
> effectively creating a hierarchical structure from the ER network. The
> tool also allowed you to select a subset of the attributes for each
> entity.
Nice.
> The DB schema was automatically created from the ER model,
> and the prototyping tool also generated descriptions of the logic (in
> terms of interpreted code and SQL) and a graphical user interface for
> each application. The actual execution of the application was done by
> an interpreter, in order to give us rapid turnaround time (just
> seconds to make changes to your application or schema and try it
> again), but of course you could just as well have created data type
> definitions and access functions in a compiled language to allow an
> application writer easy access to the ER model/DB schema through a set
> of application-specific interfaces.
Excellent. Why something like that cannot become Ada.Databases?
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2004-12-08 10:56 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-24 12:31 Windows Ada database support Mark Doherty
2004-11-24 15:04 ` Marius Amado Alves
2004-11-24 18:35 ` Pascal Obry
2004-11-24 19:17 ` Alex R. Mosteo
2004-11-24 19:30 ` Dmitry A. Kazakov
2004-11-24 22:32 ` Ching Bon Lam
2004-11-25 1:03 ` David Botton
2004-11-25 17:50 ` Warren W. Gay VE3WWG
2004-11-26 9:15 ` Dmitry A. Kazakov
2004-11-26 18:36 ` David Botton
2004-11-27 8:59 ` Dmitry A. Kazakov
2004-11-28 0:46 ` David Botton
2004-11-28 9:51 ` Dmitry A. Kazakov
2004-11-28 10:23 ` Pascal Obry
2004-11-28 11:03 ` Dmitry A. Kazakov
2004-11-28 14:38 ` Martin Dowie
2004-11-28 16:51 ` Marius Amado Alves
2004-11-28 19:50 ` Martin Dowie
2004-11-28 20:49 ` Christopher Browne
2004-11-28 17:29 ` Dmitry A. Kazakov
2004-11-28 17:47 ` Marius Amado Alves
2004-11-28 18:56 ` Dmitry A. Kazakov
2004-12-06 14:57 ` Warren W. Gay VE3WWG
2004-11-28 18:45 ` Pascal Obry
2004-11-28 19:13 ` Dmitry A. Kazakov
2004-11-28 20:04 ` Pascal Obry
2004-11-29 9:04 ` Dmitry A. Kazakov
2004-11-29 10:07 ` Adrien Plisson
2004-11-29 11:00 ` Alex R. Mosteo
2004-11-29 13:12 ` Frank Piron
2004-12-01 16:19 ` Pascal Obry
2004-12-02 10:37 ` Marius Amado Alves
2004-12-02 10:58 ` Frank Piron
2004-12-03 2:50 ` John B. Matthews
2004-11-28 20:36 ` Marius Amado Alves
2004-11-29 1:40 ` Georg Bauhaus
2004-11-29 10:30 ` Marius Amado Alves
2004-11-29 1:28 ` Georg Bauhaus
2004-11-29 8:53 ` Dmitry A. Kazakov
2004-11-29 11:09 ` Georg Bauhaus
2004-11-29 12:01 ` Dmitry A. Kazakov
2004-11-29 14:07 ` Georg Bauhaus
2004-11-29 18:04 ` Dmitry A. Kazakov
2004-11-29 22:05 ` Georg Bauhaus
2004-11-30 11:00 ` Dmitry A. Kazakov
2004-11-30 13:46 ` Ole-Hjalmar Kristensen
2004-11-30 15:04 ` Dmitry A. Kazakov
2004-11-30 16:09 ` Georg Bauhaus
2004-11-30 16:07 ` Georg Bauhaus
2004-11-30 18:52 ` Dmitry A. Kazakov
2004-11-30 21:10 ` Georg Bauhaus
2004-12-01 9:11 ` Dmitry A. Kazakov
2004-11-29 12:56 ` Marius Amado Alves
2004-11-29 13:26 ` Dmitry A. Kazakov
2004-11-29 15:02 ` Frank Piron
2004-11-29 15:58 ` Marius Amado Alves
2004-11-29 18:16 ` Dmitry A. Kazakov
2004-11-30 7:14 ` Frank Piron
2004-12-06 14:48 ` Warren W. Gay VE3WWG
2004-12-06 16:29 ` Dmitry A. Kazakov
2004-12-06 17:52 ` Warren W. Gay VE3WWG
2004-12-06 19:44 ` Georg Bauhaus
2004-12-06 20:49 ` Dmitry A. Kazakov
2004-12-07 5:16 ` Warren W. Gay VE3WWG
2004-12-07 10:29 ` Dmitry A. Kazakov
2004-12-07 15:49 ` Georg Bauhaus
2004-12-07 21:29 ` Dmitry A. Kazakov
2004-12-08 2:24 ` Georg Bauhaus
2004-12-08 9:05 ` Dmitry A. Kazakov
2004-12-08 10:03 ` Ole-Hjalmar Kristensen
2004-12-08 10:56 ` Dmitry A. Kazakov [this message]
2004-12-08 11:19 ` Marius Amado Alves
2004-12-08 12:51 ` Frank Piron
2004-12-08 13:43 ` Dmitry A. Kazakov
2004-12-08 13:41 ` Dmitry A. Kazakov
2004-12-08 16:09 ` Georg Bauhaus
2004-12-08 19:46 ` Dmitry A. Kazakov
2004-12-09 12:20 ` Georg Bauhaus
2004-12-09 12:59 ` Dmitry A. Kazakov
2004-12-08 15:58 ` Georg Bauhaus
2004-12-08 19:43 ` Dmitry A. Kazakov
2004-12-09 11:58 ` Georg Bauhaus
2004-12-09 13:27 ` Dmitry A. Kazakov
2004-12-09 18:58 ` Georg Bauhaus
2004-12-10 10:22 ` Dmitry A. Kazakov
2004-12-10 14:28 ` Georg Bauhaus
2004-12-10 15:14 ` Dmitry A. Kazakov
2004-12-08 15:52 ` Georg Bauhaus
2004-12-08 20:22 ` Dmitry A. Kazakov
2004-12-09 12:12 ` Georg Bauhaus
2004-12-09 12:59 ` Dmitry A. Kazakov
2004-12-09 18:45 ` Georg Bauhaus
2004-12-09 12:22 ` Ole-Hjalmar Kristensen
2004-12-09 14:03 ` Dmitry A. Kazakov
2004-12-10 20:47 ` Simon Wright
2004-11-25 2:18 ` bubble
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox