So, now that AlphoraDataphor (http://dataphor.org/) is OpenSource, I believe a RelationalReborn could be in the near future... I have been reading the manuals and, while I am an ObjectWeenie let me tell you all that I think Dataphor is a very exciting technology I hope it finds the way to make TrueRelationalDatabase a buzz word like Ruby and that finally forces big companies like Oracle to make databases truly relational (and I wonder if Dataphor comes close to TopMind ideal TableOrientedProgramming development environment). --LuxSpes (will I become an TrueRelationalWeenie?) ''The site is full of hype. It says it includes NULL even though it is supposed to follow most of Darwen/Date advocate. WTF? Is this a joke product? Maybe they dumped it as open source. (P.S. Actually, table oriented programming reminds me of excel... where you have no types and everything is a string. According to a true weenie, it would be RelvarOrientedProgramming).'' Yes, it is not perfect, maybe it has some quirks because it is kind of TrueRelationalToPseudoRelationalMapper (it uses other databases as underlying storage) , but, have you downloaded it? I did, and I am reading the manual (it has nice documentation) and taking a look at the source code... and it looks interesting... perhaps it will fail to make the industry achieve a RelationalReborn... but I hope it succeeds (If ObjectRelationalMappers can do it... why a TrueRelationalToPseudoRelationalMapper would not?) . --LuxSpes [Perhaps it will succeed as OpenSource where it largely failed as a commercial product. However, its use of NULL is rather an abomination, its ties to .NET preclude (or at least complicate) the multi-platform deployment expected of any DBMS, and (sadly) it probably needs to provide a SQL implementation to achieve any inroads in areas not already familiar with (or even using) true relational DBMSes.] I agree with you that it's use of NULL is rather an abomination, but I think with Mono should ease its multi-platform deployment (and if not, well if NHibernate was created from Hibernate, I think a JDataphor could be in the near future, maybe an integration with RelProject?), and, since it is an TrueRelationalToPseudoRelationalMapper why should it need and SQL implementation? if you need to use SQL, just plain talk to the underlying database directly (of course I am just starting to familiarize with this product, so I might be wrong)... ''First let's decide whether this product is even related at all to TutorialDee or whether it is not just a bunch of artificial claims.'' Well they do claim to be related to TutorialDee in page 34 of the manual: The Dataphor Platform is largely based on the concepts portrayed in The Third Manifesto: Foundation for Future Database Systems [3] by C. J. Date and Hugh Darwen. * Do they specifically claim that it is TutorialDee or based on TutorialDee, or do they claim that it is a '''D''' -- a language that conforms to the proscriptions and prescriptions of TheThirdManifesto? TutorialDee is intended to be an example that illustrates what a '''D''' might look like. A perfectly valid '''D''' could be nothing like TutorialDee, syntax-wise. Dataphor cannot be a valid '''D''' because it violates RM Proscription 4: No nulls. ** On further reading they claim, in their main page: '''Dataphor aspires to draw on the ideas articulated comprehensively and tenaciously by C.J. Date & Hugh Darwen, but Dataphor allows nulls, doesn't have specialization by constraint or a few other essentials.'' So I guess it is not really a TrueRelationalDatabase, but it might still be way closer to be one than Sql, because they do claim that: ***D4 is a relationally complete language based on the relational algebra (begining of Chapter 22) ***''The same claim can be made of SQL. It sounds like Dataphor is essentially a heterogeneous database system with a somewhat TheThirdManifesto-influenced basis and a not-quite-SQL, not-quite-TutorialDee language syntax. Boo. Bored now.'' *** Mmmm, sorry you are bored... you seem so sure that the fact that D4 is TheThirdManifesto-influenced is not a relevant advantage... why is that? after all EveryJourneyBeginsWithOneStep *** ''Eliminating nulls, the full '''D''' specification, and DateAndDarwensTypeSystem including SpecializationByConstraint are among the most significant aspects of TheThirdManifesto. A proprietary SQL-like syntax -- not even a published and known syntax like TutorialDee -- is hardly a strong selling point, being tied to .NET is annoying, and SQL-based heterogeneous systems are available elsewhere. Does D4 implement database constraints? That might make it somewhat interesting again.'' **** For what I have read of the manual it seems that it does implement database constraints, but since you seem to know more about this things than me... what should be possible to do with database constraints to make a good enough improvement? **** ''Database constraints are a general case of which SQL's foreign-key constraints are an example. It should be possible to define arbitrary boolean expressions spanning multiple relvars; the system tests these at the point of database update and rolls back the current transaction if any fail. The ability to declare arbitrary constraints beyond the usual column-level CHECK and NOT NULL, PRIMARY KEY and FOREIGN KEY can potentially give a database great strength.'' **** Chapter 8. Enforcing Business Rules Declaratively seems to indicate that Dataphor has good support for database constraints way beyond the traditional CHECK and NOT NULL, PRIMARY KEY and FOREIGN KEYs **** ''That's a good thing, though I'd be curious how they prevent external updates to the external DBMSes from violating these constraints.'' ***** Maybe they translate them in to traditional constraints with triggers to help them? (I am just guessing) '' Then let's decide whether it has '''any''' actual relational advantages over something dumber and stupider and non relational like MySql.'' I have been looking at examples inside the manual and they do remind me of the examples in here: TutorialDee (but I built a superficial comparision (but I will improve it) here for us to examine: QueryLanguageComparison). HughDarwen seems to think it does have advantages: http://www.dbdebunk.com/page/page/627003.htm, and he is one of the authors of the TheThirdManifesto. '' As far as I can see, it looks like this is a fake relational model claiming to '''be''' a relational model which reeks and stinks of lies/hype.'' I agree it does reeks and stinks of hype (but since currently nobody seems to consider Relational worth of hyping, that might not be so bad, it just levels the field with hyper hyped technologies like Ruby ;-) ) I see no lies (they say their product is the NextBestThingSinceSlicedBread but that is IMHO a normal thing in people that are proud of their product) ''Also, where is the GUI stuff generated and how can you program components and positions of components at run time? With some RELVARS that contain x and y values of the components, or some other non relational programming language tapped on to it?'' They seem to generate it with what could be somewhat be considered a the pseudo relational equivalent to NakedObjects (perhaps we should call it NakedRelational or NakedPseudoRelational?). Basically they enhance their DDL with metadata and then that is used by the generator.