My latest project is tool that prospective clients can use to determine what product they should buy from TSYS.
It looks like a periodic table – only upside down. It is very strange but supposedly very useful. I don’t deal with that stuff so I would not know. It was fun to make though.
All of the data that this tool uses would fit neatly in a relational database. Because of constraints in sharepoint, it can not live in a database. Sharepoint uses something called a list, to store user created data.
So where was I going to store all this data? An idea came to me: you could create several lists in Sharepoint then enforce a relationship between then. With out the help of a DBMS your program needs to maintain this relationship.
This wasn’t too hard. Instead of your traditional insert, edit, delete and select statements, I created functions that did this for me. These functions also ensured that foreign key were correct and that I wasn’t inserting a string when it should be an int.
The hard part came when I started running joins against this data. This involved lots of loops and it was very slow (I have learned to respect anyone that creates a true dbms – it must be very difficult). A general rule in web development is pages shouldn’t take longer than 3 seconds to load. Mine took up to 10 seconds to load.
All that’s left now is creating a better administrative tool and making it look pretty. :)