This is sort of a theoretical question. It's unfamiliar territory to me.
In the relational model, data is stored in tables, one row per entity. Each table has attributes (aka fields or columns). One attribute, or one group of attributes, uniquely identifies each row. I'm not telling you anything you don't know. For purposes of this discussion, I will refer to this as storing data horizontally.
Another way to store data is what I will call storing data vertically. Each row is one attribute of an entity. The columns are:
So, here's a customer stored horizontally:
Here's the same data stored vertically.
The vertical method may be relational technically (the data is in a table and each row is uniquely identified by key and attribute name), but the fact that all attributes of an entity are not in the same row is enough reason for me not to consider it relational.
My question is this: Have you ever worked with vertically-stored data, and if so, what was your experience with it?
Ted
In the relational model, data is stored in tables, one row per entity. Each table has attributes (aka fields or columns). One attribute, or one group of attributes, uniquely identifies each row. I'm not telling you anything you don't know. For purposes of this discussion, I will refer to this as storing data horizontally.
Another way to store data is what I will call storing data vertically. Each row is one attribute of an entity. The columns are:
- key value
- attribute name
- attribute value
So, here's a customer stored horizontally:
Account number | Name | Street | City | State | ZIP code |
12345 | Bertha D. Blooze | 101 Rampart St | New Orleans | LA | 70114 |
Here's the same data stored vertically.
Key | Attribute name | Attribute value |
12345 | Name | Bertha D. Blooze |
12345 | Street | 101 Rampart St. |
12345 | City | New Orleans |
12345 | State | LA |
12345 | Zip code | 70114 |
The vertical method may be relational technically (the data is in a table and each row is uniquely identified by key and attribute name), but the fact that all attributes of an entity are not in the same row is enough reason for me not to consider it relational.
My question is this: Have you ever worked with vertically-stored data, and if so, what was your experience with it?
Ted
Comment