User:Panicp/sandbox

COIN (COlumn INdependent) data models are a specific family of key/value data models.

Description
COIN data models are different from row- and column oriented data models by assigning information to values in further columns and extend the key/value model by an information based dimension.

Row oriented data models assign information to a row, a column and if necessary foreign key related rows of other tables. Column oriented data models assign information to a row and if necessary foreign key related rows ot other tables.

However, COIN data models assign information to values in forther columns within the same row.

Example:

Table 1: Table based on a column independent data model

Table 2: Table based on a row oriented data model

Table 3a

Table 3b

Tables 3a and 3b: Tables "Country Names" and "Country Continents" of a column oriented data model.

Advantages
Advantages of COIN data models result from its flexibility.

Normalized Table Structure
Queries can be expressed generically because all information tables have the same structure. That allows a rapid development especially of applications with complex data models.

Different Data Structures Within One Table
Row oriented data models require new tables for new data structures whereas tables based on a column independent data model allow the storing data of any structure within the same table.

Table 4: Information of a different data structure within the same table: Record Key 1 of Column Key "Continent Name" is stored as value of record Key 1 of the column Key "Continent".

Key Expanding Columns
Data structures can be expanded by adding key expanding columns, e.g. for language sensitive data: