Clifford Heath
2007-Feb-07 04:24 UTC
Interest in conceptual data modeling (fact-based modeling)?
Folk, I''ve long been interested in fact-based data modelling, also known as conceptual modeling, using the technique of Object Role Modeling (see http://www.orm.net). An algorithm called RMap is known which maps an ORM model to a relational model, and is implemented in some existing tools - for example NORMA, an open source Visual Studio plugin, at <http://sourceforge.com/projects/orm>. The fact-based modeling process reliably creates correct database schemas by dealing in elementary facts, delaying and automating decisions about how to group those fact into tables and columns until the facts are verified. Because each fact is elementary, it can be automatically verbalised as natural-language sentences that read smoothly in English, which allows verification by a domain expert who doesn''t understand the graphical language. Queries against the conceptual schema are more stable and simpler than the SQL which implements the same query, mainly because there are no explicit joins. I''ve commenced a Ruby project to implement (progressively over time): * an API to allow manipulation of an ORM model * an XML import tool for models from NORMA * a reflection tool to extract a conceptual model from a database * a verbalization generator (and possibly a parser) * the Rmap algorithm to produce an ER schema * a remapping process that generates database migrations dynamically * a conceptual query implementation that creates and executes SQL * various even more ambitious things I''m not publicising yet In time, this could become an viable alternative to ActiveRecord . I''m convinced that this direction is the future of databases... In any case, I thought I''d post this brief description in a search for collaborators - or even just folk with whom to discuss things. I''ll be at Rails Conf in Portland - perhaps a modeling BOF is an idea? Clifford Heath (First . Last AT gmail . com) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---