When Will Rel Get More Interesting Types

I am trying to generate some interest about Rel in a Java community I am part of ( http://www.javamexico.org/blogs/luxspes/blog_rel_project_una_base_de_datos_relacional_en_java_como_deberian_de_ser_parte_ii_hi )

And when building examples to show the superiority of Rel over SQL I am having trouble showing the equivalent Relvar for a table like this:

 CREATE TABLE SALES (
   Id INTEGER NOT NULL,
   SubTotal VARCHAR(MAX) NOT NULL,
   Tax VARCHAR(MAX) NOT NULL,
   CustomerID INTEGER NOT NULL, 
   SaleDate DATE NOT NULL,
   PRIMARY KEY (Id)
 )
I believe the equivalent would be:

 VAR SALES BASE RELATION
 {  
   Id INTEGER,
   SubTotal FLOAT,
   Tax INTEGER,
   CustomerId INTEGER,
   SalesDate DATE
 }
 KEY { Id } ;
But I get the errors: Type 'FLOAT' has not been defined and Type 'DATE' has not been defined... so I would like to now if you have plans to implement those before releasing the 1.0 version? (or at least a STRING type: My mistake, there is already a CHAR type...mmm I tried FLOAT, DOUBLE, REAL, DECIMAL, all without success... is there a floating type available under Rel? Or I am correct to say there isn't? How about a Date type?)

I think I might have found it: RATIONAL? Now... what about a Date type?

1.0 has been released for a while.

AFAIK it still has the "beta" label, so I consider it "not yet released"

RATIONAL is what you want instead of FLOAT. See the sys.Types relvar for all built-in and user-defined types in a given database.

User-defined types can be created two ways: You can use DateAndDarwensTypeSystem, or you can define them using embedded Java. Examples of both can be found in the Scripts folder of a Rel installation. A trivial Date implementation is provided as an example of an embedded Java type. Creating a Date type using DateAndDarwensTypeSystem is a common classroom exercise using Rel, so I don't currently provide one.

I'd encourage you to read Hugh Darwen's book, An Introduction to Database Theory, for further Rel examples. It's on-line at http://bookboon.com/uk/student/it/an-introduction-to-relational-database-theory Or, browse the Rel Forum at http://commerce3.derby.ac.uk/~dave/relforum There are user-defined type examples at, for example, http://commerce3.derby.ac.uk/~dave/relforum/viewtopic.php?f=24&t=463

The definitive TutorialDee (and, hence, Rel) reference is TheThirdManifesto.

I own TheThirdManifesto and AnIntroductionToDatabaseSystems in physical form and have access to the other Date books using SafariBooksOnline?, I really like them but one thing I find missing is book using TutorialDee with the goal of actually creating a system (in other words, more real world oriented), something like a combination between TheDataModelResourceBook and ApplyingUseCaseDrivenObjectModelingWithUmlAnAnnotatedCommerceExample would be great (specially if it included an example app)

I have also read the ebook AnIntroductionToRelationalDatabaseTheory? that you kindly recommend here, but, while I really liked the explainations, I again found it lacking in examples... I usually can find what I need by skimming all of them (All the Date & Darwen books I have access to), but that is very time consuming (althought I am getting better at it), because the information is IMHO not organized with the purpose of making it easy to find when trying to build you own example... maybe a book like SqlCookbook would be best (TutorialDeeCookbook? could be the title)

Sounds like you might be the perfect person to write that book!

Unfortunately, there isn't a lot of motivation for creating a TutorialDeeCookBook, because TutorialDee is intended to be an illustration of RelationalDatabase concepts, rather than a programming language for its own sake. However, I can certainly appreciate what you're looking for, and I think it's a great idea. Please write it!

Tell you what Dave, (if it is you), if you upload Rel in to GitHub or BitBucket, I 'll start a Rel cook book on WikiBooks... deal?

I've spent a good part of the afternoon trying GitHub. The end result is that I see no reason for it to exist. The Eclipse integration (EGit) seems crude and awkward, and it appears to be a way to waste precious time on something that is not writing code. I should want to use it... Why???

As I've written before, I am happy to give accounts and write access to my semi-private SVN repository. Would you be ok with that? -- DaveVoorhis

I'll be ok, but the thing is I would like to foster participation, I would like to be able to say: want to hack in Rel? just go to www.... and git clone, hg clone, or bzr checkout , maybe you are not seeing all the advantages of something like GitHub, BitBucket or LauchPad?... once you put your project in there, you can both control what goes to the main line, and permit free limitless experimentation... you get bugtracking, and a wiki and, all those things help could help building a community around Rel.

Also, with git, mercurial or bazaar you can commit locally, so you can experiment more without risk of hurting the works of others... and share you code only when you feel is ready...

I guess you do not see much value on the "community participation" side in an opensource project?

I certainly see its value. However, I see nothing that prevents "community participation" by giving out write-access accounts for my SVN repository. Via that, and via simple submissions of code, I've had some very valuable contributions. I see plenty that prevents "community participation" in a set of badly-written, buggy, unintuitive, awkward, and unreliable Eclipse plugins that get in my way and annoy me instead of facilitating source code management so I can focus on code. -- DV

Allright, lets agree to disagree... how do I get access your SVN?

Send me a private email (email addresses are on my HomePage) and I'll get you set up. -- DaveVoorhis

Sent it -- LuxSpes


EditText of this page (last edited April 26, 2011) or FindPage with title or text search