Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Reminder, blatant ad
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 1 - 25 of 115 - Collapse all  -  Translate all to Translated (View all originals)   Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
dawn  
View profile  
(3 users)  More options Jan 25 2006, 11:00 pm
Newsgroups: comp.databases.theory
From: "dawn" <dawnwolth...@gmail.com>
Date: 25 Jan 2006 20:00:36 -0800
Local: Wed, Jan 25 2006 11:00 pm
Subject: Reminder, blatant ad
This is just a reminder of the blog I started this month.  You can be
notified of new postings using an atom feed, but I thought I'd make
another announcement here.  There are now three entries in the series
starting with "Is Codd Dead?".

http://www.tincat-group.com/mewsings

Enjoy!  --dawn


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jan Hidders  
View profile  
(1 user)  More options Jan 26 2006, 3:43 pm
Newsgroups: comp.databases.theory
From: Jan Hidders <jan.hidd...@REMOVETHIS.pandora.be>
Date: Thu, 26 Jan 2006 20:43:15 GMT
Local: Thurs, Jan 26 2006 3:43 pm
Subject: Re: Reminder, blatant ad
Hi Dawn,

Since I don't like discussing by means of blog comments I'll post my
reaction here. As you probably know I'm in the pro-RM and anti-dbdebunk
camp, so although I'm probably mostly crticial, it is certainly not
meant as an attack.

Dawn Wolthuis wrote in her blog on
http://www.tincat-group.com/mewsings/2006/01/naked-model.html
the following:

> [...] If we were to implement a data model what would we have? Let's
> take a look at a recent definition of data model from Date.

> A data model is an abstract, self-contained, logical definition of
> the objects, operators, and so forth, that together constitute the
> abstract machine with which users interact. The objects allow us to
> model the structure of data. The operators allow us to model its
> behavior. (C. J. Date, An Introduction to Database Systems, Addison
> Wesley, 8e, 2003, p 15-16)

> I conclude from this that the implementation of a data model is a
> programming language, whether a general purpose programming language
> or not.

While I don't think that what you say here is strictly speaking
incorrect, I do believe that it is misleading. In programming languages
one is often rather more concrete about how the data is stored and how
the operators do their work, in fact that is often the whole purpose fo
the programming language, whereas Date stresses rightly here that it has
to be an *abstract* definition. Another important aspect is the extent
to which the definition is *logical*, which implies that the definition
of constraints and manipulations should be more declarative, whereas in
programming languages this is often more done in an operational way. Of
course there are no black and whites here because these things vary in
different programming languages, but simply equating the concept of
"data model" as Date and Codd define it and "programming language" is
cutting a few corners too many.

> My beef with the RM is related both to normalization theory as taught
> in colleges and universities, discussed in the Is Codd Dead? blog
> and to the way the RM, or parts thereof, are used in the practice of
> software development and maintenance today. It shapes the thinking of
> software developers in ways that are often not the most effective.

I have really no idea where this comes from. When I teach normalization
I do that in the context of the relational model. It is part of the
theory that you should know if you have to deal with an RDBMS.
Obviously, if you have to deal with another type of DBMS you should not
apply it, or at least not in exactly the same way. Are you now telling
me that most computer science students in the United States massively
fail to get this when they take their database courses? And those people
are allowed to build critical information systems? :-)

> And, by the way, if you are thinking that the RM need not be obvious
> in a developer's programming language but could be hidden behind the
> scenes, then my work is done. That would mean that no computer
> language would need to use the Information Principle, and neither you
> nor I would need to use the RM as a data model. We can use any
> programming language that does not represent itself as an
> implementation of the RM to employ an alternative data model.

Again, I have no idea what you are talking about here. Who on earth has
ever claimed that the RM would be the best data model for programming
languages? The claim of the RM is that it is a good data model for a
DBMS, and even that claim is usually qualified.

-- Jan Hidders

PS. Apologies in advance if I don't reply this week, I'll be mostly
off-line then.


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
dawn  
View profile  
(1 user)  More options Jan 26 2006, 4:15 pm
Newsgroups: comp.databases.theory
From: "dawn" <dawnwolth...@gmail.com>
Date: 26 Jan 2006 13:15:42 -0800
Local: Thurs, Jan 26 2006 4:15 pm
Subject: Re: Reminder, blatant ad

Jan Hidders wrote:
> Hi Dawn,

> Since I don't like discussing by means of blog comments I'll post my
> reaction here.

I have never been a blog-comment person either, but since there are
some students reading my blog, it is good for them to see comments with
it too, so I'm encouraging that.  I'm happy to get feedback from you in
this forum too, however.

I definitely think that a data model is abstract.  That is why I said
that an implementation of the data model (for our purposes of
developing software) is a programming language.  That is why when
countering SQL, claiming it not to be a good implementation of the RM,
Date introduces Tutorial-D, another language.  I am stating that a data
model is the abstraction of a programming language (or sublanguage).

> Another important aspect is the extent
> to which the definition is *logical*, which implies that the definition
> of constraints and manipulations should be more declarative,

I suppose that is the intent, but I see nothing in Codd's definition of
a data model that would lead me to believe that a data model must be
implemented in a declarative language.

> whereas in
> programming languages this is often more done in an operational way.

OK-ish.

> Of
> course there are no black and whites here because these things vary in
> different programming languages, but simply equating the concept of
> "data model" as Date and Codd define it and "programming language" is
> cutting a few corners too many.

I did not intend to equate them but to claim that a data model is
implemented via a programming language.  That language could be
declarative, functional, set-based, procedural, OO, ...

