What to know before jumping into......

Josh123

Diamond Member
Aug 4, 2002
3,030
2
76
Right now I am working in the Help Desk field for a large company and would like to pursue something else that brings more money. Our web developer suggests I get into SQL and push our boss to possibly pay for some training. Is there anything that I would need to know before jumping into SQL or do I just pick it up and run with it???
 

exdeath

Lifer
Jan 29, 2004
13,679
10
81
A little database knowledge is really all you need. You could practice a little in Access using the more advanced areas like relationships, and the built in query builder will allow you to run straight SQL queries to learn the basics. Just know that Access is a joke in the real RDBMS world and isn't to be taken seriously for any major projects (see: Oracle, SQL Server, PostgreSQL, etc). After you get the hang of it you can install mySQL or PostgreSQL, both are free open source database servers and you can get experience with managing the system from a command line (database administration).

Mainly though you have to know what a database is before you can understand SQL. Know what tables and records are, and the various types of relationships between them, keys and indexing, and data normalizing. Once you know that, SQL is rather easy as all you are doing is manipulating the data. Designing and structuring an application specific clean data hierarchy (schema in database terms, ie: what fields to include in each record, what tables should have what records, how tables are related, etc.) from scratch is the difficult part.

If you want to actually make use of those skills, then learn ASP or PHP and learn how to write dynamic web pages that interact with your data in real time (make a little web store or something). In ASP there is ADO.NET and in PHP it has support for most major database engines built in natively. Then realize that you can access a data source and manipulate it with SQL via C, PHP, anything, even Windows scripting, and feel all powerful.
 

brandonb

Diamond Member
Oct 17, 2006
3,731
2
0
It's best to learn what a relational database is, and how the database actually works internally. They are basically big binary trees, with indexes which points to nodes/leafs on the tree, and the nodes/leafs point to each other.

Once you figure that out, you'll learn how data is stored within the database, how indexes work, you will understand how queries need to be written. Once you tackle that, go over to the admin side and figure out how to do load balancing, transaction log shipping, etc.

I'm sure most of this is over your head but it will give you atleast a progression. Learn how DB works internally, writing queries and working with data, then admin side.
 

troytime

Golden Member
Jan 3, 2006
1,996
1
0
and if anyone ever tells you that a database is "just like a spreadsheet, but bigger" - punch em in the face
 

exdeath

Lifer
Jan 29, 2004
13,679
10
81
Originally posted by: troytime
and if anyone ever tells you that a database is "just like a spreadsheet, but bigger" - punch em in the face

Thats only true for FoxPro... but still anyone who makes you use FoxPro should be punched in the face :)
 
Aug 25, 2004
11,151
1
81
SQL is easy to pick up, but if you really want to understand databases from the inside out, I recommend picking up a used copy of Database Systems. It a bit boring and pedagogic (it is my college textbook for the Database class), but it explains database theory really well and you will benefit from this.
 

Josh123

Diamond Member
Aug 4, 2002
3,030
2
76
Well I honestly don't know much about databases in general so maybe I should start there. I did pick up a book a couple months ago though, it's SQL Server 2005 Express Edition for Dummies. I just started going through it again up here at work but wasn't sure if installing it would conflict with our main SQL server we have running. Any ideas?
 

piasabird

Lifer
Feb 6, 2002
17,168
60
91
Make sure you know what the cost will be for servers and software to be able to do SQL.
 

Josh123

Diamond Member
Aug 4, 2002
3,030
2
76
Originally posted by: piasabird
Make sure you know what the cost will be for servers and software to be able to do SQL.

What do you mean?

I'm not going to be using the actual company servers. I loaded the express edition on my work desktop and was worried if it would cause problems with our servers.