In a previous post, I discussed a few broad-level topics that DBAs need to know about working with database systems. Today I thought I would describe the topics developers need to know about databases to work with them efficiently.
Let's start by pointing out the obvious – the developer needs to know how to code! Just as l advised the DBAs, however, the developer should know at least two programming languages. The reason is that having mulytiple languages under your belt provide options, and it also gives a different perspective or how to perform a task.
The developer needs to be familiar with the SQL dialect on their platform. While it is possible to work strictly with data objects and sets, there will come a time when going directly to SQL makes sense. Know your standard ANSI/ISO SQL, and then the extensions your platform provides.
Something often overlooked by developers is to understand the features on the database platform. Live seen code written to perform ETL tasks without considering the features in the plat form that do the same thing. Sure, there are times when that’s appropriate, but not just because the developer didn’t research the platform a little.
If the DBA doesn’t do it for the team, the developer needs to know effective data design. A poorly-designed data layout is very difficult to work with effectively, and almost impossible to fix later without a lot of pain.
The developer needs to push the specification designer to show exactly the data needed for each return. The largest problem /see in performance tuning is getting more data than you need.
Developers need to work with the DBA. The DBA team is there to support not only to support development, but multiple parts of the organization. That can bring up conflicting goals, and a little understanding on both sides goes a long way.