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.
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- H. Garcia-Molina, J. D. Ullman, and J. Widom. Database System Implementation. Prentice-Hall, 2000. Google ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Microsoft Corporation. Excel Home Page - Microsoft Office Online. http://office.microsoft.com/en-us/excel/default.aspx. accessed 20/10/2009.Google Scholar
- 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 ScholarDigital Library
- B. Ronen, M. A. Palley, and J. Henry C. Lucas. Spreadsheet analysis and design. Commun. ACM, 32(1):84--93, 1989. Google ScholarDigital Library
- D. Wakeling. Spreadsheet functional programming. J. Funct. Program., 17(1):131--143, 2007. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
Index Terms
- Spreadsheet as a relational database engine
Recommendations
IBM Relational Database Systems: The Early Years
The relational data model, proposed by E.F. Codd in 1970, inspired several research projects at IBM and elsewhere. Among these was System R, which demonstrated the commercial viability of relational database systems. This article describes the research ...
Modeling MongoDB with Relational Model
EIDWT '13: Proceedings of the 2013 Fourth International Conference on Emerging Intelligent Data and Web TechnologiesRelational databases have been prevailing for the last two decades, with features of clear semantics and ease of use with SQL supported by the underlying theory, relational algebra. Relational databases provide good support for structural data ...
Verification of Relational Database Languages Codes Generated by ChatGPT
ASSE '23: Proceedings of the 2023 4th Asia Service Sciences and Software Engineering ConferenceThe potential of using large language model artificial intelligence systems to generate program codes for application development is significant. Database codes in SQL (Structured Query Language), which is the standard relational database language, can ...
Comments