Re: At what ANSI/SPARC level are you, when creating new... totally lost
Date: Thu, 19 Jul 2007 16:24:23 -0000
On 15 jul, 16:37, kaja_love..._at_yahoo.com wrote:
> On Jul 15, 10:45 am, Jan Hidders <hidd..._at_gmail.com> wrote:
> > On 14 jul, 17:20, kaja_love..._at_yahoo.com wrote:
> > > hello
> > > This is really confusing
> > > >>Thus, by creating a new database are you creating logical model or
> > > >>conceptual model?
> > > >The external model and the conceptual model are both logical models.
> > > But the quote below suggest that logical model is part of internal
> > > schema and thus conceptual model can't also be logical model?!
> > > >>An internal schema is an organization of data according to the technology [...snip...]
> > No wonder you are confused. In his article David Hay mixes ANSI/SPARC
> > terminology with general data modelling terminology and pretends they
> > are the same. This is not the case, especially terms such as "logical
> > model", "internal model" and "conceptual model" have sometimes subtly
> > different meanings. As a consequence he actually misrepresents the
> > exact meaning of the ANSI/SPARC terminology. The ANSI/SPARC layers
> > were meant to describe the internal archtitecture of a certain DBMS,
> > and therefore, by David Hay's definition of the term, are actually
> > *all* in the internal layer. What he calls the conceptual schema and
> > external schema are completely outside the range of what the ANSI/
> > SPARC architecture attempts to describe.
> > > Since I only know ( a little ) about relational database, I'm going to
> > > ask the following question in the context of relational database:
> > > The way I understand the above paragraph is that logical schema
> > > ( which the article claims is a part of internal schema ) deals with
> > > tables, while conceptual level deals with objects ( entities ) and
> > > thus knows nothing about tables and keys. Uh, what am I missing here?!
> > As the terms are usually used in a data modelling context this is
> > largely correct. Btw., entities, of course, also have keys.
> > -- Jan Hidders
> I can’t thank you enough for helping me out. If I may ask you just one
> last thing, just so I can see if I got it right? And I apologize if my
> questions seem repetitive
> Since in the context of general data modeling, conceptual model deals
> only with objects ( entities ) and knows nothing about table
> structures etc, then that must also mean that in the context of
> general data modeling, conceptual model is not a logical model?!
Yes, as it is generally is understood this correct, but note that in theory it could be if there were a DBMS that used the data model that is usually used for conceptually modelling as its native data model. In fact, you could describe the whole effort on object-oriented databases as an attempt to bring the two closer together.
> There’s a little ambiguity here – can’t the term logical model
> represent two things:
> a) in the broader sense of the word, logical model could be any model
> that abstracts the real world , even if the model is only on the paper
> and not intended for actual DB implementation ( for example
> conceptual model in the context of general data modeling ) and thus
> doesn’t use table structures etc
Yes. Database researchers often tend to use it in that meaning. This is related to the fact that these people often don't accept that a conceptual model is a real data model but rather an informal and loose shorthand for the real thing.
> b) while on the other hand we are using the term logical model for
> actual model being implemented into DB ( thus conceptual model in the
> context of general data modeling would not be considered a logical
> model )
Yes, that is more how the data modelling and software engineering people see it.
> When do we use term as described in a) and when as described in b), or
> does, when talking about databases, logical model always refer to
> model I described in point b) logical model being models that use
> table structures?
As far as I can see there is no easy rule of thumb here, and even the the rough distinction in different groups and meanings is only an approximation of the truth, which is a bit messier. As always, if you want to make sure the audience you have in mind understands you correctly then you either have to make sure in advance how they understand the term or be explicit yourself about how you use the term (by either giving your own definition or referring to an authorative one).
- Jan Hidders