1 / 18

Spreadsheet As a Relational Database Engine

Spreadsheet As a Relational Database Engine. Jerzy Tyszkiewicz Institute of Informatics University of Warsaw. In the beginning there was data …. …and a query…. SELECT name , AVG (income) FROM I ncomes GROUP BY name HAVING COUNT ( *)>3. …and a user.

Download Presentation

Spreadsheet As a Relational Database Engine

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Spreadsheet As a Relational Database Engine Jerzy Tyszkiewicz Institute of Informatics University of Warsaw

  2. In the beginning there was data…

  3. …and a query… SELECT name, AVG(income) FROM Incomes GROUP BYname HAVING COUNT(*)>3

  4. …and a user I want to do that in a spreadsheet! • I know Excel, I do not know Access • MS Office with Access is more expensive • There are no databases on the cloud • I’m afraid of real big databases Illustration ChrisL_AK, Flickr

  5. Bill Gates spokeaboutthatuser… A lot of users today find the true databases complex enough that they simply go into either the wordprocessor, with the table-type capabilities, or into thespreadsheet, which I'd say is a little more typical, anduse that as their way of structuring data. And, of course, you get a huge discontinuity because, asyou want to do database-type operations, thespreadsheet isn't set up for that. And so then you have to learn a lot of new commands and move your data into another location.

  6. …in his keynotespeachat SIGMOD ‘98 What we'd like to see is that even if you start out in the spreadsheet, there's a very simple way then to bring in software that uses that data in a richer fashion, and so you don't see a discontinuity when you want to move up and do new things. But that's very easy to say that. It's going to require some breakthrough ideas to really make that possible.

  7. Google spreadsheet can do that • SQL-like syntax • comfortable interface but • no HAVING clause • no JOIN • no UNION, EXCEPT

  8. Then there was more data…

  9. …and another query… SELECT Families.id,Families.name,AVG(Incomes.income) FROM FamiliesJOINIncomes ONFamilies.id=Incomes.id GROUP BYFamilies.id,Families.name HAVING COUNT(*)>3

  10. …and still the same user I want that again in a spreadsheet! Illustration ChrisL_AK, Flickr

  11. Can spreadsheets do that? • Google spreadsheet can do that! • And OpenOffice! • And gnumeric! • And Excel! • And almost every other spreadsheet, too!

  12. General theory Theorem Every query in Relational Algebra can be implemented in a spreadsheet. Also every query in SQL can be implemented in a spreadsheet.

  13. Maintheoreticalcontribution Spreadsheets can: • store relational data • execute SQL queries Therefore: Spreadsheets are relational database engines

  14. Performance in Excel time in seconds many-to-manyjoin many-to-one join no join no Families size of Incomes in thousands

  15. Mainpracticalcontributionsinanswer to Bill Gates (Excel) • Spreadsheets can serve as low-end relational database engines • Small databases of a few thousand tuples can be used in practice • A method to offer databases on the cloud

  16. Suggestions • Elements of database methodology can be transferred to the spreadsheet design • Need of optimization of certain spreadsheet functions

  17. Related research • Filling the gap between spreadsheets and databases from the database direction • We fill that gap from the spreadsheet direction

  18. Thank you!

More Related