Re: SQL



Hi,

Christian Brunschen wote:

>The relational model, and SQL, were developed specifically for persistent
>databases.

Wrong, the Relational model was created for databases, persistent or
not.

On the other hand persistence is something relative.

>I agree that code does some things better and DB other things, and one
>uses them *together* in a Yin-Yang fashion. They compliment each other.

DBMS are for data management (business rules) and code application is
for presentation and communication.

>Relational Databases and SQL are tools for the specific task of storing,
>accessing, modifying data

And to enforce data integrity and to derive new data (calculations).

> - they are single-purpose tools

Indeed, its purpose is data management, any data management. Thats why
they are called Database Management Systems.

>A 'general-purpose' programming language is
>one that allows one to write solutions to essentially arbitrary problems
>using it, possibly with some specific exceptions (such as, 'python is a
>general-purpose programming language, but due to its interpreted nature,
>it shouldn't be used for writing interrupt handlers').

In the same way, general purpose programming languages should not be
used for data management (business rules included) because there are
far better tools for this called DBMS.

>One thing to remember is that a RDBMS does _not_ do _anything_ that one
>can't do in code on one's own

Do you mean something like to show windows controls?

> - they are essentially just a pre-written
>library, with a little domain-specific language as part of its interface -
>whereas on the other hand, _most_ of the things you can fo in _code_,
>_cannot_ be done in an RDBMS.

Nonsenses. DBMS must be extendable. You can do any data processing with
a DBMS

>Procedural, funtional, object-oriented languages are all _general-purpose_
>tools for programming computers, for writing essentially arbitrary
>programs.

OO languages are procedural or functional.

> SQL _isn't_. If it were, then why do database vendors create
>languages to extend or 'hook into' the database (Oracle's PL/SQL), or

PL/SQL is a replacement for PSM, the procedural part of ANSI SQL. ANSI
SQL is also Turing complete.

>And again, 3GL can be used to _write_ RDBMS; the converse is _not_ true.

The converse is also true. I could write a compiler for a 3GL in ANSI
SQL or Oracle SQL


Regards
Alfredo

.



Relevant Pages

  • Re: Relational-to-OOP Tax
    ... Many SQL vendors has text mining features. ... Tutorial D isn't availible in production databases. ... The Third Manifesto,2 object functionality and the relational model are ...
    (comp.object)
  • Re: Common Lisp, SQL, NIL and null
    ... Non normalized databases are a necessary evil. ... SQL doesn't implement the relational model - it was simply inspired by ... SQL implements a bastard hybrid of relational set algebra, ...
    (comp.lang.lisp)
  • Re: Object/Relational Mapping is the Vietnam of Computer Sci
    ... interface defined by SQl. ... Databases come from a formalization of the need to store ... the data in the same way that the programs which manipulate the data ... you have the Relational Model of Data -- ...
    (comp.lang.ruby)
  • Re: Database Model - Class, objects and interaction
    ... SQL is not an interface to a persistence mechanism. ... call it a data management system. ... special implementation of the relational model designed for disk ...
    (comp.object)
  • Re: Possible bridges between OO programming proponents and relational model
    ... often presented as being a differentiation of relational model where no ... [I added comp.object since we're talking about bridging and OOP]. ... "Intro to databases" definitions, they'll get a shock when they see ... ADT's in SQL 3. ...
    (comp.databases.theory)