Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Learning SQL

Status
Not open for further replies.

TarsierSpectral

IS-IT--Management
Oct 21, 2003
270
US
I need to create a database in SQL. I do not know SQL at all. I have experience programming in C++ and other languages but I haven't programmed in a while.
Can you guys give me a recommendation where to start. Should I take a class, go to training? I have no idea where to start. Any suggestions appreciated.
 
I'm curious: why does someone with no experience have a need to do this? Having a desire to work with SQL Server for training purposes I can understand, but the word "need" makes this sound more like a job-releated assignment.

IMHO, someone with no experience should not be put in that position.

< M!ke >
Your right to an opinion does not obligate me to take you seriously.
- Winston Churchill
 
yes, it's a job related assignment. I was asked to do this since there are no other technical people here. So do you know where one can start?
 
That's a tough question.

Do you have time to take classes? This may be the best approach because you'll learn important concepts that you may otherwise be unaware of. Do you do well in classes. Some people do better learning things on their own, so classes may not be right for you.

Can you learn from books? Not everybody can. The Frequently Asked Question section of this forum has one specifically devoted to books. Also, if you can learn well from books, then I suggest you read the FAQ's here.

What is your time frame for doing this? If you need to have a database done soon, then you're probably in trouble. Do you have time to take a class BEFORE you begin designing the database? If this is for work, the answer is probably no.

Do yourself a favor and do a google search on 'Database Normalization'. This is typically where inexperienced developers get themselves in to trouble. 'Database Normalization' principles will guide you in developing the proper structure of your tables. If a database is designed well, it will perform better and will be easier to manipulate the data within it.

My suggestion is this...

1. Do a little research regarding books to purchase. Then, order them (probably on-line since most good books will not be in your local bookstore).

2. Sign up for a class (if at all possible).

3. Do a google search on 'Database Normalization' and begin reading.

4. Only AFTER you have done some research and begin to understand the concepts, should you start implementing your database.

Trust me when I say, "A poorly designed database is doomed to failure". And remember, this stuff aint easy. If it was, everybody would be doing it.



-George

"the screen with the little boxes in the window." - Moron
 
I do not have a time frame for this project. I do better in classes than learning from books on my own.
I will read about Database Normalization.
I understand that this is not easy, but I think I could give it a try at least. I have done C++, java etc. in the past. I know SQL is different but maybe it will turn out that it is something I enjoy as much as I enjoyed C++.
 
I have done C++, java etc. in the past.
I am an excellent souffle baker, I probably can grill a tuna steak to perfection without a problem

This is the biggest problem that I see. people stating to do databases without training, they apply their Java skills and start to loop through the rows and updating 10000 rows one row at a time by using a cursor
Guess what? Cursors are very slow, a database works in terms of sets. First you have to unlearn the procedural stuff and get into the set based mindset
How many time do you see people ask for split and concatenate functions? A lot, this is because they don't have a normalized DB and store everything in 1 row.
From scratch it will take you at least a year I would say to becaome a half decent DB pro
Get yourself a good book and make sure you do all the examples, do NOT skip any at all

Denis The SQL Menace
--------------------
SQL Server Code,Tips and Tricks, Performance Tuning
SQLBlog.com, Google Interview Questions
 
I think a souffle baker will have a better shot at grilling tuna than a car mechanic.
 
this is not easy, but I think I could give it a try at least

Somewhere, a consultant just smiled.



< M!ke >
Your right to an opinion does not obligate me to take you seriously.
- Winston Churchill
 
>>I think a souffle baker will have a better shot at grilling tuna than a car mechanic.

what I tried say is this
If you don't know any programming you will not fall into the procedural code trap. You will not blindly convert C++ to SQL and use fake SQL comma delimited arrays to pass data around and slow everything down

Denis The SQL Menace
--------------------
SQL Server Code,Tips and Tricks, Performance Tuning
SQLBlog.com, Google Interview Questions
 
The other caveats aside I started with a book called Beginning SQL Server 2000 by Thearon Willis - Wrox Press Ltd. It came with a slimmed down version of SQL 2000 and steps through installing it, designing databases, queries, and maintenance. It can't possibly make up for all the training and hard knocks but it will get you going.

I don't know if it's still available but I would guess there are similar ones.
 
I strongly believe in experience is the best teacher.
If I was you I would get my hands on the developer’s version of SQL Server 2005 (one person license) and start kicking the tires. This will cost you or your company about $50-$60.
You can also go with the free express version (which is downloadable from Microsoft’s site... but you will be limited you what you can do with the free version. Pick up one of the WROX ( beginning SQL Server books and DATABASE DESIGN by Ryan Stephens and Ronald Plew and start working through the examples. If you have any question I'm 100% sure that the team here would be more than happy to help you out.

Well Done is better than well said
- Ben Franklin
 
>>I strongly believe in experience is the best teacher.

true, once you drop a production server table you will NEVER do it again
Or once you highlight a delete statement and forget to highlight the WHERE clause and then you hit F5......oops where is that backup....what do you mean we don't have a backup?......heart racing rapidly..appetite disappeared...... Boss I have something to tell you.....

You people with experience know what i am talking about right?

Basically experience means how many times did you mess up till now, that is why companies want someone with x years of experience, this means that you already did all these mistakes somewhere else and they are pretty safe with you :-(


Denis The SQL Menace
--------------------
SQL Server Code,Tips and Tricks, Performance Tuning
SQLBlog.com, Google Interview Questions
 
what do you mean, we don't have a backup?


regarding experience, i have those scars too

experience is a recruiting factor for exactly that reason, the number of mistakes

so is having a degree a recruiting factor, for the reason of proving that you can sit still and take crap for several years, and then show that you understood the crap



r937.com | rudy.ca
 
>>>once you highlight a delete statement and forget to highlight the WHERE clause and then you hit F5
[blush]


Maggieddd has the advantage most of us don't. From what I can see this is a new DB or a new project. So she can build a proper development environment and really test her application. So let's hope that most of the things that Denis mentioned would not be an issue for her just yet.

Well Done is better than well said
- Ben Franklin
 
Maggieddd, the responses here have been overloaded by cynics trying to out-do each other. If you didn't have the aptitude, you wouldn't already be a programmer.

A good course will probably be 3 weeks, full-time, broken-up into 1-week segments. The hiatus between segments will give you time to practice what you've learned and let it sink in.

The best book I ever found for learning SQL is Koch's

Yes, it's Oracle, but for 88 cents, how can you go wrong? Just skip the PL/SQL stuff; the concepts and their presentation are gold.

Then you invest in Ken Henderson's
or at least the first of the three books.

Good luck!
 
thanks harebrain.
I might pick up one of the books in addition to finding a course somewhere close by.
I appreciate the help
 
I agree with harebrain on Henderson's books. These books are the best SQL server books. Get at least the first one if nothing else, the 2005 edition should be out later this year

Another good book is Pro SQL Server 2005 Database Design and Optimization


BTW I did interview the following authors Ken Henderson, Louis Davidson, Adam Machanic and Itzik Ben-Gan

Read the interviews, they also mention how to master SQL and other interesting things



Denis The SQL Menace
--------------------
SQL Server Code,Tips and Tricks, Performance Tuning
SQLBlog.com, Google Interview Questions
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top