The ORM Foundation

Get the facts!

ORM Tools

You can use ORM tools to generate a fully normalised entity-relationship (ER) model from an object-role model. You can then generate DDLfor several databases including Microsoft Access and Microsoft SQL Server.

You can use an ORM tool to reverse engineer a database structure into natural language. This makes it easy for non-technical persons to validate the database semantics.

ORM Books

Click an image to see details of a book


The "How To" book for Microsoft's ORM tool.


The ORM book. 


You can download Terry Halpin's 1989 PhD thesis on ORM from the ORM Overview section in the Library.

Events & News

1 January:  Updated Visio Stencils
Andy Carver has uploaded an improved version of the Visio ORM stencils.For details see Library>Tools>Visio Stencils.
 
5 December: European Space Agency (ESA) presentation at ORM 2009 posted to the Library
ESA has kindly provided their ORM 2009 workshop presentation and it is now available for download from the library.
 
ESA's data management challenge is one of the most complex in the world. For several years, ESA has been investigating how ORM might help them to meet their data management challenges. 
 
This presentation summarises ESA's challenges and gives an outline of their planned fact-based solution which includes interoperability with NORMA.       
 
18 November: New Visio Stencils section: A new library folder (Tools>Visio Stencils) is now available. This folder will contain ORM stencils that can be used with Visio.    
 
11 November: ORM 2009 Presentations posted to the Library: The presentations of the papers presented to the ORM 2009 Workshop in Portugal are now available for download from the Library. 
 
9 November: NORMA - New Release: A new release of NORMA is available for download from the Library. (Look in  Library>Tools>NORMA - The Software!)  
 
27 October: ORM 2009 Workshop Update:  The ORM 2009 detailed programme has been updated.You can download the new programme from the ORM 2009 section in the Library. 
 
23 October: Open Source Models: A new Forum and a new Library section have been created to allow registered users to contribute, to use and to discuss object-role models for various domains. Thanks to Tyler Young for suggesting this.   
 
9 October: ORM 2009 Workshop - Detailed programme The ORM 2009 workshop will be held in Vilamoura, Portugal between 4-6 November. You can download the detailed programme from the ORM 2009 section in the Library (Library>ORM Events>ORM 2009)    
 
7 October - Radio BroadcastBetween 1700 and 1900 UK time on 7 October, Ken Evans will be co-hosting a radio talk show on Siren FM. The studio is in the University of Lincoln where Ken is a Visting Senior Research Fellow. During the show, Ken will discuss his research into the hidden problems of natural language and their consequences for management. Ken also plans to present his research in a University lecture on 14th October entitled  "Managing Learning - The hidden problems of language".
 
Ken's research hypothesis is that the hidden problems of language are largely responsible for many problems in organisations - for example project cost overruns and delays.  
 
12 September: ORM 2009 Workshop programme announced: The ORM 2009 workshop will be held in Vilamoura, Portugal between 4-6 November. You can download the programme from the ORM 2009 section in the Library (Library>ORM Events>ORM 2009)    
 
1 July: NORMA - New Release: A new release of NORMA is available for download from the Library. (Look in  Library>Tools>NORMA - The Software!)    
 
27 June: NORMA Tutorials - updates & new  NORMA Tutorials 1-6 have been updated. Two new tutorials have been added. The reverse engineering Tutorial 7 has been renamed as Tutorial 9. There have been minor changes to Tutorial 1. However, Tutorials 2-6 have been significantly revised and extended. The two new tutorials provide guidance on Reporting, Relational Mapping and managing table and column names. You can download the tutorials from the Library.   
 
25 June: ORM 2009 Workshop Update The ORM 2009 call for papers has been updated. You can download the revised documents from the ORM 2009 section in the Library. Submission date change: The deadline for submissions has been extended. Abstracts are now due on 2 July and papers must be submitted not later than 5 July.    
 
25 May: NORMA - New Release A new release of NORMA is now available for download from the Library (NORMA-The Software!). 
 
8 May: Update to ORM 2009 Call For Papers The ORM 2009 call for papers in the library have been updated. The new versions show the submission procedure. The workshop will be held on November 4, 5 & 6 in Vilamoura, Portugal. You can download the updated call for papers from the library. 
  
24 April: NORMA - New Release A new release of NORMA is now available for download from the Library.
 
3 April ORM 2009 Call For Papers The ORM 2009 workshop will be held on November 4, 5 & 6 in Vilamoura, Portugal. You can download the call for papers from the library.   
 
