Re: chooses not to generate code at all



On Tue, 23 Aug 2005 15:03:03 GMT, "H. S. Lahman"
<h.lahman@xxxxxxxxxxx> wrote:
>>>[At least in the conventional sense where the procedure is triggered by
>>>specific database updates.
>>
>> That would be a "trigger", not a "stored procedure" as such.
>
>The whole point of having a stored procedure as an integral part of the
>DBMS is so that the DBMS engine can execute it when triggered by some
>update activity on the stored data. If there is no trigger, then...

My usage of the terms is standard, yours is not. Boot up your
favorite database and see what the tools call things.

>>>In theory one could store code, parametric
>>>data, and whatnot in the DBMS that is selectively invoked by external
>>>applications. In that case those applications define the scope and
>>>context of execution rather than the DBMS' data. So in that case the
>>>DBMS is just a storage medium for the procedures and doesn't decide when
>>>they should be executed.]
>>
>> That is exactly what a "stored procedure" is all about.
>
>This is just an arbitrary blob of data and the execution dynamics are
>external to the DBMS. IOW, it is not an integral part of the DBMS itself.

Well, fine, that's how ANSI felt about it up until recently, too.
Unfortunately, best practice for twenty years has been to use the
non-standard stored procedures to encapsulate functionality and
decouple applications from the data model.

If you're not into it, btw, you would be AMAZED at the issues of
efficient execution that underlies what seems such a simple thing as a
SQL statement. Makes your average C compile-link-go seem like a
kiddie script.

>>>An RDB is not "an MDA". It is simply a model instance that can be
>>>either an Input Model or an Output model under MDA, depending upon
>>>context. It happens to instantiate a meta-model, which is reflected in
>>>schemas, etc.. That meta-model instantiates a general data model
>>>especially tailored to persistence (Table, Tuple, Field).
>>
>> I'm not sure that these abstractions are "especially tailored to
>> persistence". Certainly "field" is a general concept.
>
>The point here is that SQL is not the only way to access an RDB; it is
>just one access paradigm. Nor is a conventional RDB the only way to
>implement Codd's RDM (e.g., OODB's and UML Class Models also honor that
>model.)

Oh, I hardly think so. The point of RDM is normal form, which is
barely even known to most practitioners of OO.

OTOH, it's barely known to half the DBA's I run into, either.

>[Note, BTW, that a UML Class Model is normalized to 3NF just like an RDB
>schema.

Cite me an authority on that, please. The difference in style and
practice between relational and object is long-standing, if things
have changed I didn't get the memo.

> But the abstractions may be quite different even though both
>the application and the RDM are abstracting from the same customer
>problem space.

Impossible.

> (They won't be so different that one cannot map
>unambiguously between them because they /are/ derived from the same
>problem space.)

Nonsense.

> In addition, the application developer should not care
>if the data is persisted in an RDB, OODB, flat files, or clay tablets;
>that sort of thing should be completely transparent to the problem
>solution.]

Easy to say, but the "impedance mismatch" between technologies is an
every-day problem.

J.

.



Relevant Pages

  • Re: chooses not to generate code at all
    ... >>>DBMS is so that the DBMS engine can execute it when triggered by some ... If there is no trigger, ... Stored procedure is one thing. ... > If the procedure execution is not triggered by DBMS ...
    (comp.object)
  • Re: Application logic and Business logic
    ... >that to affect a transaction requiring only five parameters that as many as ... All the application needs to do is to declare the transaction. ... SQL optimization is a task for the DBMS. ... But you need to ship code to update an stored procedure. ...
    (comp.object)
  • Re: Application Data Access - Stored Procedures
    ... new scenario has a stored procedure residing within the relational db ... The syntax for the call probably varies from DBMS to DBMS, but for Microsoft SQL Server I believe you could use a statement like this: ... You would execute this like any other select, insert, update, etc., statement, using SQLEXECDIRECT or SQLEXECDIRECTWITHPARAMETERS. ... Note that the API includes the SQLPROCEDURES and SQLPROCEDURECOLUMNS routines, which appear to return information about stored procedures available from the target database. ...
    (comp.sys.unisys)
  • Re: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]
    ... > execute a stored procedure on the MS SQL servers? ... The driver is just suffering a sudden, unexpected disconnect from the DBMS. ... > Microsoft SQL Server ...
    (microsoft.public.sqlserver.jdbcdriver)
  • Re: Searching OO Associations with RDBMS Persistence Models
    ... RDB is about data structure an OO is about ... RDB is about data management and OO is about application ... The DBMS must enforce all the business rules. ...
    (comp.object)