skip to main content
10.1145/1807167.1807191acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

Spreadsheet as a relational database engine

Published:06 June 2010Publication History

ABSTRACT

Spreadsheets are among the most commonly used applications for data management and analysis. Perhaps they are even among the most widely used computer applications of all kinds. However, the spreadsheet paradigm of computation still lacks sufficient analysis.

In this paper we demonstrate that a spreadsheet can play the role of a relational database engine, without any use of macros or built-in programming languages, merely by utilizing spreadsheet formulas. We achieve that by implementing all operators of relational algebra by means of spreadsheet functions.

Given a definition of a database in SQL, it is therefore possible to construct a spreadsheet workbook with empty worksheets for data tables and worksheets filled with formulas for queries. From then on, when the user enters, alters or deletes data in the data worksheets, the formulas in query worksheets automatically compute the actual results of the queries. Thus, the spreadsheet serves as data storage and executes SQL queries, and therefore acts as a relational database engine.

The paper is based on Microsoft Excel (TM), but our constructions work in other spreadsheet systems, too. We present a number of performance tests conducted in the beta version of Excel 2010. Their conclusion is that the performance is sufficient for a desktop database with a couple thousand rows.

References

  1. R. Abraham and M. Erwig. Type inference for spreadsheets. In PPDP '06: Proceedings of the 8th ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming, pages 73--84, New York, NY, USA, 2006. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. M. Burnett, J. W. Atwood, R. W. Djang, J. Reichwein, H. J. Gottfried, and S. Yang. Forms/3: A first-order visual language to explore the boundaries of the spreadsheet paradigm. J. Funct. Program., 11(2):155--206, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. E. J. Chesler, S. L. Rodriguez-Zas, J. S. Mogil, A. Darvasi, J. Usuka, A. Grupe, S. Germer, D. Aud, J. K. Belknap, R. F. Klein, M. K. Ahluwalia, R. Higuchi, and G. Peltz. In silico mapping of mouse quantitative trait loci. Science, 294(5551):2423, 2001. In Technical Comments.Google ScholarGoogle ScholarCross RefCross Ref
  4. H. Garcia-Molina, J. D. Ullman, and J. Widom. Database System Implementation. Prentice-Hall, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Grupe, S. Germer, J. Usuka, D. Aud, J. K. Belknap, R. F. Klein, M. K. Ahluwalia, R. Higuchi, and G. Peltz. In silico mapping of complex disease-related traits in mice. Science, 292(5523):1915--1918, 2001.Google ScholarGoogle ScholarCross RefCross Ref
  6. S. P. Jones, A. Blackwell, and M. Burnett. A user-centred approach to functions in Excel. In ICFP '03: Proceedings of the Eighth ACM SIGPLAN International Conference on Functional Programming, pages 165--176, New York, NY, USA, 2003. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Kassoff, L.-M. Zen, A. Garg, and M. Genesereth. PrediCalc: a logical spreadsheet management system. In VLDB '05: Proceedings of the 31st international conference on Very large data bases, pages 1247--1250. VLDB Endowment, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. L. Lakshmanan, S. Subramanian, N. Goyal, and R. Krishnamurthy. On querying spreadsheets. In ICDE '98: Proceedings of the 1998 IEEE International Conference on Data Engineering, pages 134--141, Orlando, FL, USA, 1998. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. B. Liu and H. V. Jagadish. A spreadsheet algebra for a direct data manipulation query interface. In ICDE '09: Proceedings of the 2009 IEEE International Conference on Data Engineering, pages 417--428, Washington, DC, USA, 2009. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Microsoft Corporation. Excel Home Page - Microsoft Office Online. http://office.microsoft.com/en-us/excel/default.aspx. accessed 20/10/2009.Google ScholarGoogle Scholar
  11. R. Mittermeir and M. Clermont. Finding high-level structures in spreadsheet programs. In WCRE '02: Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE'02), page 221, Washington, DC, USA, 2002. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. B. Ronen, M. A. Palley, and J. Henry C. Lucas. Spreadsheet analysis and design. Commun. ACM, 32(1):84--93, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. D. Wakeling. Spreadsheet functional programming. J. Funct. Program., 17(1):131--143, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. Witkowski, S. Bellamkonda, T. Bozkaya, G. Dorman, N. Folkert, A. Gupta, L. Shen, and S. Subramanian. Spreadsheets in RDBMS for OLAP. In SIGMOD '03: Proceedings of the 2003 ACM SIGMOD international conference on Management of data, pages 52--63, New York, NY, USA, 2003. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. A. Witkowski, S. Bellamkonda, T. Bozkaya, N. Folkert, A. Gupta, L. Sheng, and S. Subramanian. Business modeling using SQL spreadsheets In VLDB '2003: Proceedings of the 29th international conference on Very large data bases, pages 1117--1120. VLDB Endowment, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. A. Witkowski, S. Bellamkonda, T. Bozkaya, A. Naimat, L. Sheng, S. Subramanian, and A. Waingold. Query by Excel. In VLDB '05: Proceedings of the 31st international conference on Very large data bases, pages 1204--1215. VLDB Endowment, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. A. G. Yoder and D. L. Cohn. Architectural issues in spreadsheet languages. In Proceedings of the International Conference on Programming Languages and System Architectures, pages 245--258, New York, NY, USA, 1994. Springer-Verlag New York, Inc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. G. Yoder and D. L. Cohn. Real spreadsheets for real programmers. In H. E. Bal, editor, Proceedings of the IEEE Computer Society 1994 International Conference on Computer Languages, May 16--19, 1994, Toulouse, France, pages 20--30, 1994.Google ScholarGoogle Scholar

Index Terms

  1. Spreadsheet as a relational database engine

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          SIGMOD '10: Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
          June 2010
          1286 pages
          ISBN:9781450300322
          DOI:10.1145/1807167

          Copyright © 2010 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 6 June 2010

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate785of4,003submissions,20%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader