# Interest in conceptual data modeling (fact-based modeling)?

**URL:** <https://www.ruby-forum.com/t/interest-in-conceptual-data-modeling-fact-based-modeling/84567>\
**Category:** Ruby\
**Created:** [February 6, 2007, 1:35am UTC](https://www.ruby-forum.com/t/interest-in-conceptual-data-modeling-fact-based-modeling/84567 "2007-02-06T01:35:39Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Clifford\_H](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/49beb7/32.png) [@Clifford\_H](https://www.ruby-forum.com/u/Clifford_H)\
**Post date:** [February 6, 2007, 1:35am UTC](https://www.ruby-forum.com/t/interest-in-conceptual-data-modeling-fact-based-modeling/84567/1 "2007-02-06T01:35:39Z")

</div>

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](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](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.

Clifford H. (First . Last @ gmail . com)

---

<div class="post-metadata">

**Author:** ![Clifford\_H](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/49beb7/32.png) [@Clifford\_H](https://www.ruby-forum.com/u/Clifford_H)\
**Post date:** [February 6, 2007, 3:00am UTC](https://www.ruby-forum.com/t/interest-in-conceptual-data-modeling-fact-based-modeling/84567/2 "2007-02-06T03:00:43Z")

</div>

On Feb 5, 2007, at 6:35 PM, Clifford H. wrote:

> 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 🙂

I just wanted to say that this sounds darn cool! I can’t wait to  
play with it at the very least.

James Edward G. II

---

<div class="post-metadata">

**Author:** ![Clifford\_H](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/49beb7/32.png) [@Clifford\_H](https://www.ruby-forum.com/u/Clifford_H)\
**Post date:** [February 7, 2007, 8:10am UTC](https://www.ruby-forum.com/t/interest-in-conceptual-data-modeling-fact-based-modeling/84567/3 "2007-02-07T08:10:57Z")

</div>

James Edward G. II wrote:

> I just wanted to say that this sounds darn cool! I can’t wait to play  
> with it at the very least.

Thanks for the encouragement. I guess that with nothing so far to  
offer I should not have expected more of a response. Hopefully I’ve  
at least inspired someone who has VS2005 Pro to install the NORMA  
plugin and see what ORM (the _original_ ORM, not object relational  
mapping:-)) is about. I’ll let you all know more at RubyConf, or  
when I have s.t. more to offer.

Clifford H…