> > My beef with the RM is related both to normalization theory as taught
> > in colleges and universities, discussed in the Is Codd Dead? blog
> > and to the way the RM, or parts thereof, are used in the practice of
> > software development and maintenance today. It shapes the thinking of
> > software developers in ways that are often not the most effective.

> I have really no idea where this comes from. When I teach normalization
> I do that in the context of the relational model. It is part of the
> theory that you should know if you have to deal with an RDBMS.
> Obviously, if you have to deal with another type of DBMS you should not
> apply it,

and that is obvious to your students?  If so, three cheers.

> or at least not in exactly the same way. Are you now telling
> me that most computer science students in the United States massively
> fail to get this when they take their database courses?

I cannot speak for most students, but when looking at text books
(rather than listening to professors) and to employees entering a space
where they need not employ the RM, it is my guess that the bulk of the
college grads in CS in the US think that the RM is the way one should
model data, period.

> And those people
> are allowed to build critical information systems? :-)

Not until we have beat the theory out of them and introduced them to
the real world :-)  [P.S. Don't quote me on that -- this is a private
conversation, right?]

> > And, by the way, if you are thinking that the RM need not be obvious
> > in a developer's programming language but could be hidden behind the
> > scenes, then my work is done. That would mean that no computer
> > language would need to use the Information Principle, and neither you
> > nor I would need to use the RM as a data model. We can use any
> > programming language that does not represent itself as an
> > implementation of the RM to employ an alternative data model.

> Again, I have no idea what you are talking about here. Who on earth has
> ever claimed that the RM would be the best data model for programming
> languages?

I didn't intend to suggest that.  Whenever I mention that I want to
work with such data structures as ordered lists with associated insert
and delete functions, I am informed that I am talking about
representation and that what I want is possible with the data modeled
via the RM and then handled with another product in front of that.  I'm
showing that the RM is all about representation.  As soon as you decide
to use another representation, you are moving away from the RM.

> The claim of the RM is that it is a good data model for a
> DBMS,

Yes, that is the claim.  I'm claiming in this blog that it isn't
necessary, a point that no one contests (I suspect) since we know we
can build software systems without it.  I don't think many will contest
the claim that is it not sufficient either.  But (I think) I'm going to
claim that there other data models that are sufficient for developing
software and then ask if it is important enough to use the RM that we
want to suffer the mismatch with whatever other data models we use.

> and even that claim is usually qualified.

> -- Jan Hidders

> PS. Apologies in advance if I don't reply this week, I'll be mostly
> off-line then.

No problem.  --dawn

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
mAsterdam  
View profile  
 More options Jan 26 2006, 7:05 pm
Newsgroups: comp.databases.theory
From: mAsterdam <mAster...@vrijdag.org>
Date: Fri, 27 Jan 2006 01:05:21 +0100
Local: Thurs, Jan 26 2006 7:05 pm
Subject: Re: Reminder, blatant ad

Anecdote time:

When I learned about normalisation in 1984 in a post-doc
IT curriculum, we were to some extend free to do our own
explorations. One nice, enlightening excercise was this one:

 From a normalised data model (based on an earlier
design case, so "real" - or at least our own - analysis,
complete with interviews, prioritisation, integration etcetera -
remember James Martins integration bubble charts?) we made,
in several workgroups, different implementation plans:
one for a purely batch processing (only sequential files)
environment, one for ISAM/online, (we skipped RDBMS
implementation as being both being trivial and not yet
feasible for performance reasons at that time :-), and
eventually one hybrid plan.

Some crucial parts of those plans were actually coded and
tested later in the course.

One thing I learned was that when you get your data right,
you can pretty much build a working system with any
tools available. A DBMS just makes the job easier.
Database: Find the base for your design in data.

In short: To me the connection between RM and
normalisation is mainly historical.


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jan Hidders  
View profile  
(1 user)  More options Jan 26 2006, 7:25 pm
Newsgroups: comp.databases.theory
From: Jan Hidders <jan.hidd...@REMOVETHIS.pandora.be>
Date: Fri, 27 Jan 2006 00:25:17 GMT
Local: Thurs, Jan 26 2006 7:25 pm
Subject: Re: Reminder, blatant ad

That's not how I would formulate it. SQL is not an implementation of a
data model, it *is* a data model (as defined above by Chris Date). SQL
and the relational model are at the same abstraction level, so it
doesn't make much sense to me to say that one would be an implementation
of the other. In the same way I don't see what the data model of, say,
Java would be, and what it would abstract from i.e. what it leaves out.
If I take the definitions of the objects, operators and everything that
makes up the abstract machine that the user / programmer of Java
interacts with, (not to be confuseed with the JVM) that *is* the
definition of Java. To me it seems absurd to say that a data model is an
abstraction of a programming language.

>>>My beef with the RM is related both to normalization theory as taught
>>>in colleges and universities, discussed in the Is Codd Dead? blog
>>>and to the way the RM, or parts thereof, are used in the practice of
>>>software development and maintenance today. It shapes the thinking of
>>>software developers in ways that are often not the most effective.

>>I have really no idea where this comes from. When I teach normalization
>>I do that in the context of the relational model. It is part of the
>>theory that you should know if you have to deal with an RDBMS.
>>Obviously, if you have to deal with another type of DBMS you should not
>>apply it,

> and that is obvious to your students?  If so, three cheers.

Might have to do with the fact that we also teach some stuff on other
types of databases, object-oriented and object-relational in the past,
now mostly XML databases. And, of course, Belgian students are
incredibly smart. :-)