16 March: NORMA - New Release The February release of NORMA is now available for download from the Library.
 
5 February:  NORMA - New release You can now download the January release of NORMA from Library>Tools>NORMA The Software!. It contains improvements to the Fact Editor and the Reading Editor. A bug has been fixed and it is easier to access the Readme file. 
 
16 January: Two New Forums "ORM Lite" and "ActiveFacts" 
These new forums are for the two tools being developed by Brian C Christensen (USA) and Clifford Heath (Australia).  
 
9 January: New "a" release of NORMA  Matt has uploaded an updated release of NORMA that includes an urgent bug fix. Please replace your earlier version with this release. Full details are available in the readme that is included in the download.
 
1 January 2009: New release of NORMA A new release of NORMA is now available in the library. This version makes it easy to segment models into pages, You can then rename and re-order the pages as your model evolves. Full details are available in the readme that is part of the download.
We wish all members of the global ORM Community a Very Happy New Year.
 
21 November: New release of NORMA   A new release of NORMA is now available for download from the Library. (Library>Tools>NORMA The Software!) Two zip files are available - one for Visual Studio 2005 and one for Visual Studio 2008. New features include the ability to use sample populations with objectified Fact Types and Subtypes. There is also a new "ORM Diagram Spy" to help with navigating around your models. This release supersedes all previous releases. Full details are in the readme in the zip file.
 
19 November: ORM 2008 Workshop Presentations  The ORM 2008 workshop was held in Monterrey, Mexico 12-14 November 2008.  The introduction, programme and first presentation were posted to the ORM 2008 folder in the Library. The remainder of the presentations will be posted to this folder as they are received from the participants. This was first ORM Workshop to be attended by representatives from China. 
 
21 October: NORMA tutorials consolidated The NORMA tutorials are now available for download from a new "NORMA Tutorials" folder in the "Tools" section of the Library. This folder also contains articles on report generation, error message control and object-re-use.
 
15 October: ORM Lite documentation now available  Documentation that describes the new open-source ORM Lite tool is now available for download from the tools section of the Library. 
 
25 September: ORM 2008 Workshop Program announced  The Program for the ORM 2008 workshop is now available for download from the Library. Look in the Events/ORM 2008 folder.
 
20 September: NORMA Tutorial 6 - Name generation  This tutorial explains NORMA's name management features. The tutorial shows you how to rename tables, columns and much more. The file is now available in the NORMA section of the library. 
 
22 August: NORMA User Guide A user guide for NORMA is now available in the Library - NORMA section. The document was prepared by Gordon Everest at the University of Minnesota. Gordon uses this guide as part of his Advanced Database Design class.
 
29 July: NORMA Tutorial (Lab 1) July update An updated version of the "NORMA Lab 1" introductory tutorial is now available in the Library.  
 
17 July: You can now participate in The Great Experiment!   If you know UML or if you know ER and UML or if you know ORM and UML, you can make an important contribution to a unique experiment that seeks an answer to the question  " Is ORM at least 25% more effective than ER or UML based approaches? " Read more on the Surveys page. 
 
7 July: Final Call for Papers ORM 2008 The final call for papers is now in the ORM 2008 section of the library. The deadline for submission is now 10 July. Notification date is deferred to 15 August.  
 
10 June: New release of NORMA   A new release of NORMA is now available for download from the Library. This version includes: Improved column name generation, the Fact Type editor now allows object type names to be entered directly without predicates, Objectification of unary fact types, Improved foreign key references, Fact Type path is now shown in the verbalization browser, Inproved check clause generation, Linq to SQL mapping (VS 2008 version only) and a basic Barker ER view has also been added.
 
30 May: Updated version of NORMA Lab 4   An updated version of the November 2007 Lab 4 is now available for download from the library. This lab covers adding frequency constraints, ring constraints, subtyping, subtype definitions and constraints and textual constraints.
 
29 May: Updated version of NORMA Lab 3   An updated version of the November 2007 Lab 3 is now available for download from the library. This lab covers adding pages, nesting, independent object types, set-comparison constraints and setting data types.
 
27 May: Updated version of NORMA Lab 2   An updated version of the November 2007 Lab 2 is now available for download from the library. This lab covers: ternary associations,  inclusive-or constraints , external uniqueness constraints, renaming pages,  derived fact types and value constraints.
 
24 May: Design or Description survey - Interim report  An interim report of the findings of the design or description survey is now available for download from the "ORM Research" section of the Library.
 
