Person 1: The customer wants a green background on this page.
Person 2: Do we know they're going to stick with green? Maybe we need a configuration option for background color.
Nobody wants to disagree and the manager (more...)
Today's essay deals with the tricky issue of custom features for individual customers who are running instances of your software.
The question comes by way of a regular reader who prefers to remain anonymous, but asks this:
... I work on a large (to me, anyway) application that serves as a (more...)
In yesterday's Rigorous Definition of Business Logic, we saw that business logic can be defined in four orders:
- First Order Business Logic is entities and attributes that users (or other agents) can save, and the security rules that govern read/write access to the entitites and attributes.
- Second Order Business (more...)
Update: the Second Post of this series is now available.
Update: the Third Post of this series is now available.
The Wikipedia entry on "Business Logic" has a wonderfully honest opening sentence stating that "Business logic, or domain logic, is a non-technical term... (emphasis mine)". If this is true, that (more...)
A database is not much without the applications that connect to it, and one of the most important factors that affects the application's performance is how it retrieves data from queries. In this essay we are going to see the effect of round trips on application performance.
This blog has (more...)
I generally do not reveal too many details about systems I design for customers or employers. This leaves me sometimes in a bind for example material. I either have to simplify it beyond what I would like, or make something up that I have not actually put into Production.
Good table design is a great foundation for a successful application stack. Table design patterns basically resolve into master tables and transaction tables. When we know a thing or two about the master tables (or entities if you prefer), we can infer a great deal about the transactions.
This blog (more...)
If you regularly code queries and have never been introduced to the windowing functions, then you are in for a treat. I've been meaning to write about these for over a year, and now it's time to get down to it.
Support in Major Servers
SQL Server calls these (more...)
Looping Without Cursors
Sometimes you need to process a table row-by-row, and the established approach is to use cursors, which are verbose, slow, and painful to code and use.
The Cursor Example
Here is the basic minimum syntax required to loop through a table and get something done. The (more...)
This week in the Database Programmer we look at something called an "UPSERT", the strange trick where an insert command may magically convert itself into an update if a row already exists with the provided key. This trick is very useful in a variety of cases. This week we will (more...)
If you look at any system that was born on and for the internet, like Ruby on Rails, or the PHP language, you find an immense wealth of resources on the internet itself, in endless product web sites, blogs, and forums. But when you look for the same comprehensive information (more...)