mewsings, a blog
Tuesday, February 28, 2006
The LIST of GIRLS
The Relational Model (RM) is neither necessary (see The Naked Model) nor sufficient (see Don't Suffer Impedance). That said, it is useful. There are pros and cons to employing it. In order to be able to compare its usefulness to that of tools based on approaches other than the RM, we need to know what else is out there. This mewsing is not an opinion piece, but includes some things old, some things new, some things borrowed, and some things blue (Big Blue, that is).
GIRLS stands for Generalized Information Retrieval Language & System
While I plan to talk about a variety of possibilities in the future and am particularly curious about the future of XML-DBMS tools, the RM alternative with which I have the most direct experience is the MultiValue or PICK data model. I'll start there with a couple of blog entries.
Codd's papers, including the pdf version of his 1970 paper, are readily available on the web. That is not the case with early papers related to the Nelson-Pick data model. Although my source materials are not-always-easy-to-read copies and my scan, resize, and Adobe skills also leave room for improvement, I spent my time allocated for this mewsing to turn two historical papers into pdfs. I think these papers are available only from this site, but if anyone knows of other sources, please inform me as I would be happy to point to better versions of them. I also provide a link below to Don Nelson's resume, which indicates that he worked under F. George Steele, who invented and developed the Digital Differential Analyzer. After studying under Steele, Nelson developed the GIRLS and GIM-1 specifications at TRW.
What is your preference, GIRLS or SQL?
You might have noticed that GIRLS stands for Generalized Information Retrieval Language & System. Many flavors of Pick have been developed over the years, as indicated in the MultiValue Family Tree poster. Unlike SQL, which has a single name covering many different implementations, GIRLS has had almost as many names as implementations. GIRLS has been named UniQuery, ENGLISH, FRENCH, AQL, ACCESS, Info/Access, jQL, RetrieVe, Vision, RECALL, QMQuery, CMQL, queryON, R/LIST, and INFORM. Current implementations of GIRLS are available from many different vendors, most (all?) of which are listed here, ordered by a complex algorithm.
- IBM U2, UniData & UniVerse
- Ladybridge OpenQM (open source & commercial versions)
- Revelation OpenInsight
- Intersystems Cache' for MultiValue
- Northgate Reality
- MaVerick (Java-based open source)
- Raining Data, successor to Pick Systems
- EDP UniVision
What is your preference, GIRLS or SQL? There are many differences between them, but I'll save that discussion for next time and just mention a few right now. GIRLS can perform queries with data that is in NF2 (non-1NF), it employs a two-valued logic (no SQL NULLS), and in place of the SELECT of SQL is the LIST of GIRLS.