Many moons ago, in my first CS classes – I was introduced to set theory. To me, this is a very natural and logical way of looking at objects. The theory is applied often in mathematics and is very relevant in many domains.
Then came along my introduction to relational database management systems (DBMS). I saw the direct correlation between sets and the DBMS. Again, a very natural way of looking at data. Over the years, after developing many systems, I once again struggle over set processing and flow processing; where the later refers to writing a program to iterate over the objects or data points.
Why am I telling this story? I have a great tool that is basically a big set engine. You configure the engine by defining sets and by using SQL, derive your solution. It is very dry and simple. I too like the ability to see operations applied one record at a time – but at this point in my busy schedule – if I don’t need to write custom applications (plus all the time to deploy), using my proven set tool allows me to focus on the business requirements at hand. Also, I found that by truly understanding the data provides insight into architecting the solution.
To look at the world as a collection of objects in a set, manipulate the set through their relationships, in a relational DBMS may solve 80% of my project trials. I will take it and use the other 80% of my time on the last 20% that require complex business logical processing.
Thank You for listening.