> [...] Whenever I mention that I want to
> work with such data structures as ordered lists with associated insert
> and delete functions, I am informed that I am talking about
> representation and that what I want is possible with the data modeled
> via the RM and then handled with another product in front of that.  I'm
> showing that the RM is all about representation.  As soon as you decide
> to use another representation, you are moving away from the RM.

I don't know who told you that lists are somehow only representation
while sets are not, but that is nonsense. The reason to avoid lists is
far more mundane and practical; it would make the DBMS more complex and
make tasks such as query optimization, concurrency control and integrity
maintenance harder. It would also make the theory more complex, which in
the long term usually also translates into practical problems.

>>The claim of the RM is that it is a good data model for a
>>DBMS,

> Yes, that is the claim.  I'm claiming in this blog that it isn't
> necessary, a point that no one contests (I suspect) since we know we
> can build software systems without it.

Sure, bathing regularly is also not necessary. It's still a good idea
though. :-)

-- Jan Hidders


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
dawn  
View profile  
(1 user)  More options Jan 26 2006, 10:21 pm
Newsgroups: comp.databases.theory
From: "dawn" <dawnwolth...@gmail.com>
Date: 26 Jan 2006 19:21:29 -0800
Local: Thurs, Jan 26 2006 10:21 pm
Subject: Re: Reminder, blatant ad

Both SQL and QUEL were implementations based (however loosely) on the
Relational Model.  So, a single data model can have multiple
implementations.  Similarly an oject data model can be implemented by
both Java and C++ in different ways, with varying degress of purity.

> SQL
> and the relational model are at the same abstraction level,

An instance of the SQL programming language (e.g. SQL as implemented in
Oracle 8i) is an implementation, an actual language that I can use to
perform a query against a database.

> so it
> doesn't make much sense to me to say that one would be an implementation
> of the other. In the same way I don't see what the data model of, say,
> Java would be, and what it would abstract from i.e. what it leaves out.
> If I take the definitions of the objects, operators and everything that
> makes up the abstract machine that the user / programmer of Java
> interacts with, (not to be confuseed with the JVM) that *is* the
> definition of Java. To me it seems absurd to say that a data model is an
> abstraction of a programming language.

Multiple programming languages, each with a different syntax, can each
implement the same data model, wouldn't you say?  Maybe "implement" is
too strong.  SQL, QUEL, and Tutorial-D can all be based on the RM.  The
RM is the abstraction and each of these others has a different syntax.

I knew that.  They are close to those Dutch folks.

> > [...] Whenever I mention that I want to
> > work with such data structures as ordered lists with associated insert
> > and delete functions, I am informed that I am talking about
> > representation and that what I want is possible with the data modeled
> > via the RM and then handled with another product in front of that.  I'm
> > showing that the RM is all about representation.  As soon as you decide
> > to use another representation, you are moving away from the RM.

> I don't know who told you that lists are somehow only representation
> while sets are not, but that is nonsense.

Agreed.

> The reason to avoid lists is
> far more mundane and practical; it would make the DBMS more complex and
> make tasks such as query optimization, concurrency control and integrity
> maintenance harder.

Harder for whom?

> It would also make the theory more complex, which in
> the long term usually also translates into practical problems.

The language I speak also has a very complicated theory behind it, if
any at all (IIRC Chomsky or others have worked on a mathematical theory
behind languages).  But it still might make sense for me to speak it.

> >>The claim of the RM is that it is a good data model for a
> >>DBMS,

> > Yes, that is the claim.  I'm claiming in this blog that it isn't
> > necessary, a point that no one contests (I suspect) since we know we
> > can build software systems without it.

> Sure, bathing regularly is also not necessary. It's still a good idea
> though. :-)

Yup.  So, that is what we are left with -- decisions on whether it is
obvious to bathe regularly or not, or maybe it is more like curling
your hair with a curling iron. It might make complete sense to a whole
group of women, but it has never made sense to me and I get ready much
faster ignoring it altogether.  cheers!  --dawn

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jan Hidders  
View profile  
(1 user)  More options Jan 27 2006, 5:48 am
Newsgroups: comp.databases.theory
From: "Jan Hidders" <hidd...@gmail.com>
Date: 27 Jan 2006 02:48:12 -0800
Local: Fri, Jan 27 2006 5:48 am
Subject: Re: Reminder, blatant ad
dawn schreef:

