Recent Changes - Search:
ECG Home

GitHub

People

Publications

Calendar

Projects

Fall 2017

Older Courses

Spring 2017

Fall 2016

Spring 2016

Fall 2015

Spring 2015

Fall 2014

Spring 2014

Fall 2013

Spring 2013

Fall 2012

Spring 2012

Fall 2011

Spring 2011

Fall 2010

Spring 2010

Fall 2009

Spring 2009

Fall 2008

Spring 2008

Fall 2007

HOWTOs

edit SideBar

Scheme-Amp-SQL-Database-Interactions

Rohan Golwala
December 10, 2008

Overview

The project aims to build an interface with a Database Server (PostgreSQL) running on a local host system which is controlled using the Scheme language which serves as an interface. It aims at performing the basic SQL queries as well as some higher-order query methods to help process results.

Screenshot

Concepts Demonstrated

  • "Data Abstraction" as a concept in using the "map" and "filter" procedures in working with the SQL data.
  • "Lists" are also used as an arguments for many functions.
  • The use of the "lambda" procedures in many functions using the concept of "Functional Programming".

External Technology

The project integrates with SQL technology making use of a Database Server Software named 'PostgreSQL' which communicates with Scheme language. We can perform basic queries such as creating a table, insert data into table, etc. as well as high-order queries on the data in the Database Server using Scheme environment making use of the libraries such as "class.ss" and "spgsql.ss".

Innovation

The innovative thing that I did in the project was that I created complex querries using the simple SQL queries which lead to the concept of a "view" with the help of a primary key. The thing that was most innovative was that I displayed data from two different tables simultaneously in a single query which was interesting. Also, I used the map, filter, fold etc. functions which works also with the SQL queries which was interesting. Thus, I used the concept of these functions to perform some complex but rather easy operations. Lastly, I also worked on formatting the output which worked really well and hence the output looked organised. Also, I worked on creating a secured connection to the server which required a password.

Technology Used Block Diagram

Additional Remarks

I would like to thank the PLT-Scheme group immensely as they have been very helpful in making this project a success. There is no direct SQL library which you can start using immediately. I had to test it and search for it a lot. The main concept in the project was to set up a connection with the database which took a lot of time to figure it out. Once, that was done the rest of the things were rather easy and achievable compared to the previous operations.

Edit - History - Print - Recent Changes - Search
Page last modified on December 11, 2008, at 02:06 AM