23 May: Updated version of NORMA Lab 1   An updated version of the November 2007 Lab 1 is now available for download from the library. This lab shows you how to enter a simple object-role model, generate a relational view, generate DDL and generate other code such as C# and VB. Updates of the other NORMA labs will be posted over the next few days.
 
 
21 May: ORM 2008 workshop - updated call for papers -  An updated call for papers for the ORM 2008 workshop is now available for download from the ORM 2008 section in the Library.
 
7 May: New version of NORMA released.
 
A new release of NORMA is now available for download from the Library
 
28 April: New VisioModeler "how to" file  Terry Halpin has kindly provided an updated "how to" file for VisioModeler which you can download from the Library.
 
16 April: ORM 2008 workshop call for papers - Updated  The ORM 2008 workshop will be held in Monterrey, Mexico 9-14 November 2008. Download the call for papers from the ORM 2008 folder in the Library.
 
3 April: New "Getting Started" Forum now available. This new forum allows newcomers to ORM (or just those who want to learn more) to post general questions about any aspect of ORM.
 
17 March:  Survey 1: Is data modeling a design process or a descriptive process?
 
Answer six survey questions by clicking this link:  http://ormfoundation.info/fs1/fs-DescribeOrDesign.aspx  The survey is open for contributions until 31 May 2008. Interim results will be published in the Library and available to registered members. Final results will be emailed to all participants. You can also vote in the quick poll in the surveys forum.
 
8 March:  About 600 posts added to the NORMA forum.  The NORMA discussions from SourceForge have been migrated to this website which is now the home of for NORMA discussions. Kevin Owen of Neumont wrote the awesome script that enabled the migration. Thanks Kevin!
 
4 March: New Release of NORMA software.  The March 2008 version of the NORMA software is available for download from the library. There are two versions - one for Visual Studio 2005 and one for Visual Studio 2008.
 
22 February: Terry Halpin's new ORM book published.  You can order Terry's new book "Information Modeling and Relational Databases- Second Edition." by clicking on the image below.
 
12 February: ORM 2008 workshop call for papers The ORM 2008 workshop will be held in Monterrey, Mexico 9-14 November 2008. Download the call for papers from the ORM 2008 folder in the Library.
 
16 January: ORM 2007 Presentations  All of the ORM 2007 workshop presentations are available in the Library.
 
30 November: UFO Survey   The Results of the UFO survey at ORM 2007 are available in the Library. The UFO topic is to be discussed in the UFO forum.
 
28 November: Self Registration active.  Click the "Join" button at the top right of the screen. When you join, please complete your personal profile. It helps others to get to know you.

Welcome!

What is ORM? ORM stands for "Object-Role Modeling".  You use ORM to build information models that are consistent and unambiguous because ORM is based on first order predicate logic.

First order predicate logic has evolved from the works of people like George Boole who showed how to answer questions about logic using mathematical means. George Boole is regarded as one of the founders of the field of computer science.  

However, Boole's 1854 book was about the "Laws of Thought" and whilst most people know how to use a digital computer, few people understand that the principles of Boole's "Laws of thought" apply to all kinds of reasoning - including day-to-day decisions by individuals.   

ORM helps to clarify meaning When you create an object-role model you are creating a precise and meaningful description of your information domain. So ORM tools provide a means for people to agree on exactly what they mean.  

ORM's power to clarify meaning has many potential uses. However, so far, the main use of ORM has been to help computer application developers to design databases. For example, from an object-role model, you can automatically derive a fully normalised relational data model.  You can also derive other artefacts such as a class model and an entity relationship diagram. These artefacts can then be transformed into usable artefacts such as a physical database.  

Easy to use ORM has only one data structure - the fact type. This simplicity is supported by a comprehensive set of constraint types that allow you to create complex information models. 

Validating your model. One of the biggest problems in data modeling is making sure that the data model is understood and approved by "domain experts".  ORM tools support this process because they have built in "verbalizers" that generate easy-to-understand natural language from the object-role model. Using natural language makes it easy for a non-technical person to validate the content of the model. In contrast, if a non-technical person wants to understand a UML or entity-relationship (ER) model, the person must first learn the UML or ER language.

Thus, ORM provides a simpler, more accurate and more powerful approach to information modeling than other approaches such as Entity-Relationship modeling and UML.