Not in that sense. Your example is not a really good one because the RM
is strictly speaking not a data model (using Date's definition) but
rather a description of a class of data models. It lists some
requirements, and sketches a few things, but doesn't exactly define how
the abstract machine looks and what the complete set of operations is.

> Similarly an oject data model can be implemented by
> both Java and C++ in different ways, with varying degress of purity.

Not in the definition of data model that we are using at the moment.
The semantics of Java and C++ describe different state machines and
different operations, so they define different data models. Of course
there are some comonalities and things they share, but that is
different from saying they represent the same data model.

> > SQL
> > and the relational model are at the same abstraction level,

> An instance of the SQL programming language (e.g. SQL as implemented in
> Oracle 8i) is an implementation, an actual language that I can use to
> perform a query against a database.

Yes, but a particular implementation is yet again at another lower
abstraction level.

Perhaps there is a small lesson here. Saying that A is an abstraction
of B, or that A is abstract is meaningless until you have explain in
what way exactly you are abstracting or what it is that you are
abstracting from.

> > > [...] Whenever I mention that I want to
> > > work with such data structures as ordered lists with associated insert
> > > and delete functions, I am informed that I am talking about
> > > representation and that what I want is possible with the data modeled
> > > via the RM and then handled with another product in front of that.  I'm
> > > showing that the RM is all about representation.  As soon as you decide
> > > to use another representation, you are moving away from the RM.

> > I don't know who told you that lists are somehow only representation
> > while sets are not, but that is nonsense.

> Agreed.

I currently do some research in bioinformatics. Lists of nucleotides
and proteins all over the place, and measurement series are also very
often much more naturally represented as lists.

> > The reason to avoid lists is
> > far more mundane and practical; it would make the DBMS more complex and
> > make tasks such as query optimization, concurrency control and integrity
> > maintenance harder.

> Harder for whom?

The implementors of the DBMS. And if their job gets hard that leads to
more missed opportunities for the query optimizer so slower
performance, more difficult algorithms for concurrency control that
allows less concurrency, and more overhead for more complex integrity
constraints.

> > It would also make the theory more complex, which in
> > the long term usually also translates into practical problems.

> The language I speak also has a very complicated theory behind it, if
> any at all (IIRC Chomsky or others have worked on a mathematical theory
> behind languages).  But it still might make sense for me to speak it.

That's because you don't have to build the Language Management System
as they already exist. But if you were faced with the task of designing
such language processing systems from scratch then you would probably
try to design this language as simple as possible, but, to paraphrase
Einstein, not simpeler.

-- Jan Hidders

PS. I'm really signing off now as my train leaves within a few hours.
Expect a reply after a week or so.


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
dawn  
View profile  
(1 user)  More options Jan 27 2006, 9:57 am
Newsgroups: comp.databases.theory
From: "dawn" <dawnwolth...@gmail.com>
Date: 27 Jan 2006 06:57:15 -0800
Local: Fri, Jan 27 2006 9:57 am
Subject: Re: Reminder, blatant ad

Because I was making an effort to get a handle on the term "data model"
as found in the phrase "Relational Data Model" I'm working with a
different "data model" than you are.  Mine is more abstract (or as you
stated, it is a description of a class of data models).  Using the term
the way I am using it, you can have a "Relational Data Model" and an
"Object Data Model," for example.  Can you name a bunch of data models
using your definition?

> Of course
> there are some comonalities and things they share, but that is
> different from saying they represent the same data model.

> > > SQL
> > > and the relational model are at the same abstraction level,

> > An instance of the SQL programming language (e.g. SQL as implemented in
> > Oracle 8i) is an implementation, an actual language that I can use to
> > perform a query against a database.

> Yes, but a particular implementation is yet again at another lower
> abstraction level.

And a data model is at a higher level of abstraction.  Again, recall
that I was trying to get a handle on the meaning of "Relational Data
Model."  What is this "data model" when you remove the adjective?  It
is more abstract that what you are referring to.

> Perhaps there is a small lesson here. Saying that A is an abstraction
> of B, or that A is abstract is meaningless until you have explain in
> what way exactly you are abstracting or what it is that you are
> abstracting from.

It isn't meaningless, but it isn't very helpful simply to state that
something is an abstraction of something else.  It is a bit more
concrete to state that something is an implementation of something
else.  So if you take Relational Data Model and want to get a handle on
this data model, you can at least see that if you were to implement it,
you would have a programming language (or sublanguage).

Perhaps you are beyond me on that one.  I've read Bioinformatics for
Dummies ;-)

> > > The reason to avoid lists is
> > > far more mundane and practical; it would make the DBMS more complex and
> > > make tasks such as query optimization, concurrency control and integrity
> > > maintenance harder.

> > Harder for whom?

> The implementors of the DBMS.

BINGO!  Having been on the applications side of the house, I am aware
that choices are made on user interface design decisions are sometimes
made due to the cost of implementation or support for the developers.
But for an entire industry to fix on that strategy when the user is a
programmer is really dreadful.  It seems someone could look at how to
make the end-user (in this case a software developer) as productive as
possible.

> And if their job gets hard that leads to
> more missed opportunities for the query optimizer so slower
> performance,

That would make more sense to me if I did not work with a non-1NF
(non-relational) product that provides good performance.

> more difficult algorithms for concurrency control that
> allows less concurrency, and more overhead for more complex integrity
> constraints.

That one I agree with.

> > > It would also make the theory more complex, which in
> > > the long term usually also translates into practical problems.

> > The language I speak also has a very complicated theory behind it, if
> > any at all (IIRC Chomsky or others have worked on a mathematical theory
> > behind languages).  But it still might make sense for me to speak it.

> That's because you don't have to build the Language Management System
> as they already exist. But if you were faced with the task of designing
> such language processing systems from scratch then you would probably
> try to design this language as simple as possible, but, to paraphrase
> Einstein, not simpeler.

Then there is that philosophy of making products easy for users.  The
RM isn't getting us there it seems.  Cheers!  --dawn

> -- Jan Hidders

> PS. I'm really signing off now as my train leaves within a few hours.
> Expect a reply after a week or so.

Have a good trip.  (Or, rather, I hope you had a good trip and enjoyed
your time away from the screen and keyboard.)

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
JOG  
View profile  
 More options Jan 27 2006, 11:42 am
Newsgroups: comp.databases.theory
From: "JOG" <j...@cs.nott.ac.uk>
Date: 27 Jan 2006 08:42:32 -0800
Local: Fri, Jan 27 2006 11:42 am
Subject: Re: Reminder, blatant ad
Jan Hidders wrote:

[snip]

