Re: Declarative constraints in practical terms
Date: 24 Feb 2006 18:20:42 -0800
Message-ID: <1140834041.969249.302190_at_v46g2000cwv.googlegroups.com>
Brian Selzer wrote:
> See comments below.
>
> "dawn" <dawnwolthuis_at_gmail.com> wrote in message
> news:1140733081.318114.74100_at_e56g2000cwe.googlegroups.com...
> > Brian Selzer wrote:
> >> I think you're missing the point. A database is a knowledge repository,
> >> not
> >> an application.
> >
> > It is a portion of one or more software applications, right?
> >
>
> Wrong. It's a separate and distinct entity that is used and manipulated by
> applications.
I was messin' with you, Brian, but I do like my description better ;-)
> >> It is the foundation upon which applications are built.
> >
> > I don't see it that way. I see it as a software component. One could
> > also tip things another direction and say "The UI is the foundation of
> > any software application" or "The processing of data is foundational to
> > any software application." I see these all as components to the
> > greater whole. The design and architecture of software are
> > foundational. I do think that how solid a data model for any aspect of
> > software is has a significant impact on how good the whole is.
> >
> Huh??? Isn't software a synonym for Information System? Isn't the whole
> point of software to manipulate information?
Data processing, yes. Remove either the data or the processing and it is incomplete.
> The user interface is
> arbitrary and at best peripheral to the purpose of an application.
> How
> data is manipulated is important, but depends on the definition of the data.
> Thus the definition of the data is the first and in my opinion the most
> important development task.
> Before you can even begin the process of design and architecture, you must
> first perform a thorough analysis, and the ultimate purpose of that analysis
> is to determine what information needs to be collected and retained.
>
> >.... I do think that how solid a data model for any aspect of
> > software is has a significant impact on how good the whole is.
> >
>
> I'm glad you do. The first time I read this passage, I thought you meant
> "don't."
No, no. I really do care a lot about developing very solid data models.
> > eliminating it in some places and introducing it in others
> >
> I disagree. The definition of a database should be all that is required to
> determine whether a database value is legal. Constraints are an integral
> part of that definition.
> > How do you know that once mapped and indexed, queries are easier and
> > faster? There are no benchmarks of which I am aware that are data
> > model independent for database performance. As for easier, I find it
> > easier to write
> >
> > select name, gpa from students where every major <> "math"
> >
> > (converted from a non-1NF query language into pseudo-SQL) than the
> > equivalent sql-92 statement
> >
>
> How do I know? Experience and just plain common sense.
> A list must be
> traversed sequentially. A set or bag must be scanned. Indexes make queries
> against these much, much faster.
<snip>
> The whole point of software is to manipulate information. All other aspects
> of software development depend on the definition of that information--that
> is, the database schema: you have to know what you're manipulating before
> you can manipulate it. I would think that that makes the database the
> foundation upon which applications are built.