What is the difference between Microsoft Excel, and a RDBMS implementation?
Excel is a spreadsheet application. Yes, it has rows and columns of numbers, text and formulas, and it has some data functions like sorting. A Relational DataBase Management System deals more with the storage and relationships of datum. http://en.wikipedia.org/wiki/RDBMS
A few big differences: - RDBMSes are designed to run as servers. Even the UIs for them speak a certain protocol and talk to the database over a network. - RDBMSes are designed to deal with large amounts of data. Until relatively recently, Excel was limited to 65535 rows of data, for example. That's since gone up, but it is still not designed to be a straight database. - RDBMSes typically do calculations as part of a query. Excel triggers calculations whenever a given field changes.[1] - Relational DBMSes typically focus on providing ACID semantics: Atomicity, Consistency, Isolation, and Durability. Consistency and isolation refers to any given data update occurring in such a way that anyone querying before the update completes will see the database as if the update had not been run at all, while after the update completes all of its changes are visible. Atomicity is related, and deals with the fact that if any part of an update fails, the entire update should be rolled back. An update should never happen halfway. Durability refers to the fact that once an update is done, a database crash should not erase those changes. Data updates in this sense are referred to as transactions, and can (and often do) involve multiple actual changes to the database. - RDBMSes let you do complex composition of data. For example, if you have two tables, you can join them based on a field that they share in common, so that you end up with a query that returns virtual rows with data from multiple tables. You can also run queries that rely on the results of other queries. There are a variety of other functionalities. In short, it's entirely possible that, mathematically speaking, you can do anything in Excel that you can do in an RDBMS. In fact, I guarantee it, because Excel can be programmed in a Turing-complete language. However, Excel is typically designed for manipulating numbers with basic calculations, while RDBMSes are designed to let you do complex composition and relation of disparate data with maximum reliability. [1] Most RDBMSes have a concept (typically called a trigger) that allows similar functionality to Excel, but this is not the default way of doing calculations.
Join our real-time social learning platform and learn together with your friends!