> > [...] Whenever I mention that I want to
> > work with such data structures as ordered lists with associated insert
> > and delete functions, I am informed that I am talking about
> > representation and that what I want is possible with the data modeled
> > via the RM and then handled with another product in front of that.  I'm
> > showing that the RM is all about representation.  As soon as you decide
> > to use another representation, you are moving away from the RM.

> I don't know who told you that lists are somehow only representation
> while sets are not, but that is nonsense. The reason to avoid lists is
> far more mundane and practical; it would make the DBMS more complex and
> make tasks such as query optimization, concurrency control and integrity
> maintenance harder. It would also make the theory more complex, which in
> the long term usually also translates into practical problems.

I do not agree with this. Conventional ordering (and hence listing) is
mathematically impossible in the relational model period, due to the
Codd's redefinition of RM-relations and the model's closure. Dawn is
hence correct imo - lists must be interpreted by a process external to
the RM, not for the sake of simplicity, or query optimization, but
rather because the very the nature of that data model precludes their
implementation.

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
dawn  
View profile  
 More options Jan 27 2006, 12:29 pm
Newsgroups: comp.databases.theory
From: "dawn" <dawnwolth...@gmail.com>
Date: 27 Jan 2006 09:29:26 -0800
Local: Fri, Jan 27 2006 12:29 pm
Subject: Re: Reminder, blatant ad

I agree (I guess it makes sense that I would agree with you agreeing
with me).  While ordering functions (SORT) may be defined on sets,
those are orderings on values.  There is no ordering within the
relational structure itself.

Of course you can simulate an ordered list using relations by adding in
ordering attributes and related functions such as insert & delete.
That could all be done behind the scenes without the programmer
touching the ordering attribute at all.  But once the interface to the
user (programmer) has these features, it is no longer an RM interface
because it supports ordered lists.  --dawn


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jon Heggland  
View profile  
 More options Jan 27 2006, 4:07 pm
Newsgroups: comp.databases.theory
From: Jon Heggland <heggl...@idi.ntnu.no>
Date: Fri, 27 Jan 2006 22:07:42 +0100
Local: Fri, Jan 27 2006 4:07 pm
Subject: Re: Reminder, blatant ad
In article <1138380152.680513.293...@g49g2000cwa.googlegroups.com>,
j...@cs.nott.ac.uk says...

> Jan Hidders wrote:
> [snip]
> I do not agree with this. Conventional ordering (and hence listing) is
> mathematically impossible in the relational model period, due to the
> Codd's redefinition of RM-relations and the model's closure.

Can you elaborate on this? I can't immediately see why lists are harder
than arrays, special cases of which even today's SQL systems can handle.

> Dawn is
> hence correct imo - lists must be interpreted by a process external to
> the RM, not for the sake of simplicity, or query optimization, but
> rather because the very the nature of that data model precludes their
> implementation.

...though of course if you view the type system as "external to the RM",
you are correct---but I don't really see the point of the argument in
that case.
--
Jon

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Todd  
View profile  
(1 user)  More options Jan 27 2006, 11:32 pm
Newsgroups: comp.databases.theory
From: "Todd" <toddkennethben...@yahoo.com>
Date: 27 Jan 2006 20:32:11 -0800
Local: Fri, Jan 27 2006 11:32 pm
Subject: Re: Reminder, blatant ad
Hello Dawn,

I do respect many of your opinions, but maybe you could give me more
insight.  It seems in many of your past postings, that:

1) You think that throwing data control (I mean real life 'facts' here,
not bits on a hard drive) into the domain of the developer (who is a
person that really has no connection with the data) is a good thing.
In other words,

Me: 'Hey, developer, build me a sandwich'

D: 'OK, I can do that, what do you have in the fridge?'

Me: 'I don't know, go look at it and figure it out.  Oh, and here's a
knife if you need it'

D: 'Hmm, OK I'll do my best.  Did you want mustard with that?  Maybe
you might want to know if somebody else wants mustard?  Wait a second
... is there somebody else?'

Me: 'Well, that's not important right now, is it?'

2) You seem to sing 'convenience' in many of your posts (under the
hoods).  Personally, and perhaps unfortunately, I think we can't always
be convenient when it comes to modelling reality.

3) It's almost like you're trying to say that RM is this thing that we
have to 'put up' with.  You could be correct in a 'convenient' way, but
wrong in a 'correct' way.  Think about it.

4) Keep up the discussion.  I enjoy it immensely.  I'll certainly be
perusing your blog every now and again.

Todd


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
dawn  
View profile  
(1 user)  More options Jan 28 2006, 3:51 pm
Newsgroups: comp.databases.theory
From: "dawn" <dawnwolth...@gmail.com>
Date: 28 Jan 2006 12:51:16 -0800
Local: Sat, Jan 28 2006 3:51 pm
Subject: Re: Reminder, blatant ad

Todd wrote:
> Hello Dawn,

> I do respect many of your opinions, but maybe you could give me more
> insight.  It seems in many of your past postings, that:

> 1) You think that throwing data control (I mean real life 'facts' here,
> not bits on a hard drive) into the domain of the developer (who is a
> person that really has no connection with the data) is a good thing.

Perhaps we need to define developer.  I am calling anyone who is
developing software a "developer."  Perhaps we need to define software?
 It is everything "stored on" a computer that is not hardware.  Does
that work for you?  That would be "soft stuff" that can change,
compared to the hardware.  I haven't thought long and hard about that
definition, but that is how I perceive it.

Some parts of this software could be like propositions that can be used
as input or output, while other aspects of this software could be
functions that operate on input to produce output.  But it's all
software.

> In other words,

> Me: 'Hey, developer, build me a sandwich'

