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...)
It seems strange to me that I've been working on this blog for 3 years or so (with one very long break) and somehow never got around to writing a simple list of skills that all database experts need. So here it is!
Various Job Tiles for Database People
This week The Database Programmer returns after almost 18 months with an entry on using Common Table Expressions (CTEs) to do recursive queries. Relational databases were plagued from their inception with a lack of meaningful treatment for recursive operations, and CTEs have finally plugged that hole.
Common Table Expressions appeared (more...)