tags:

views:

1769

answers:

21

How do SQL developers go about keeping up on current techniques and trends in the SQL world? Are there any blogs, books, articles, techniques, etc that are being used to keep up to date and in the know?

There are a lot of opportunities out their for OO, procedural, and functional programmers to take part in a variety of open source projects, but it seems to me that the FOSS avenue is a bit more closed for SQL developers.

Thoughts?

+1  A: 

While not a SQL Server expert, in general I find that community based events are great ways to keep up on current patterns. The underlying result of participating in a community of developers/DBAs/Marketing Pros/insert profession here is that you are learning new thought patterns and excercising critical thought. This is a great way to grow as whatever professional you are.

Rick Kierner
+2  A: 

How about http://sqlblog.com/

Taveren
+3  A: 

The thing about the SQL language is that it is pretty much a static target. Pretty soon you are looking at increasing your understanding of set theory and the problem domain itself rather than the details of the language.

The real meat is on either side of the language, in either the databases themselves (how to store, retrieve, and organize large data sets) or in the applications (with ORMs and such)

toast
+5  A: 
mattruma
A: 

To be honest, I don't see much a need for extreme SQL skills. Once I can create transactions (for DB consistency) and basic triggers (for cross-table consistency), I'm usually fine keeping program logic... in the program, and not putting it into whatever database I'm using. I've not found much depth to SQL worth investigating for a lifetime, unlike general programming, which keeps expanding in depth.

Thelema
Improving SQL skills can help you keep the sorting and filtering closer to the data and out of the application. This can greatly improve performance. Also, sometimes queries do not produce what is expected, or are too slow. Learn to read plans for this.
Grant Johnson
Sorting and filtering seem like pretty basic SQL skills to me. I agree that one should be able to fix your SQL to gain efficiency, but I find some people putting too much program logic into the database.
Thelema
A: 

SQL developers, or DBAs?

Aside from learning different dialects of SQL (Oracle, SQL Server, etc) in your day to day work, SQL doesn't actually change all that much. Sure you can bring in more advanced concepts as you develop your skills, work out where to implement stored procedures, etc, but in the end it's just SQL. The most important thing is to get your schema correct and maintainable.

Now administering the databases is a whole different thing, with a range of tools, and the database software itself getting updated every few years. Oracle at least have newsletters and websites and magazines that presumably include lots of information and examples and best practice scenarios.

JeeBee
+2  A: 

I improve by analyzing slow and complex queries and looking for ways to improve them. This can be done in SQL Server by analyzing the Query Plan tools and looking for bottlenecks. Also I find the Visual Quickstart Guide guide to be good for quick reference.

Turnkey
A: 

Best thing I've run into is working on other people's SQL code. Especially legacy business code. You want to test your skills against something, start changing some "voodoo code" that no one else understands. :)

Beyond that, I just try to keep an eye on changes with new releases of SQL and see if there's anything I can take advantage of.

Kevin Fairchild
A: 

gleam tips when using phpmyadmin it's nice and verbose

px
+1  A: 

There aren't current techniques and trends in SQL. There's only that stuff you should already know but don't. The proper way to learn that stuff, is pain... so much pain.

David B
A: 

Join a mailing list for the DB flavour you use...or lurk on stackoverflow ;)

Kev
+1  A: 

Joe Celko's SQL Puzzles and Answers and SQL for Smarties are the two best generic SQL books out there. Both are great sources to give you ideas for that tricky problem you used to think you needed a cursor or some client library to accomplish. For any truly interested SQL geek, these book are also pretty good for casual reading rather than as a mere desk reference. Two thumbs up.

Chris Farmer
A: 

Here is one with some interesting SSIS information. http://blogs.conchango.com/jamiethomson/default.aspx

There is also some good information in the Wiki here: http://wiki.lessthandot.com/index.php/Main_Page

For those who say SQL never changes, SQL Server 2005 and 2008 have some huge changes in the T-SQl that will help solve some difficult problems that were horrible to do in SQL Server 2000 and are much easier once you learn the new syntax, so yes there is stuff to keep up with.

Also performance tuning and SSIS are extremely complex subjects with much to learn.

