Re: Data Redundancy

From: dawn <dawnwolthuis_at_gmail.com>
Date: 17 Feb 2006 04:22:47 -0800
Message-ID: <1140178967.622685.283090_at_g43g2000cwa.googlegroups.com>


x wrote:
> "Marshall Spight" <marshall.spight_at_gmail.com> wrote in message
> news:1140152368.801123.315230_at_g47g2000cwa.googlegroups.com...
> > dawn wrote:
>
> > > There are no declarative constraints in MV. What does it matter if
> > > they are declarative, procedural, OO, functional or whatever type of
> > > constraints?
> >
> > Step 1:
> > Whatever your application is, you first have to specify what the
> > constraints are, formally enough to be unambiguous.
>
> Step 1 for "declarative":
> Try to unambiguously specify what the constraints are using a declarative
> language
>
> Step 1 for "procedural":
> Try to unambiguously specify what the constraints are using a procedural
> language

Yes. Identical in scope, with the difference being the language used to implement. If you are from "the code is the final spec" school, the delivery here is code.

> > Step 2, for "procedural, OO, functional or whatever"
> > Now you have to manually take the formal specification and
> > turn it in to code.

You missed declarative in your list ;-)

> > For the constraint to work 100% of the time,
> > it cannot have any bugs or missteps in the translation from
> > step 1. If you have multiple application languages updating
> > the data, you have to recode the constraints in each language,

Nope. The difference is that you have a layer of database services not written by the DBMS vendor. No matter what languages are used, you use make use of the same services. An organization could decide not to do it this way, however, but once they decide, they can also decide whether to enforce it in an automated way or not (e.g. no security access to the data except through these services).

> > being sure to keep them in sync forever. If you have multiple
> > places in application code where the data can be updated,
> > you have to be sure to identify every one, and apply the
> > appropriate checks at each update site, and keep this up
> > to date forever.
>
> Step 2 for "procedural":
> Verify if your specification is really what you wanted
>
> > Step 2, for "declarative"
> > There is no step 2 for declarative.
>
> Step 2 for "declarative":
> Verify if your specification is really what you wanted
>
> :-)

Indeed. --dawn Received on Fri Feb 17 2006 - 13:22:47 CET

Original text of this message