module ActiveFacts

ActiveFacts Relational mapping.
Columns in a relational table; each is derived from a sequence of References.

Copyright © 2009 Clifford Heath. Read the LICENSE file.

Each Reference from a ObjectType creates one or more Columns. A reference to a simple valuetype creates a single column, as does a reference to a table entity identified by a single value.

When referring to a object_type that doesn’t have its own table, all references from that object_type are absorbed into this one.

When multiple values identify an entity that does have its own table, a reference to that entity creates multiple columns, a multi-part foreign key.

ActiveFacts Relational mapping
A ForeignKey exists for every Reference from a ObjectType to another ObjectType that's a table.

Copyright © 2009 Clifford Heath. Read the LICENSE file.

ActiveFacts Relational mapping
An Index on a ObjectType is used to represent a unique constraint across roles absorbed
into that object_type's table.

Copyright © 2009 Clifford Heath. Read the LICENSE file.

ActiveFacts Relational mapping
Reference from one ObjectType to another, used to decide the relational mapping.

Copyright © 2009 Clifford Heath. Read the LICENSE file.

A Reference from one ObjectType to another is created for each many-1 or 1-1 relationship (including subtyping), and also for a unary role (implicitly to Boolean object_type). A 1-1 or subtyping reference should be created in only one direction, and may be flipped if needed.

A reference to a object_type that’s a table or is fully absorbed into a table will become a foreign key, otherwise it will absorb all that object_type’s references.

Reference objects update each object_type’s list of the references to and from that object_type.

Copyright © 2008 Clifford Heath. Read the LICENSE file.