@conference {conf/pepm/CunhaSV09, title = {From spreadsheets to relational databases and back}, booktitle = {Proceedings of the workshop on Partial evaluation and program manipulation - PEPM}, series = {PEPM {\textquoteright}09}, year = {2009}, month = {January}, pages = {179{\textendash}188}, publisher = {ACM}, organization = {ACM}, address = {Savannah, GA, USA}, abstract = {

This paper presents techniques and tools to transform spreadsheets into relational databases and back. A set of data refinement rules is introduced to map a tabular datatype into a relational database schema. Having expressed the transformation of the two data models as data refinements, we obtain for free the functions that migrate the data. We use well-known relational database techniques to optimize and query the data. Because data refinements define bidirectional transformations we can map such database back to an optimized spreadsheet. We have implemented the data refinement rules and we have constructed tools to manipulate, optimize and refactor Excel-like spreadsheets.

}, keywords = {bi-directional transformations, functional programming, Spreadsheets, type-safe data migration}, isbn = {978-1-60558-327-3}, doi = {http://doi.acm.org/10.1145/1480945.1480972}, url = {http://doi.acm.org/10.1145/1480945.1480972}, attachments = {https://haslab.uminho.pt/sites/default/files/jacome/files/pepm09.pdf}, author = {J{\'a}come Cunha and Jo{\~a}o Alexandre Saraiva and Joost Visser} }