--d: smile when you call me that

> D: 'OK, I can do that, what do you have in the fridge?'

--d: how hungry are you?  are you a vegetarian?  do you prefer whole
wheat? Does anyone else need a sandwich? ...more attempts to ascertain
requirements.

> Me: 'I don't know, go look at it and figure it out.  Oh, and here's a
> knife if you need it'

--d: at this point I tell you to make it yourself, but I'll play along

> D: 'Hmm, OK I'll do my best.  Did you want mustard with that?  Maybe
> you might want to know if somebody else wants mustard?  Wait a second
> ... is there somebody else?'

I know I'll often miss something in spite of considerable efforts in
requirements elicitation, but hopefully not something that big.

> Me: 'Well, that's not important right now, is it?'

Sure it is.  I might have to be careful how much of the cheese I use up
on your sandwich.

> 2) You seem to sing 'convenience' in many of your posts (under the
> hoods).

Productivity for software developers as users of various tools.  If you
call that convenience...

>  Personally, and perhaps unfortunately, I think we can't always
> be convenient when it comes to modelling reality.

No, but we can usually improve on user experience and productivity when
we decide those are important.

> 3) It's almost like you're trying to say that RM is this thing that we
> have to 'put up' with.

In fact, I think it is something that we DON'T have to put up with ;-)

>  You could be correct in a 'convenient' way, but
> wrong in a 'correct' way.  Think about it.

Oh, you know I do.

> 4) Keep up the discussion.  I enjoy it immensely.  I'll certainly be
> perusing your blog every now and again.

Thanks, Todd.  Cheers!  --dawn


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Leif B. Kristensen  
View profile  
(1 user)  More options Jan 28 2006, 6:10 pm
Newsgroups: comp.databases.theory
From: "Leif B. Kristensen" <junkma...@solumslekt.org>
Date: Sun, 29 Jan 2006 00:10:40 +0100
Local: Sat, Jan 28 2006 6:10 pm
Subject: Re: Reminder, blatant ad
dawn skrev:

> Perhaps we need to define developer.  I am calling anyone who is
> developing software a "developer."  Perhaps we need to define
> software?
>  It is everything "stored on" a computer that is not hardware.  Does
> that work for you?  That would be "soft stuff" that can change,
> compared to the hardware.  I haven't thought long and hard about that
> definition, but that is how I perceive it.

That definition would of course aso include the "end user" who only
punches data into a shrink-wrapped software package. In my view, a
"developer" should be one who is making software. You may of course
include the end users who produce nifty macros to facilitate daily
work. The border is certainly a fluid one. Most of us have started as
"end users", I guess.
--
Leif Biberg Kristensen
http://solumslekt.org/

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
dawn  
View profile  
 More options Jan 28 2006, 8:33 pm
Newsgroups: comp.databases.theory
From: "dawn" <dawnwolth...@gmail.com>
Date: 28 Jan 2006 17:33:25 -0800
Local: Sat, Jan 28 2006 8:33 pm
Subject: Re: Reminder, blatant ad

Leif B. Kristensen wrote:
> dawn skrev:

> > Perhaps we need to define developer.  I am calling anyone who is
> > developing software a "developer."

I still agree with myself on this one

>  Perhaps we need to define
> > software?
> >  It is everything "stored on" a computer that is not hardware.  Does
> > that work for you?  That would be "soft stuff" that can change,
> > compared to the hardware.  I haven't thought long and hard about that
> > definition, but that is how I perceive it.

> That definition would of course aso include the "end user" who only
> punches data into a shrink-wrapped software package. In my view, a
> "developer" should be one who is making software.

That is my view as well and I see where my definitions are not tight
enough to make that clear.  If someone is using software, providing
input or using output, but not developing any functions, then I guess I
would say they are not developing software.  However, if that input is
in the form of specs... (e.g. the user type in a bunch of xml documents
and dtds and then clicks a button to generate an application), then
what?

Anyway, I'm good with saying that a developer is someone developing
software, I'm not as happy with the definiion of software.  What is a
nice crisp definition of software?

> You may of course
> include the end users who produce nifty macros to facilitate daily
> work. The border is certainly a fluid one. Most of us have started as
> "end users", I guess.

And developers are end-users of language compilers, interpreters, dbms
interfaces, etc.
Cheers!  --dawn


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Todd  
View profile  
 More options Jan 28 2006, 10:48 pm
Newsgroups: comp.databases.theory
From: "Todd" <toddkennethben...@yahoo.com>
Date: 28 Jan 2006 19:48:09 -0800
Local: Sat, Jan 28 2006 10:48 pm
Subject: Re: Reminder, blatant ad

dawn wrote:
> Todd wrote:
> > 1) You think that throwing data control (I mean real life 'facts' here,
> > not bits on a hard drive) into the domain of the developer (who is a
> > person that really has no connection with the data) is a good thing.

> Perhaps we need to define developer.  I am calling anyone who is
> developing software a "developer."  Perhaps we need to define software?
>  It is everything "stored on" a computer that is not hardware.  Does
> that work for you?  That would be "soft stuff" that can change,
> compared to the hardware.  I haven't thought long and hard about that
> definition, but that is how I perceive it.

What works for you then?  Flexibility or stability?  Can we achieve
both?  Don't get me wrong.  I think you are flexing some good muscle.

> Some parts of this software could be like propositions that can be used
> as input or output, while other aspects of this software could be
> functions that operate on input to produce output.  But it's all
> software.

> > In other words,

> > Me: 'Hey, developer, build me a sandwich'

> --d: smile when you call me that

