3 ms·
That's the beauty of the relational model, it doesn't specify data structures. Those can be added later by indexes. For more info check https://www.researchgat
by miltondts 7y ago
That's the beauty of the relational model, it doesn't specify data structures. Those can be added later by indexes.
For more info check https://www.researchgate.net/publication/2364452_Data_Structures_Considered_Harmful https://www.researchgate.net/publication/2364452_Data_Struct...
- smallnamespace 7y agoThe set of indexes are a form of data structure though, with all the state juggling and heuristics that usually go along with them (What access pattern requires this index? When do I have too many of them? What locks when I add/drop an index?). This adds complexity and unpredictability to the user.
- taffer 7y agoI would argue that dropping and creating indexes is much less work than refactoring large parts of your codebase just to change a data structure. Also, you can have multiple indexes on a table and the RDBMS ensures that they are always synchronized, which is something you won't achieve if you code the data structures yourself.
- mamcx 7y agoThis is the key. You can even say that we only have a small amount of abstract "shapes" of data: Scalars, list, tables(relations), tree/graph. You can build generalized operations on them and it will work even if the internal structure (ie: list can be done on top of vectors or linked list or tables or tree) differ. This is what I working on in my own little language (http://tablam.org http://tablam.org). Certainly requiere specialize per structure and some stuff is hard to generalize but the idea hold.