@conference {conf/pepm/CunhaSV09,
	title = {From Spreadsheets to Relational Databases and Back},
	booktitle = {Proceedings of the 2009 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation},
	series = {PEPM {\textquoteright}09},
	year = {2009},
	note = {<p>n/a</p>
},
	pages = {179{\textendash}188},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {<p>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.</p>
},
	keywords = {Bidirectional Transformations, Data Migration, functional programming, Haskell, Spreadsheets, Type-Safe},
	isbn = {978-1-60558-327-3},
	doi = {\url{http://doi.acm.org/10.1145/1480945.1480972}},
	url = {http://doi.acm.org/10.1145/1480945.1480972},
	attachments = {https://docentes.fct.unl.pt/sites/default/files/jmc-cunha/files/pepm09.pdf},
	author = {Cunha, J{\'a}come and Saraiva, Jo{\~a}o and Visser, Joost}
}
