Re: Question on Structuring Product Attributes
Date: Mon, 11 Feb 2013 02:51:46 -0800 (PST)
Message-ID: <41bb63e0-d74d-464d-a874-eaa238578b6a_at_googlegroups.com>
On Monday, 11 February 2013 11:38:54 UTC+11, James K. Lowden wrote:
> On Sat, 9 Feb 2013 16:34:51 -0800 (PST) derek.a..._at_gmail.com wrote:
>
> Could you please tell me which 3VL supports your contention that NULL = NULL?
I stated:
"
Specific case. Sybase implements the insanity "Null Problem" as mandated, because it is a compliance requirement. But that is not the final word, for engineers who are human and who have not been separated from their brains. They provide us with a session-level option ANSI_NULL_BEHAVIOUR. The default setting is OFF. The behaviour when it is OFF is:
• NULL does not equal anything in the range of values for the subject Domain
• NULL equals NULL
• NULL does not equal NOT NULL
• the empty set returns NULL
thereby implementing sanity and predictability and allowing simplified Null handling in app code (if other standards are used, but let's not get distracted by tangents)
Therefore we work in an environment that is sane, and coding is simplified. Most developers do not know that there is a "Null Problem". If they are one of the few that do know, they know it is a problem in the SQL Spec, it is not a problem in their platform, and they do not argue the theoretical existence of the "Null problem". The criminally insane, who demand that they should be able to write insane code, and produce unpredictable results, are free to set the option to ON, and enjoy coding insanity, they like bathing in excreta, as insane people do. Generally our hiring practices ensure that we do not hire such people. "
I am not sure, but it is possible that you skimmed my post, and read or inferred something that is not there. Let me save another back-and-forth, and dismiss waiting for your answer, if I may.
If I implied in anyway that Sybase ANSI_NULL_BEHAVIOUR = OFF is an implementation of 3VL, I did not mean to do that, my intention was to convey the opposite: relating how logical practical implementers need a logical predictable non-theoretical practical platform. To be clear: • Sybase ANSI_NULL_BEHAVIOUR = OFF (where NULL = NULL) is 2VL. • The Null handling required by the SQL Spec is 3VL (great for theory; insane in practice or implementation, kind of guaranteed sabotage by the communist or committee members) • Sybase ANSI_NULL_BEHAVIOUR = ON (where NULL != NULL) is 3VL, the SQL Spec implemented.
> ergo "select 1" should return no row (not 1 and not NULL).
I disagree. A result set is demanded. Here it is one row, one column.
> IMO
>
> VALUES(1)
>
> would serve as well or better.
Ok.
> > SQL is [the] data sublanguage defined in the RM; it is the servant of the
> > RM, not the other way around.
>
> If only.
Hah! I love it!
You young people think that history began when you were born, or when the project that you are working on started, on that the Iraq war started on 11 Sep 2001. That is not intended as an insult, it is intended to make you think, and perhaps to do a bit of reading history (not the propaganda written by the victors; not the propaganda written about the RM by the detractors and subversives) before forming conclusions, and certainly before making statements on a public newsgroup where people may be a bit knowledgeable about the subject.
The short answer is, the RM was published in 1970, SQL as a standard was published 1989. It is not possible to contemplate the reverse.
The slightly longer answer or quick Synopsis: • The RM was entirely invented by Dr E F Codd, published in Jun 1970. (many want to take some credit, and ride along on his coattails; and after he passed away, many suggest there are "faults" and "incompletions" in it. Disgusting creeps, I say.)) ____In it, he defined a Data Sublanguage, which was ground-breaking and industry-changing. Up to then, we have excellent pre-Relational DBMSs, but they were all what is now known as proprietary, and the calls to the db were embedded in the 3G language constructs; they did not have the formal separation of process-language vs data-sublanguage that COdd devised.
• Codd worked at IBM, and they had a huge investment in IMS, etc, and not changing, so things did not progress as fast as they should have
• Circa 1975 to 1978. IBM first implemented the RM as System/R, and Codd worked closely with that team. It was successful, but not product-ready, a first good cut. That was the child of the RM. ____Various vendors implemented parts of the RM, myself included, at Cincom/TOTAL. We were competing for the same market.
• Circa 1978 to 1982. IBM eventually realised the value of the RM and commissioned their Structured Query Language; Codd worked less closely with them, and produced most of his related papers during this time. That was the grandchild of the RM.
____Various vendors rushed to provide competing products. Codd wrote his Twelve Rules, to stop Vendors from cheating and misrepresenting their offering as "relational" or a "data sublanguage". ____Digital Equipment Corp produced their Rdb, which was a beautiful rendition of the RM/data sublanguage, on their VAX/VMS systems; but it was not as complete as SQL. There were many others, that were not memorable. ____Britton-Lee produced their Database Machine, based completely on the RM, but with high performance OLTP and OLAP in mind, which was hugely successful, but in a niche market. ____Codd left IBM, and made the biggest mistake of his life: he formed a consultancy with criminal. That engaged him in such a way that nothing he did after that succeeded to any level of substance, and the criminal turned coattail riding into a hollywood movie, complete with sequels and sequins and syphilis.
• Circa 1982 to 1984. IBM/SQL was very successful. The market forces pushed IBM to provide SQL to the public, so that it could become a standard, and so that other vendors did not have to lag behind it, or commit commercial espionage to provide it. They did so on the basis that the RM was public domain, and SQL derived directly from it. IBM finally did so, after more than ten years of pushing, circa 1986. IEC/ISO and later ANSI published it as a standard in 1989. ____ Vendors started their SQLs before the standard was published. ____ 1984. The founders of Britton-Lee founded Sybase, and produced a genuine HP RM; the first one with a Client/Server architecture; the beginning of the mid-range database assault on the mainframe database market.
• IBM changed the name of their offering to DB2, to differentiate it.
(I may have missed a couple of milestones. The dates may have mistakes, in any case they are irrelevant in todays context. Do not trust wiki.)
> If only.
Sheesh.
Therefore the SQL Standard as of first publication is the grandchild of the RM. And now, it is one that has been adopted out to 20 foster homes per year, where the carers are convicted paedophiles.
> AFAIK the word "relational" doesn't appear in the SQL
> standard unless to explicitly deny fealty to it.
So what ? It is a standard. On what basis should it be expected to identify it origins (any of the above milestones), prior to its inception as a standard ? Standards generally do not include history; the books or articles do that (or the memories of old soldiers like me), and the books are sadly wanting.
Now the RM is 43 years old. The understanding of the RM amongst some vendors has progressed greatly. The RM has:
- been "completed". I have double quotes around that because neither I nor the high-end vendors view it as incomplete; but some non-technical types and flower arrangers did make that charge in books that were slightly related to the RM; that "incompletion" has been closed.
- Extended Since we have had the RM, there are some natural progressions that took place in the minds of genuine RM implementers; that were pressed on their vendors; which the vendors eventually implemented in their platforms; and which many years later (decades sometimes); the communists added to the SQL Standard. Such Extensions are natural, and cannot be credited to the vendors (who don't try to) or the commies (who do try to). They are items which only exist within the context of the RM, and are meaningless without. A few vendors are ten years ahead of the rest. The non-SQLs are 20 years behind the rest.
Neither of those points constitute a denial of the statement that SQL is the servant, the grandchild, of the RM.
With regard to the RM (the grandfather), the SQL Spec is on the cusp of puberty (not toddler; not teenager; and certainly nowhere near adult). It provides only a fraction of the RM, and it provides that fraction in a primitive form. Setting aside the missing fraction, after 27 years, that specified fraction should have progressed, so that SQL is not the cumbersome, plodding, data sublanguage that it is today. If not for the commissariat, it would have.
If you have only read the books that purport to be about the RM, which have little RM items (crime of omission), and are full of their pet non-RM items (separate crime of commission & fraud), then sure, you and many thousands have been mislead. Those cretins misrepresent the RM, and suggest that it has "faults", and "missing bits" (third crime). The only thing that has faults and missing bits is their souls, and that condition does not upset them, because they made a Faustian compact.
I strongly suggest you throw out any book that purports to be about the RM, that is not written by Dr E F Codd, and read only the RM and related papers. For one year. To clear your mind of all the non-RM rubbish that has been fed to you, and cited by various other non-RM authors. The RM is freely available (Codd's other papers are recommended, but they require a small fee).
Of course, if you have only read the books by these odious false prophets, who reject the messiah, sure, you can be excused for thinking as you did.
There is one particularly odious idiot who proposes an anachronism: remove the data sublanguage and replace it with an, um, full language. Yeah, right. Twenty years have passed, and not one spec has been produced (a florist's description of flower arrangement, yes, a florist's description of a toy language ala spacecraft to the next galaxy, yes, but a technical spec, no).
Cheers
Derek
Received on Mon Feb 11 2013 - 11:51:46 CET