comp.lang.ada
 help / color / mirror / Atom feed
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



  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