What is the history of ORM?   The roots of ORM can be traced to research into semantic modeling for information systems in Europe during the 1970's. There were many pioneers and this short summary does not mention them all. An early contribution came in 1973 when M Senko wrote about "data structuring" in the IBM Systems Journal. In 1974 JR Abrial contributed an article about "Data Semantics". In June 1975, Eckhard Falkenberg's doctoral thesis was published and in 1976 one of Falkenberg's papers mentioned the term "object-role model". 

Other contributors in continental Europe introduced the "circle-box" notation and an early version of the conceptual schema design procedure. Other people added subtyping, and conceptual query ideas.

The first full formalization came in 1989 when Terry Halpin completed his PhD thesis on ORM. Terry also introduced extensions. In 1989, Terry Halpin and GM Nijssen co-authored the book "Conceptual Schema and Relational Database Design". 

How can I learn more? The authoritative book on ORM is Terry Halpin's 2008 "Big Brown Book" entitled "Information Modeling and Relational Databases - Second Edition". (The first edition was published in 2001). You can order the Big Brown Book by clicking on the "Second Edition" image (see sidebar - Books). You can read about ORM from the documents in the Library. You can also participate in the Forum.

Are there any ORM Tools? The growth of ORM has followed the availability of a series of steadily improving ORM tools. The early ORM tools such as IAST (Control Data) and RIDL* were followed by InfoDesigner, InfoModeler and VisioModeler.

When Microsoft bought the Visio Corporation, Microsoft extended VisioModeler and made it a component of Microsoft Visual Studio. This was Microsoft's first ORM implementation and it was published in the 2003 Enterprise Architects release of Visual Studio as a component of the tool called called "Microsoft Visio for Enterprise Architects".

In the same year, a companion "how to" book was published by Morgan Kaufmann entitled "Database Modeling with Microsoft Visio for Enterprise Architects". (see sidebar) Microsoft has retained the ORM functionality in the high-end version of Visual Studio and the Morgan Kaufmann book remains a suitable user guide for both versions. 

The next "in the works" ORM tool is an open source tool called NORMA (Natural ORM Architect for Visual Studio). You can download the latest release of NORMA from the tools section in the Library.    

Forum The Forum is for discussing ORM related topics. Vistors can see most of the discussions but to participate you have to register on the site. Not all discussions are visible to all registered members because they are for specialised sub-groups. However, if you don't see a topic that you feel should be given its own Forum, please post a message in the "Request a Topic" Forum. Your post should include a title, a description of the scope, how it relates to ORM and why you think that the ORM community will find it of interest.

Library You can download ORM software, ORM tutorials and ORM related documents from the Library. Most documents are in PDF format but there are also multimedia file types.

Research The research page supports ORM research. You can see the experimental material that I used in my 2008 MSc dissertation project. This experiment was designed to test the hypothesis that “ORM based methods require at least 25% less effort than alternative methods such as UML and ER.”

Visitors may browse the Library and Forum. Registered members can download documents and participate in the forum discussions. Registration is free - just click on the "Join" button at the top right of the screen and follow the instructions. If you experience a problem, please send a description of the problem to admin@ormfoundation.org.

 

Thank you for visiting The ORM Foundation website.
Ken Evans

What's New

  • Re: Corrupt ORM file

    Finding the problem with the XML was easy, but there is one line that starts with an 'invalid character' followed by some 55,000 spaces! I tried deleting that line, but clearly it replaced a lot of substance because I kept getting invalid references, removing those references, and after about five of these I started over. That forced me to rethink...
    Posted to Technical support (Forum) by JimLudden on 02-03-2010
  • Re: Corrupt ORM file

    Jim, The XML needs to be valid for NORMA to attempt to load the file. If you open this in the VS XML editor, then typing the less-than character (<) after the failure point will bring up an intellisense list with the close elements at the top. Generally, the best you can do is to match the close elements and see what is left. NORMA always saves to...
    Posted to Technical support (Forum) by Matthew Curland on 02-02-2010
  • Corrupt ORM file

    When I try to load one of my ORM files (or the solution that uses that file) I get the following message: Cannot load '...\IT_Management.orm':'.', hexadecimal vaue 00x0, is an invalid character. Line 7454, position 1. When viewed as XML it indeed looks bad, but I'm not smart enough to fix it. Is there a simple way to recover at least...
    Posted to Technical support (Forum) by JimLudden on 02-02-2010

Who Is Online

© 2008-2010 The ORM Foundation: A UK not-for-profit organisation -------------- Terms of Service