historically, what made relational databases popular?

前端 未结 5 2170
栀梦
栀梦 2021-02-07 22:32

EDIT I\'ve just started skimming Codd\'s famous 1970 paper that started it all, that Oracle was based on (A Relational Model of Data for Large Shared Data Banks [pdf]),

相关标签:
5条回答
  • 2021-02-07 23:14

    From my knowledge, it is the normalization theory (the well known Codd's Third Normal Form) to define relational data model that is easy and efficient for storing and retrieving. This followed by the Standard Query Language (SQL) which allows it to be used across all the relational db system. Standardization was definitely lacking back then which also make this appealing to many.

    0 讨论(0)
  • 2021-02-07 23:19

    One key was the self contained products - you no longer had to manually define and maintain your key files (indexes) and the ability to change the data model with less effort. Combine that with the SET based structures made it a compelling product set to work with. Combine the SQL language on top of that to return data and it was a win-win situation over traditional ISAM data structures primarily associated with COBOL languages.

    0 讨论(0)
  • 2021-02-07 23:27

    For the same reason why the script languages are popular.

    You can make a query with your favorite text editor and just issue it, without bothering about the actual physical schema.

    It's not the fastest model, not the most reliable model — it's just the most productive model. You can write ten times as many queries in an hour.

    You may want to read this article in my blog which compares the most popular database models:

    • What is a relational database?
    0 讨论(0)
  • 2021-02-07 23:32

    The concept of making a logical representation of data abstracted from its physical representation was perhaps the most game-changing aspect of Codd's idea. He was apparently the first person who fully realised the benefits of separating logical and physical concerns and therefore the first to devise a data model worthy of the name. By describing a model based on relations, without navigational links or pointer structures he also created something uniquely powerful, flexible and of lasting relevance.

    To be accurate it must be said that it was the SQL model rather than the relational one which eventually proved more successful commercially. SQL is a long way from a truly relational data model or language even though it would not have come into being without Codd's ideas to inspire it. The relational model's creator was naturally disappointed that SQL rather than relational became the database standard. Four decades later I think we have plenty of cause to regret that Codd's relational model isn't better supported by DBMS software.

    0 讨论(0)
  • 2021-02-07 23:34

    I believe that none of the answers really nailed it, as you are interested about historical aspect of it.

    If I were to single out a reason I would say Quassnoi was close, but SQL was not just any language - it has one great feature that was not common in 70s:

    • it is declarative, it describes what you want to get and does not prescribe how to do it

    I don't think it is possible to overstate this.

    of course, the relational model is also big factor (and is related to the above)

    • also not all databases that have a schema are only about data; hierarchical and network databases are also about how to get data, their structure determines the most efficient method to access data and therefore structure influence how will you model the problem (in another words modelling process is influenced by the way application will use it; this has an effect that another application that might need to use IMS for example would be in a severely disadvantaged position, or that some changes in the application would not require changes in the database design to achieve good performance - for example a need to sort by some new column)

    note: on some of the above intentions SQL and 'R'DBMSes did not fully deliver (and/or other models overcame their problems in some way), but these were initial intentions and considering how stable SQL was in past ~40 years (here is a link to IBM's paper from 1974) or so it did not do such a bad, bad job either.

    There is also this quote from here

    “Ted’s basic idea was that relationships between data items should be based on the item’s values, and not on separately specified linking or nesting. This notion greatly simplified the specification of queries and allowed unprecedented flexibility to exploit existing data sets in new ways,” said Don Chamberlin, co-inventor of SQL, the industry-standard language for querying relational databases, and a research staff member at Almaden. “He believed that computer users should be able to work at a more natural-language level and not be concerned about the details of where or how the data was stored.”

    At a 1995 reunion of IBM’s early relational database scientists, Chamberlin recalled having an epiphany as he first heard Codd describe his relational model at an internal seminar.

    “Codd had a bunch of fairly complicated queries,” Chamberlin said. “And since I’d been studying CODASYL (the language used to query navigational databases), I could imagine how those queries would have been represented in CODASYL by programs that were five pages long that would navigate through this labyrinth of pointers and stuff. Codd would sort of write them down as one-liners. ... (T)hey weren’t complicated at all. I said, ‘Wow.’ This was kind of a conversion experience for me. I understood what the relational thing was about after that.”

    I seem to remember a transcript of an interesting interview about begging of SQL but can't track it down..

    0 讨论(0)
提交回复
热议问题