The relational model was a theoretical proposal, and many people at the time doubted whether it could be implemented efficiently. However, by the mid-1980s, relational database management systems (RDBMSes) and SQL had become the tools of choice for most people who needed to store and query data with some kind of regular structure.
Although SQL stands against the test of time well and are used wildly, in the 2010s, NoSQL is the latest attempt to overthrow the relational model's dominance. The driving forces behind the adoption of NoSQL databases includes:
There are different advantages and drawbacks on choosing between SQL and NoSQL, such as complexity of application code, schema flexibility, data locality... etc. An application should wisely choose which model to use based on its own need and the context.
SQL is a declarative query language, as it followed the structure of relational algebra. An imperative language tells the computer to perform certain operations in a certain order. In a declarative query language, however, you just specify the pattern of the data you want—what conditions the results must meet, and how you want the data to be transformed, then the query will fetch for you.
In the property graph model, each vertex consist of:
Each edge consist of: