Training for those new to SQL

  • Howdy folks,

    Well, I seem to have had a very nice stroke of good luck as I have been offered a position with a small company as their lone IT person. Namely they need me to take their current system of quoting and invoicing and create a DB application. The only downside is I have zero experience as an IT person, much less a DBA. I'm not without any credentials, I have created virtually all the spreadsheet apps they use now for their quoting system, and I'm probably on par with most desktop support folks. The only new things I will be jumping into is the Windows Server environment, and of course SQL Server.

    I've gotten my hands on the full feature evaluation copy of SQL 2008 and also Visual Studio 2008. And have been making my way through a T-SQL book. I haven't really touched VS yet, just been working on learning the basics of SQL.

    My question is how would you guys suggest I go about getting trained for this job? The company is paying for training, but they would like to keep the costs reasonable so I don't quite have an open checkbook. I've read through a couple dozen articles on this site as well as a few others for ideas, but more info may be helpful.

    So far I've come up with taking a Network class as well as a class on Server03 to learn a little about network environments, Active Directory, etc. After that I'm not entirely sure of how to plot my class course. SQL Server training next? Courses on database theory/design? I am a little concerned about learning how to design a database, there doesn't seem to be many classes for that.

    The first system I create will be small and not do much more than generate some quotes and keep a log of all quotes. Later the system will need to grow to store data of all transactions (quotes and sales), invoicing, customer information, and even a full financial package (AP/AR, etc). Thats years down the road, but I need to have a good foundation from the beginning.

    Thanks for any advice you might have.

  • I can't really recommend any classes to take, since I'm completely self-taught on the subject.

    I can recommend getting a copy of the SQL Server Bible (you can find it on Amazon). That made all the difference in the world for me when I was starting out.

    The main thing I can recommend is spend time on this site. Ask questions here. You'll get a ton of help from some very bright, very competent people.

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • Sounds like you have your hands full. Personally I would take stock and look at the environment you will be supporting. looks like you will be network admin, developer, server support and DBA.

    Before you think about training, work out your duties and then decide what tools you need to learn and then think about training. If you need to develop an application, should it be web based or a desktop application. even if you think about using Visual Studio, you will need training in c# or vb.net, maybe ado.net. big subject.

    For someone with no sql experience, working with sql 2008 is big step, as you already know, courses are not really designed to help you create a database. I would suggest getting a few books to cover the basics and then go on an instructor based course when you hit your learning limit. you can always post any questions you have here and we will do what we can to help you.

    --------------------------------------------------------------------------------------
    [highlight]Recommended Articles on How to help us help you and[/highlight]
    [highlight]solve commonly asked questions[/highlight]

    Forum Etiquette: How to post data/code on a forum to get the best help by Jeff Moden[/url]
    Managing Transaction Logs by Gail Shaw[/url]
    How to post Performance problems by Gail Shaw[/url]
    Help, my database is corrupt. Now what? by Gail Shaw[/url]

  • Thanks for the ideas guys.

    Silverfox, yes I will indeed have my hands full, as I will be all of those things you listed at some point. They have a consultant on retainer that fixes any server issues that come up and there are a couple folks at each office that act as de facto server admins now (doing backups, fixing minor problems). But my main focus for the first year will be to get this new application going.

    I already know a small amount of VB and C#, but its self taught and I'm sure the code I've created would cause snickers and outright laughter from a professional programmer. I will be spending the first week or so sitting in with their staff to learn how they do their job. That will hopefully give me some idea of what kind of application to create for them. Web based vs Win forms is still a debate, but the users of this application are all in one office and have never needed to do this work while on the road (not even sure they do any travelling for their jobs).

    I want to get the database knowledge first so that I can setup a good foundation for future expansion of the system. Then once a plan for the database is established decide which language/platform to create the application and get the training for that. I assume this is the best route, but if I need to be thinking of the entire package all at once, then please say so.

    Thanks again guys.

  • mstevens92 (11/4/2009)


    Thanks for the ideas guys.

    Silverfox, yes I will indeed have my hands full, as I will be all of those things you listed at some point. They have a consultant on retainer that fixes any server issues that come up and there are a couple folks at each office that act as de facto server admins now (doing backups, fixing minor problems). But my main focus for the first year will be to get this new application going.

    I already know a small amount of VB and C#, but its self taught and I'm sure the code I've created would cause snickers and outright laughter from a professional programmer. I will be spending the first week or so sitting in with their staff to learn how they do their job. That will hopefully give me some idea of what kind of application to create for them. Web based vs Win forms is still a debate, but the users of this application are all in one office and have never needed to do this work while on the road (not even sure they do any travelling for their jobs).

    I want to get the database knowledge first so that I can setup a good foundation for future expansion of the system. Then once a plan for the database is established decide which language/platform to create the application and get the training for that. I assume this is the best route, but if I need to be thinking of the entire package all at once, then please say so.

    Thanks again guys.

    To be honest, I would concentrate on the database side. I have carried out all the duties that you will be doing, and the database will take the more learning curve. application development can be picked up easily, but if your database knowledge is lacking you will make mistakes which will impact on everything else. I would think about a year plan for example, and plan what you hope to achieve and when. when everything is down on paper, it will be easier to work out where your priorities will be and what training will be needed now and what in the future.

    --------------------------------------------------------------------------------------
    [highlight]Recommended Articles on How to help us help you and[/highlight]
    [highlight]solve commonly asked questions[/highlight]

    Forum Etiquette: How to post data/code on a forum to get the best help by Jeff Moden[/url]
    Managing Transaction Logs by Gail Shaw[/url]
    How to post Performance problems by Gail Shaw[/url]
    Help, my database is corrupt. Now what? by Gail Shaw[/url]

  • Geez! Sounds like you are jumping into the fire head first!

    I have been wearing many hats for the same company for over 20 years.

    We started with an Alpha Micro mainframe and a relational database written in BASIC!

    Lots of windows operating systems and data base designs have come and gone since we began using microsoft products and networking.

    I was the only person that maintained the hardware and developed the software for ALL our projects.

    Keeping up with Networks and databases has been a real challange.

    My consentration now is on database project development.

    Way too much to keep up in all aspects of a company's requirements.

    We now have an outside consultant to handle networking, employee support and hardware.

    I have my hands full with over 150 databases and frontend applications a year.

    I second the suggestion on mastering your database and application develoment and let someone that specializes in networking handle the employees and server issues.

    Your employer would have to make an offer I couldn't refuse, for me to jump head first into the fire :hehe:

    "When in danger or in doubt. Run in circles, scream and shout!" TANSTAAFL
    "Robert A. Heinlein"

  • Hi Silverfox, you mentioned - application development can be picked up easily.

    WOW, you must be a natural at learning C#, VB, delphi, C++. From my experience software development has a much bigger learning curve than SQL.

  • clive-421796 (11/5/2009)


    Hi Silverfox, you mentioned - application development can be picked up easily.

    WOW, you must be a natural at learning C#, VB, delphi, C++. From my experience software development has a much bigger learning curve than SQL.

    depends I started learning databases when i was 16 years old, in my late 30's now. i was a database developer for over 10 years. i started playing around with coding when i was 11 years old. but that is beside the point. i was being completely honest in my replies.

    I can code in any development tool, but for this op, he can get the training he needs for doing development, and writing small systems is a lot easier than understanding database theory, all the database tools and administration. speaking as a sql server and oracle DBA, I can say it is harder than being a developer. you can go on courses specifically to create web based applications, being a dba requires experience that you cannot pick up from courses. you can make mistakes and have sloppy coding as a developer. you cannot make mistakes as a DBA. if you are writing applications that connect to a database, the efficiency and supportability of the database will depend on you database knowledge. that is why i consider database knowledge to be important.

    --------------------------------------------------------------------------------------
    [highlight]Recommended Articles on How to help us help you and[/highlight]
    [highlight]solve commonly asked questions[/highlight]

    Forum Etiquette: How to post data/code on a forum to get the best help by Jeff Moden[/url]
    Managing Transaction Logs by Gail Shaw[/url]
    How to post Performance problems by Gail Shaw[/url]
    Help, my database is corrupt. Now what? by Gail Shaw[/url]

  • mstevens92,

    To a certain extent, designing applications and databases is an art which requires experience. In addition to the above advice I would strongly suggest you join local .Net and SQL user groups with the object of finding an experienced freelance database developer you trust. I would then use your training budget to hire that developer as a mentor. This could initially be for two or three days to get you going with:

    1. some basic object oriented analysis and design.

    2. a database schema.

    3. an outline program.

    After that, you may want to bring the developer in once a month to give you pragmatic advice on any problems you are having.

    Good luck!

  • Good advice, mentioned in previous post. might be easier if you can get into the local user group in your area, will be cheaper and you will learn faster.

    --------------------------------------------------------------------------------------
    [highlight]Recommended Articles on How to help us help you and[/highlight]
    [highlight]solve commonly asked questions[/highlight]

    Forum Etiquette: How to post data/code on a forum to get the best help by Jeff Moden[/url]
    Managing Transaction Logs by Gail Shaw[/url]
    How to post Performance problems by Gail Shaw[/url]
    Help, my database is corrupt. Now what? by Gail Shaw[/url]

  • Hi Silverfox, here's a question. I have 5yrs + SQLDBA experience, of that 1 yrs SQL Reporting + SSIS experience. I want to add some C# development skills. Which route do you recommend (how do I go about learning C# quickly - dont want to spend years achieving my goal). I am not lazy, so I dont mind coming from work and spending 3-4 hrs a day studying C# (But I dont want to spend months learning C# nice to know theory stuff). I want to get coding - hopefully in 3 mths write some really good programs, unfortunately the internet has so much fluff and very little 'real' hands-on practical examples to learn C# code quickly.

    Can you and the rest of the guru / knowledgeable developers out there provide some assistance ?

    I am sure there is plenty more SQL DBA's out there that want to ask the same question.

    Thanks in advance.

  • As you have a strong SQL background, I think the best way to start with .Net is learn ADO.net 3.5.

    If you know ADO.net well you should be able to get a job as a development DBA working on data persistance and SQL server. Once you are in a development environment you should get an opportunitiy to expand you .net skills.

  • clive-421796 (11/6/2009)


    Hi Silverfox, here's a question. I have 5yrs + SQLDBA experience, of that 1 yrs SQL Reporting + SSIS experience. I want to add some C# development skills. Which route do you recommend (how do I go about learning C# quickly - dont want to spend years achieving my goal). I am not lazy, so I dont mind coming from work and spending 3-4 hrs a day studying C# (But I dont want to spend months learning C# nice to know theory stuff). I want to get coding - hopefully in 3 mths write some really good programs, unfortunately the internet has so much fluff and very little 'real' hands-on practical examples to learn C# code quickly.

    Can you and the rest of the guru / knowledgeable developers out there provide some assistance ?

    I am sure there is plenty more SQL DBA's out there that want to ask the same question.

    Thanks in advance.

    I want to ask similar question, but I want to learn Java. Can anyone give me some advice or direction the fast way to master java? I have strong sql and C programming background.

  • Classes and books are great for learning the tools.

    A project and a deadline will motivate one to find a use for the tools and dig deeper into resolving the issues you come across in the project.

    Not many of the classes and books directly addressed an application that I was currently working on.

    Just look at the questions posted here and in the other .Net, etc blogs.

    In my opinion, you don't really start learning until you are faced with a problem to solve.

    Pick your tools, learn how they are used, and find a problem you can solve using the tools.

    "When in danger or in doubt. Run in circles, scream and shout!" TANSTAAFL
    "Robert A. Heinlein"

  • Thanks for the advice guys, especially the ideas about bringing in a mentor, which I will look for at the local SQL server users group. Next meeting is in 2 weeks, and I'm definitely going.

    The good news about my situation is that I am being given a healthy amount of leeway with regard to getting trained up.

    Thanks for all the advice.

Viewing 15 posts - 1 through 15 (of 31 total)

You must be logged in to reply to this topic. Login to reply