Re: Application logic and Business logic

From: Alfredo Novoa (alfredo_novoa_at_hotmail.com)
Date: 03/06/05


Date: Sun, 06 Mar 2005 12:51:35 +0100

On Sun, 6 Mar 2005 10:36:31 +0100, "Dmitry A. Kazakov"
<mailbox@dmitry-kazakov.de> wrote:

>>>But I am not satisfied with the performance, partially
>>>because it should work with the most of DBMS's, and that limits a lot,
>>>partially because in many cases relations is a very ineffective way to
>>>implement things.
>>
>> Relations are logical structures.
>
>Relations are functions.

Of course, and functions are not physical, they don't have
performance.

>> A good programmer should be able to
>> implement extremely efficient relation structures. It is not very
>> difficult.
>
>... to implement a graph using relations. BTW, Berge graph is defined as a
>relation, which simultaneously is the worst possible way to implement it.

Again relations are as logical as graphs. You can implement a
transitive relation using graphs.

>I believe you. But that would be rather easy. Try to outperform an
>application that uses no DBMS!

It is very easy. At least we always can have the same performance, but
the DBMS provider often has a lot more time and resources to optimize
the code than the application programmers.

>BTW, your RIGHT CAMP (all capitalized (:-)) is largely comprised of people
>more or less directly related to DBs development (interfaces, engines etc).

No, it is more related to research.

>It is rather typical how eager are tools providers to prescribe users not
>only the way of using the mentioned above tools, but also the way of life.

The problem is that tool providers provide poor tools.

>> The database is a repository of facts and the applications serve to
>> present the facts to the users and to communicate the users with the
>> DBMS.
>
>Nicely vague ... but, let's take sqrt. Is it application or DB? What are
>facts here?

Sqrt is an application that can be a part of a DBMS or not. A DBMS is
a set of applications.

There are no facts here because we are in a lower level. We need nouns
to elaborate statements, and sqrt is in the "noun" level.

>Don't presentation and communication intersect with business logic?

Presentation and communication logic is constrainted by business logic
but not the contrary.

>> I would be a good thing to have a good RDBMS as a part of OS, but it
>> is completely absurd to think in a DBMS as a part of a language.
>
>Come on, if I correctly understood you, "int X=1;" is a DB. Then "+" should
>be a DBMS!

No, you didn't understood me.

A DBMS is a set of applications and a language is not an application.

>> select Year(Date) as Year from a
>
>No, the method is Inverse (Matrix).

select Inverse(Mattrix) as InverseMattrix from a

>> select a from b where Foo(Thing)
>
>So? The above is nothing more than creating one container from another. Why
>should I care about DB?

Because you have to represent your Things somewhere, and the best way
is in the form of relations (Codd's Information Principle).

>
>>>Ooch, is there any time-bounded DB operation?
>>
>> Of course!
>
>Which one? How many microseconds takes one "update"?

It depends on many thing but a simple one takes less than 100 with my
DBMS.

>>>They are as low-level as other synchronization
>>>mechanisms, but additionally they are very expensive and dangerous. Further
>>>the key issue of static analysis remains out of reach.
>>
>> It was solved a long time ago.
>
>What? Can you provide a link?

http://www.amazon.com/exec/obidos/tg/detail/-/1558601902/103-1669149-5727862

Regards