next up previous
Next: Persistence of Objects Up: Object-Oriented Databases Previous: Object-Oriented Languages

Persistent Programming Languages

  1. Persistent data: data that continue to exist even after the program that created it has terminated.
  2. A persistent programming language is a programming language extended with constructs to handle persistent data. It distinguishes with embedded SQL in at least two ways:
    1. In a persistent program language, query language is fully integrated with the host language and both share the same type system. Any format changes required in databases are carried out transparently.

      Comparison with Embedded SQL where (1) host and DML have different type systems, code conversion operates outside of OO type system, and hence has a higher chance of having undetected errors; (2) format conversion takes a substantial amount of code.

    2. Using Embedded SQL, a programmer is responsible for writing explicit code to fetch data into memory or store data back to the database.

      In a persistent program language, a programmer can manipulate persistent data without having to write such code explicitly.

  3. Drawbacks: (1) Powerful but easy to make programming errors that damage the database; (2) harder to do automatic high-level optimization; and (3) do not support declarative querying well.

Osmar Zaiane
Mon Jun 29 17:30:13 PDT 1998