Coincidence.  D was supposed to mean Developer, not Dawn.  Sorry about
that if you took it that way.

Well, I suppose I was getting at the fact that it seems that some of
what you suggest screams lack of data integrity, and in trying to get
that point across, I dropped into a client situation (the dialog above
would have me as the client) which is frequent in any kind of database
design.  I was simply trying to say that some of what you suggest may
be putting a scarier load on the developer.  Chaos where something
should be stable.  Initial condition: client gives you bad data, or no
data; client gives you bad metadata; Result: chaos gives you a terrible
headache as everything may spin out of control.  Sensitivity to initial
conditions, you get the idea...

> > 2) You seem to sing 'convenience' in many of your posts (under the
> > hoods).

> Productivity for software developers as users of various tools.  If you
> call that convenience...

Productivity.  What is that exactly.  I assume you mean that developers
make money for a small amount of time spent, ease of maintenance of
software, blah blah.  Well, at this point, I still need some
convincing.

BTW, this was not meant as a jibe.  I really am interested in what you
have to say.

> Thanks, Todd.  Cheers!  --dawn

Todd

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
dawn  
View profile  
 More options Jan 29 2006, 2:50 pm
Newsgroups: comp.databases.theory
From: "dawn" <dawnwolth...@gmail.com>
Date: 29 Jan 2006 11:50:34 -0800
Local: Sun, Jan 29 2006 2:50 pm
Subject: Re: Reminder, blatant ad

Todd wrote:
> dawn wrote:
> > Todd wrote:
> > > 1) You think that throwing data control (I mean real life 'facts' here,
> > > not bits on a hard drive) into the domain of the developer (who is a
> > > person that really has no connection with the data) is a good thing.

> > Perhaps we need to define developer.  I am calling anyone who is
> > developing software a "developer."  Perhaps we need to define software?
> >  It is everything "stored on" a computer that is not hardware.  Does
> > that work for you?  That would be "soft stuff" that can change,
> > compared to the hardware.  I haven't thought long and hard about that
> > definition, but that is how I perceive it.

> What works for you then?  Flexibility or stability?

Yes.  And the needs for each must be taken into account when assessing
risks.  Sometimes there is a need for such incredible stability that
you would not want to risk any instability for a little flexibility.
You still would want optimal flexibility within your extreme stability,
however.

Ah, yes, I misinterpreted, but since I'm from the developer side of the
house (if we must choose sides), that read OK.

I understand why you say that.  There is more than one way to achieve
data integrity, however.  There are also many different aspects to data
integrity.  A system designed to handle only the "most prevelent color"
(or some other attribute) rather than a list of colors because that
would be less expensive is sacrificing data integrity, perhaps with a
good business case for doing so when the DBMS doesn't support attribute
lists.

> and in trying to get
> that point across, I dropped into a client situation (the dialog above
> would have me as the client) which is frequent in any kind of database
> design.  I was simply trying to say that some of what you suggest may
> be putting a scarier load on the developer.

Yup, I followed your reasoning.

> Chaos where something
> should be stable.  Initial condition: client gives you bad data, or no
> data; client gives you bad metadata; Result: chaos gives you a terrible
> headache as everything may spin out of control.  Sensitivity to initial
> conditions, you get the idea...

I understand that different things are scary when choosing different
toolsets.  There are tradeoffs.

> > > 2) You seem to sing 'convenience' in many of your posts (under the
> > > hoods).

> > Productivity for software developers as users of various tools.  If you
> > call that convenience...

> Productivity.  What is that exactly.

More, better, faster.  An individual or team is able to accomplish more
with less, for the long haul.

>  I assume you mean that developers
> make money for a small amount of time spent, ease of maintenance of
> software, blah blah.  Well, at this point, I still need some
> convincing.

I would expect as much.

No problem at all -- I didn't take it that way.

>  I really am interested in what you
> have to say.

Much appreciated.  Thanks.  --dawn


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
x  
View profile  
 More options Jan 30 2006, 3:45 am
Newsgroups: comp.databases.theory
From: "x" <x...@not-exists.org>
Date: Mon, 30 Jan 2006 10:45:01 +0200
Local: Mon, Jan 30 2006 3:45 am
Subject: Re: Reminder, blatant ad

"dawn" <dawnwolth...@gmail.com> wrote in message

news:1138382966.616817.236670@g47g2000cwa.googlegroups.com...

Talking about the relational model of data and the  "list model of data"
instead of the relational data model and the "list data model" what is the
advantage of one over the other when modeling the following problems:

a) The problem is naturally formulated in terms of  named lists of items and
lists operations.
How would you implement this with sets and sets operations ?

b) The problem is naturally formulated in terms of  named sets of items and
set operations.
How would you implement this with lists and lists operations ?

c) The problem is naturally formulated in terms of sets and lists with their
operations.
How would you implement this with lists and lists operations ?
How would you implement this with sets and sets operations ?

There is a need for an efficient model to support both sets and lists ?
What are the basic operations for combining lists and sets ?

Where do we stop ? Why not asking for a model to support all mathematics ?


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
x  
View profile  
 More options Jan 30 2006, 3:57 am
Newsgroups: comp.databases.theory
From: "x" <x...@not-exists.org>
Date: Mon, 30 Jan 2006 10:57:02 +0200
Local: Mon, Jan 30 2006 3:57 am
Subject: Re: Reminder, blatant ad

"x" <x...@not-exists.org> wrote in message

news:drkjmn$eae$1@domitilla.aioe.org...

> What are the basic operations for combining lists and sets ?

