Object role modeling
From Wikipedia, the free encyclopedia
- Not to be confused with Object-relational mapping.
The designer of a database builds a formal model of the application area or universe of discourse (UoD). The model requires a good understanding of the UoD and a means of specifying this understanding in a clear, unambiguous way. Object-Role Modeling (ORM) simplifies the design process by using natural language, as well as intuitive diagrams which can be populated with examples, and by examining the information in terms of simple or elementary facts. By expressing the model in terms of natural concepts, like objects and roles, it provides a conceptual approach to modeling. Its attribute-free approach promotes semantic stability.
ORM evolved from the Natural language Information Analysis Method, a methodology that was initially developed by the academic and researcher, G. M. Nijssen in Europe in the mid-1970s, and later at the University of Queensland, Australia in the 1980s. The acronym NIAM originally stood for "Nijssen's Information Analysis Methodology", and later generalised to "Natural language Information Analysis Methodology" and Binary Relationship Modeling since G. M. Nijssen was only one of many people involved in the development of the method. Nijssen and Dr. Terry Halpin provided the first formalization of Object-Role Modeling in joint papers and the work, Conceptual Schema and Relational Database Design, (Prentice Hall, Sydney:1989).
ORM's rich graphic notation is capable of capturing many business rules that are typically unsupported as graphic primitives in other popular data modeling notations.
Various software tools exist to enter ORM schemas, and generate relational database schemas. These include Microsoft Visio for Enterprise Architects, CaseTalk, Infagon, and NORMA.
NORMA (Neumont ORM Architect), an open source plug-in to Microsoft Visual Studio 2005, supports ORM 2 (second generation ORM), and maps ORM schemas to a variety of implementation targets, including relational DBMSs, object-oriented code, and XML schema. As of April 2006, NORMA (accessible at the SourceForge link [1] below) is in a prototype stage, but is evolving to a full production version.
A graphical NIAM design tool which included the ability to generate database-creation scripts for Oracle, DB2 and DBQ was developed in the early 1990's in Paris. It was originally named Genesys and was marketed successfully in France and later Canada. It could also handle ER diagram design. It was ported to SCO Unix, SunOs, DEC 3151's and Windows 3.0 platforms, and was later migrated to succeeding Microsoft operating systems, utilising XVT for cross operating system graphical portability.
A recent variation of ORM is referred to as FCO-IM. It distinguishes itself from traditional ORM in that it takes a strict communication oriented perspective. Rather than modelling the domain and its essential concepts, it purely models the grammar used to discourse about the domain.
Another recent development is the use of ORM in combination with standardised relation types with associated roles and a standard machine-readable dictionary and taxonomy of concepts as are provided in the Gellish English dictionary. Standardisation of relation types (fact types), roles and concepts enables increased possibilities for model integration and model reuse.
[edit] External links
- Object Role Modeling: An Overview (msdn.microsoft.com)
- orm.net
- objectrolemodeling.com
- SourceForge ORM Project
- NIAM/ORM
- CaseTalk, The FCO-IM casetool
- DogmaModeler, an ontology Engineering tool based on ORM
- The ORM foundation
- ORM Workshops: ORM-2005, ORM-2006, ORM2007, ORM-2008
[edit] References
"Information Modeling and Relational Databases" written by Terry Halpin.