goodguy (11/8/2010)
I believe that programmers, especially freelancers like me, need to embrace basic sql admin skills in order to leverage their output.
Admin, no mostly not (unless they're in a small company and are wearing 2 hats). Database development, yes.
That is why I asked if we could get an abridged lesson covering the important topics in moderate detail.
Certainly. When would you like us to get started on those 400-800 pages?
I'm not joking. To cover any one of those topics in moderate detail is a large amount of work.
For the record, in defence of programmers, I have to say that while DBAs are expert at administering and maintaining database servers, few of them would have comparable skills in database design/development, which remains a forte of teh best programmers.
I would beg to differ. The majority of front end developers that I've worked with (full time, as a consultant and in the community) have had little to no database design skills at all (though they would generally disagree with that assessment), regardless of their skill as a front end developer.
To do database design, you have to be familiar with set-based logic, normalisation forms and the features and limitations of the database you're designing for. None of those are things that the majority of front end developers have.
I wouldn't try designing a n-tier enterprise application. I don't have the skills, I'm a database developer (designer, etc), not a application developer/architect. Why do front end devs think that they can automatically design databases?
Right, so some basics:
Database design: Any one of Louis Davidson's database design books.
Basic T-SQL: T-SQL Fundamentals by Itzik Ben Gan
Security: TRy this: http://www.mssqltips.com/author.asp?authorid=25
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability