Re: does a table always need a PK?

From: Heikki Tuuri <Heikki.Tuuri_at_innodb.com>
Date: Tue, 26 Aug 2003 21:29:22 GMT
Message-ID: <SiQ2b.467$4X.270_at_read3.inet.fi>


Hi!

"Bob Badour" <bbadour_at_golden.net> kirjoitti viestissä news:ZIN2b.963$8o2.85881998_at_mantis.golden.net...
> "Heikki Tuuri" <Heikki.Tuuri_at_innodb.com> wrote in message
...
>
> See RM V2.
>
http://search.barnesandnoble.com/booksearch/isbnInquiry.asp?isbn=0201141922&
> itm=1

The book is selling too well: "Not Currently Available. A new copy is not available from Barnes & Noble.com at this time. A used copy may be available from our network of book dealers."

...
> > Now you are approaching my view. Codd's 12 rules are heuristic thoughts
> > which can be used to guide us to build formal systems.
>
> Codd's 12 rules are vendor commissioned rules of thumb chosen in some
> respects to show the paying vendor in a good light relative to its
> competitors.
>
>
> > They are not exact
> > principles.
>
> Excuse me? What exactly are exact principles? Do you realise how absurdly
> ridiculous you sound?

For example, mathematical axioms systems like the ZFC set theory, and the Peano arithmetic can be seen as exact formal systems.

...
> > > When other SQL vendors stop making specious claims about being
> relational,
> > I
> > > am sure Lee will stop too.
> >
> > Is this not intellectual dishonesty?
>
> No, not necessarily. Perhaps, Lee will indulge us and allow us to judge
his
> competence, intellectual honesty and integrity by answering the following
> questions. Heikki, you can indulge us by doing the same.

Are you being intellectually dishonest by claiming that the above is not intellectual dishonesty?

> Lee, are you game? Heikki?
>
> Is your product a dbms? If so, what are the features necessary to make it
a
> dbms? If not, what additional components are required to make it a dbms?

Yes. But a "DBMS" is a vague concept and I do not have time to define "Heikki Tuuri -DBMS".

> Does SQL provide perfect relational fidelity?

Yes, if we define a relational database as an SQL database. Not in the sense of Codd-1970-relational.

> Do any implemented or proposed languages provide greater relational
fidelity
> than SQL?

I guess Dataphor implements a more Codd-1970-relational language than SQL.

> If not relational fidelity, does SQL have any advantage over these
> languages? If so, what?

People know it. It has been standardized by ANSI/ISO.

> Are you aware of any sound theory purporting to deal with the problem of
> missing information?

Hmm... 3-valued logic itself is a sound theory, I guess. But I think it is computationally too complex and possibly undecidable. If someone at this newsgroup knows about the complexity theory of 3-valued logic, please help us.

> Has anyone ever proposed a flawless solution to the problem of missing
> information?

I do not know. Maybe we can even show that there is no efficiently computable solution.

> Does the mathematical identity "SUM(A)+SUM(B)=SUM(A+B)" demonstrate a flaw
> or limitation of SQL's NULL?

This is a well-known problem. I have myself thought about a solution where we simply mark with variable symbols Xi the unknowns in the sum. But users are not happy if they get a result:

SUM(table1.column1) = 35 + X0 + X1 + ... + Xn

if there are n NULLs in the table.

> If so, does 4VL overcome the specific flaw or limitation demonstrated?

I do not know 4-valued logic.

> Does 4VL overcome any flaws of 3VL? If so, can you briefly name or
describe
> any?
>
> Does 3VL overcome any flaws of 4VL? If so, can you briefly name or
describe
> any?
>
> Do Codd's 12 rules completely specify the relational model?

They do not specify what Codd-12-relational exactly means because they are not a formal system. The 1970 paper does not either.

> Briefly, in your opinion, what is the exact nature of Codd's list of 12
> rules?

Already answered this question in an earlier message.

> Is the list a useful tool for comparing dbms products?

No, because we nowadays do not see such comparisons. Databases are usually compared in terms of performance, standards conformance, reliability, existence of interfaces, and so on.

> Are all of the 12 rules equally important for such comparisons?

No.

> Are you aware of any products that can claim greater adherence to any of
the
> rules than your product? Feel free to elaborate or to explain how your
> product's features compensate in some other way.

Yes, lots of databases do. But MySQL/InnoDB is released under the GNU GPL license and it is fast. Transaction management in InnoDB is rather complete with next-key locking, multiversioning, and all 4 isolation levels defined by SQL-1992.

> Overall, do any other SQL dbms products provide greater relational
fidelity
> than your product?

Many databases are more Codd-12-relational than MySQL/InnoDB.

> Why do think your product provides greater relational fidelity than other
> SQL products?

It does not.

> From the answers to the above questions, one should be able to judge the
> competence, honesty and integrity of an SQL dbms vendor.

Well, not really. Customers never ask the above questions. Honesty is better judged from answers to questions which matter to the customer.

Best regards,

Heikki Tuuri
Innobase Oy
http://www.innodb.com
Foreign keys, transactions, and row level locking for MySQL InnoDB Hot Backup - a hot backup tool for MySQL Received on Tue Aug 26 2003 - 23:29:22 CEST

Original text of this message