And what is the result of such an operation ? A list ? A set ?

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
x  
View profile  
 More options Jan 30 2006, 6:14 am
Newsgroups: comp.databases.theory
From: "x" <x...@not-exists.org>
Date: Mon, 30 Jan 2006 13:14:38 +0200
Local: Mon, Jan 30 2006 6:14 am
Subject: Re: Reminder, blatant ad

"dawn" <dawnwolth...@gmail.com> wrote in message

news:1138498404.975129.110220@g14g2000cwa.googlegroups.com...

Do you think of a virtual machine as software or hardware ?
Software = ware that can be easily changed and provide a function only when
used with some hardware.
Hardware= ware that is hard to change and provide a function only when used
with some software.
The soft or hard quality is relative.

For example the mathematics is hardware ;-)


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
dawn  
View profile  
 More options Jan 30 2006, 8:25 am
Newsgroups: comp.databases.theory
From: "dawn" <dawnwolth...@gmail.com>
Date: 30 Jan 2006 05:25:15 -0800
Local: Mon, Jan 30 2006 8:25 am
Subject: Re: Reminder, blatant ad

software

> Software = ware that can be easily changed and provide a function only when
> used with some hardware.

It would be great if software could be defined as being easy to change,
but I don't think that can be part of the definition.

> Hardware= ware that is hard to change and provide a function only when used
> with some software.
> The soft or hard quality is relative.

A feature could be in hardware or software, if that is what you mean by
relative.  I don't really like your definitions however.  Hardware is
hard bz you can kick it, not because it is hard to change.  But not
everything you can kick is hardware.

Hardware: All components of a computer that can be kicked
Software: All components of a computer that cannot be kicked

??

> For example the mathematics is hardware ;-)

Mathematics is everywhere, in both hardware and software.  Cheerss!
--dawn

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
dawn  
View profile  
 More options Jan 30 2006, 8:30 am
Newsgroups: comp.databases.theory
From: "dawn" <dawnwolth...@gmail.com>
Date: 30 Jan 2006 05:30:14 -0800
Local: Mon, Jan 30 2006 8:30 am
Subject: Re: Reminder, blatant ad

Yes.

> What are the basic operations for combining lists and sets ?

The ones that come with any general purpose programming language.

> Where do we stop ?

I'm good with programming languages as a "stopping point" building up
from there to higher levels with libraries of code.

> Why not asking for a model to support all mathematics ?

Again, I'm good with programming languages and libraries thereof.
smiles.  --dawn

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
x  
View profile  
 More options Jan 30 2006, 9:57 am
Newsgroups: comp.databases.theory
From: "x" <x...@not-exists.org>
Date: Mon, 30 Jan 2006 16:57:13 +0200
Local: Mon, Jan 30 2006 9:57 am
Subject: Re: Reminder, blatant ad

"dawn" <dawnwolth...@gmail.com> wrote in message

news:1138627814.473060.169280@g14g2000cwa.googlegroups.com...

OK.

> > What are the basic operations for combining lists and sets ?
> The ones that come with any general purpose programming language.

Can you make a list or a set with them and post it ?

> > Where do we stop ?
> I'm good with programming languages as a "stopping point" building up
> from there to higher levels with libraries of code.

Well, the programmig languages are many. :-)
What programming languages are you refering to ?
The future ones ?

> > Why not asking for a model to support all mathematics ?
> Again, I'm good with programming languages and libraries thereof.

A variable SET of variable LISTs of symbols and a variable SET of variable
LISTs of substitution rules LISTed in some order is what you propose ?
Or the other way around ?
Can you make such a thing declarative (specifying the data, not the process
of getting the data) ?

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
x  
View profile  
 More options Jan 30 2006, 10:11 am
Newsgroups: comp.databases.theory
From: "x" <x...@not-exists.org>
Date: Mon, 30 Jan 2006 17:11:42 +0200
Local: Mon, Jan 30 2006 10:11 am
Subject: Re: Reminder, blatant ad

"dawn" <dawnwolth...@gmail.com> wrote in message

news:1138627814.473060.169280@g14g2000cwa.googlegroups.com...

OK.

> > What are the basic operations for combining lists and sets ?
> The ones that come with any general purpose programming language.

Can you make a list or a set with them and post it ?

> > Where do we stop ?
> I'm good with programming languages as a "stopping point" building up
> from there to higher levels with libraries of code.

Well, the programmig languages are many. :-)
What programming languages are you refering to ?
The future ones ?

> > Why not asking for a model to support all mathematics ?
> Again, I'm good with programming languages and libraries thereof.

A variable SET of variable LISTs of symbols and a variable SET of variable
LISTs of substitution rules LISTed in some order is what you propose ?
Or the other way around ?
Can you make such a thing declarative (specifying the data, not the process
of getting the data) ?

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
x  
View profile  
 More options Jan 30 2006, 10:23 am
Newsgroups: comp.databases.theory
From: "x" <x...@not-exists.org>
Date: Mon, 30 Jan 2006 17:23:30 +0200
Local: Mon, Jan 30 2006 10:23 am
Subject: Re: Reminder, blatant ad

"dawn" <dawnwolth...@gmail.com> wrote in message

news:1138627515.881224.59700@z14g2000cwz.googlegroups.com...

Do you think that hammers are hardware ?
Do you think that CD-ROMs are hardware/software ?
The instructions on how to build a chair are software ?

> Mathematics is everywhere, in both hardware and software.  Cheerss!

Yes. But can you kick it ? :-)

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 1 - 25 of 115   Newer >
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2010 Google