There was this recent Quora question about why we need RDBMS:
Why not just use text files? What can RDBMS do that a simple text file cannot? Or, why not use several different text files to represent different tables?
Heh. Let’s challenge that through a witty comparison (also given as an answer to the above question)…
Short story (not to be taken too seriously):
Some people just put their keys, wallets, make-up, letters, pencils, more make-up, change, and all the other stuff in a huge purse, spending hours to find stuff when we need to catch the train. Stuff, which they might have actually put in that other purse. Let’s call this purse the text file
I like to structure my stuff. My index says: Wallet in the back pocket, key in the front right pocket, mobile phone in the front left pocket, glasses on my nose. Let’s call this structure the RDBMS.
Long story:
This Quora question is really interesting in this context: Why did relational database technologies gain traction? What were the historical competing technologies?
Essentially, there had been a single most important driving force at the time, pushing RDBMS way ahead of all alternative storage models: Relational algebra itself, designed mostly by Edgar F. Codd, a brilliant computer scientist of his times.
Not only did popular relational database management systems take care of actually managing data, data structures, physical models, transactions, query models, a powerful query language (implemented as SQL, jOOQ, JPQL, LINQ to SQLand various other dialects / APIs), referential intergrity, constraint management etc, etc., they were also based on a very very powerful conceptual model and implementation rules (Codd’s 12 rules). The relational data model can easily model almost all business rules.
So, of course you can write your own data management system. Or you use a proven one that does millions of things for you according to very proven rules conceived by very bright people that got very rich with their systems.
Filed under: sql Tagged: Codd, Codd's 12 rules, Edgar F. Codd, RDBMS, relational data model, Relational database, relational database management, Relational database management system, relational database technologies, sql
