Codebase Database API

Ruslan Zasukhin sunshine at public.kherson.ua
Tue Aug 8 18:03:27 EDT 2006


On 8/8/06 11:36 PM, "Robert Sneidar" <bobs at twft.com> wrote:

Robert,

This question can be interesting to all, so I will CC it to both lists.

> 2. Although virtually every SQL solution I have seen declares it is a  true
> Relational database, I have seen NOTHING which refers to  creating relations
> between tables (except perhaps in Valentina) and  in Foxpro these relations
> are created on the fly, again using  existing indexes created with the complex
> expressions briefly  described above.

Let me clarify here.

Relational database simple uses Tables (aka Relations).

Pure Realtional Database model do not have indexes, and do not have anything
between tables.

Relation between records of 2 tables, you establish simply BY VALUE.

Later was invented such feature as FOREING KEY, and it is now in SQL
standard.

Yes, Valentina 2 extend this feature - FK and name it as LINK,
    as well as add two other kind of links to link records.

So me point, that DBMS you mention above really have right say that they
support Relational model.

Valentina support Object-Relational model.

FoxPro - was relational, but with a lots of low level API methods, which did
allow you control db without SQL. In fact, I remember times when FoxPro was
without any SQL..Or may be they was other DBF dialect (Clipper?)

 
> I have gathered I think, that sub-queries, or joins  are the method for doing
> this, but again, what kind of performance hit do I take?
> 
> And to do this I will have to learn the very decidedly  non-friendly SQL join
> syntax.

Again to be fair...I not think that join is so unfriendly.

And I can say that without joins and SQL to get the same result you will
need write much more code in Fox, or even in Valentina 2 using its new API
way. But in Valentina 2 this API way may result in some performance
benefits..

So I think here is not so black and white. Exists trade-off

Btw, just in case I give you this WIKI urls on few articles and LINK
feature. 

http://www.valentina-db.com/dokuwiki/doku.php?id=paradigma:public:en:documen
tation:vkernel:vlink:vlink


Here about Database models:

http://www.valentina-db.com/dokuwiki/doku.php?id=paradigma:public:en:documen
tation:articles:articles


--------------------------------------------
Note, that in Valentina 2 we have introduce reach API, which allow control
database totally without SQL.

I claim that we have give new life to Navigational Model.

If somebody have work with dbVista - one on famous db with Naviational
model, will see how many cool things we have resolve in Valentina 2.

But I cannot say that Navigational Model is best for every task. For example
GROUP BY task is nightmare for it.

And this is why it is so great that Valentina give you way easy use ANY form
SEVERAL supported database models in your code in the same time!


-- 
Best regards,

Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc

Valentina - Joining Worlds of Information
http://www.paradigmasoft.com

[I feel the need: the need for speed]





More information about the use-livecode mailing list