http://drakon-editor.sourceforge.net/articles/eril.htmlERIL is a universal data modeling language that can describe any data structure regardless of the programming language and runtime environment.
ERIL connects the mental model of the data with the implementation of that model in one or more specific programming languages, file formats and database schemas.
The name of the language is an acronym, ERIL: Entity-Relationship model with Inheritance and Layers.
The intended uses of this language are:
Software architecture and design. 
Model-driven development. 
Automatic code generation. 
High-level programming augmented by artificial intelligence. 
ContentsAlgorithms and data structure 
Relational model is good 
Relational model is bad 
A good language must have layers 
The root layer: objects, classes and relationships 
The second layer: tables, keys and references 
Differences from the relational model 
An example: three ways to implement a one-to-many relationship 
The third layer: implementation details of tables, reference fields and keys 
Summary   
http://drakon-editor.sourceforge.net/ar ... ml#summaryAppendix 1: a database-driven example 
Appendix 2: an example with collections 
Appendix 3: a partitioned key 
_______________________________________
http://drakon-editor.sourceforge.net/articles/eril.html