I do find that developers who choose not to learn advanced SQL skills tend to write poorly performing SQL code and once the number of records grows in their databases, the applications they wrote tend to become glacially slow and very difficult to fix at that point. Right now I'm working with developers to fix some bad code they wrote that is causing timeouts on the site on virtually every query. Obviously, this is now an emergency and it would have been easy to write the code in a more efficeint manner at the start if the developer had better SQL skills.

HLGEM
A: 

I've never heard of the term "SQL developer." SQL should be a skill in your toolbox, like sorting, whatever framework you like, JavaScript, and so on. The best way to continue to improve your SQL skills to continue using it.

Robert S.
A: 

As a developer, and not a DBA, I keep an eye on various developer resources, and that often is DB related, but I don't specifically 'try to keep up'.

I know plenty, but I also know that there is so much more that there is to know. And in every project I have to learn something new. And every project also involves me taking a different approach to a similar task I'd encountered in the past.

Should I ever get to the stage where I think I'm doing the same things all the time, perhaps I'll make a concious effort to take specific steps. But currently, and for the foreseeable future, I'm learning organically, on-the-job, and as my projects dictate.

CJM
A: 

Reading:

Books - Celko (also read across to some Oracle-biased books) Blogs - the above mentioned, plus SSWUG

Webinars and Conference - Best way to keep up with vendor-specific stuff like SSIS/SSRS/SSAS

Practice:

Improving code (mine and others)

Refactoring

Mentoring/training other developers

Cade Roux
A: 

Honestly, it's one of those things that you just get better at with time. Read as much as you can to know what's possible. Some things will take a while to really understand. I was scared off by sub queries for a long time until I pretty much had no choice but to use them.

When you get more experiance and need to do more complex things, you will just learn your way.

Charles Graham
A: 

SqlServerCentral - great source of articles, scripts, advice

Unfortunately to access the articles you need to register (it is free though)
I guess one thing they could learn from StackOverflow is to remove login barrier

kristof
+1  A: 

Most "current" stuff is not SQL itself, but how the database stores the information, and how to retrieve it more quickly. Check out this other thread: http://stackoverflow.com/questions/23927/what-are-some-references-lessons-and-or-best-practices-for-sql-optimization-tra

The only real bleeding edge is in query planning, index structures, sort algorithms, things like that, not the SQL itself.

Grant Johnson
+1  A: 

The fact that you asked this question is already a good sign. Avoiding complacency is "piece of advice #1". There is no substitute for writing and optimizing SQL. Practical use is the best way to stay sharp, but there is a risk of a "forest for the trees" scenario, where we tend to use what is comfortable and familiar. Trying new tactics, examining new approaches, and looking for new ways to train our brains to think about sets, SQL, relational theory, and staying on top of new developments in the particular dialects we employ are all hallmarks of good SQL developers.

There are many good blogs out there these days. I work mostly in the Microsoft arena, so I like SQLTeam.com.

Usenet is a good place to hang out and make a contribution. There are many SQL-related newsgroups. Often, you will find that working on someone else's problem helps you learn a new tactic or forces you to research a dusty corner of the language that you do not encounter every day. ISPs seem destined to shut all of the Usenet down, though, because of nefarious use, so this one may be going the way of the Dodo bird.

Also, some IRC servers have a vibrant sql channels where you can make the same sort of a difference (just take a thick skin with you).

Lastly, this very website might be another place to hang, where you can read over the answers to difficult questions, see how that might apply in your own world, practice the techniques, and internalize them. Contribute too, because seeing how others vote your solutions up or down is 100% pure honest feedback.

Of course, there are many wonderful books out there, too. Anything by Celko is a winner, and on the SQL Server side, Kalen Delaney and Ron Soukup have written some winners.

Pittsburgh DBA
+2  A: 

I skimmed the answers and apparently nobody has mentioned Stephane Faroult's work.

I strongly suggest you should consider "The Art of SQL" (http://www.amazon.com/Art-SQL-Stephane-Faroult/dp/0596008945), I found it really interesting and - amazingly enough, even fun to read.

p.marino