Een Spreadsheet met Database-Functionaliteit
Spreadsheets zijn handige instrumenten om, al proberende, een complexe berekening uit te programmeren.
Het onmiddelijk zien van testresultaten betekent dat dit werk minder abstract is dan programmeren, en daardoor kunnen zelfs technisch minder bedreven mensen (zoals managers) er mee werken.
Het is daarin veel succesvoller dan grafisch programmeren, waarbij bijvoorbeeld een icoon voor een lus wordt gebruikt, maar waarbij dezelfde abstracte denkstijl nodig is als bij het programmeren.
Spreadsheets zijn over het algemeen alleen uitgerust met rekenkundige operaties, zoals het bepalen van gemiddelden en het opmaken van balansen.
Daar is volgens mij geen andere reden voor dan traditie, en het zou weleens heel zinnig kunnen zijn meer informatica-gerichte operaties toe te voegen.
Zo worden spreadsheets bijvoorbeeld vaak misbruikt als database, `omdat het zo handig werkt'.
Helaas ontbreekt het hierbij aan de krachtige query operaties die een echte database wel biedt.
In dit project willen we daarom de krachtige query mogelijkheden, zoals je die kent van SQL, integreren in spreadsheets.
Dat moet kunnen met redelijke uitbreidingen op een bestaande spreadsheet.
Operaties die overeenkomen met de uitdrukkingskracht van SQL zijn al bekend onder de naam relationele algebra, en voorbeelden van zulke operaties zijn join en select .
We zullen dit project uitvoeren onder de GNU licentie.
Dat betekent dat we de spreadsheet Gnumeric als basis voor dit werk kunnen nemen.
Gnumeric is een geschikte spreadsheet voor dit project omdat het Open Source is, omdat het goed uitbreidbaar is, en omdat het via CORBA geneste documenten ondersteunt (bijvoorbeeld een database-tabel of een XML document).
Het is de bedoeling dat de studenten zich tijdens dit project actief in de ontwikkelcultuur rond Gnumeric mengen.
In dit project is ruimte voor een of twee studenten.
In geval er een tweede student intekent, zullen we proberen een sterkere link te leggen naar import en export van documenten uit SQL databases en in XML formaat.
Voor meer informatie over deze opdracht kun je contact opnemen met Rick van Rein.
|