Database, where to start?.

harry_houdini

Active Member
Adept
Jan 13, 2012
801
18
31
Mumbai , Maharashtra
Hi guys,
I wanted to learn about databases in detail. Not for some exam or as a necessity, just for knowledge.
Please tell me from where to start.

I would like to go as deep as I have interest in this subject. I hardly do only one thing at a time, but this would be one of the things.
Consider I do not know anything which I guess is right :bleh:.
Please tell me what all I need to know, understand, study. Does it directly mean picking up an SQL book or there is a prerequisite, I mean things I need to know before starting to study databases.

And which database to choose? There are so many out there, Oracle, MySql, MsAccess, etc.

Thanks
 

booo

BA BA BA BABANANA
Veteran
Mar 4, 2008
1,742
1,802
403
Colodaro
for starters, learn TSQL (transact sql). which is a standard and every db should support it. other topics like database design etc... are also not specific to product. things like database administration/perf tuning and profiling tools become product specific which you can learn at an advanced level. To answer the question about which database to choose, choose which is free. I would suggest Microsoft's SQL server express edition because it provides you with lot of graphical tools and sql editors. which will make learning easy.

Later when you get a job, you will have to choose the software which the client buys, so you wont have a choice anyways :p
 

asingh

Well-Known Member
Super Mod
Jun 13, 2009
6,516
1,267
303
New Delhi
Hi guys,
I wanted to learn about databases in detail. Not for some exam or as a necessity, just for knowledge.
Please tell me from where to start.

I would like to go as deep as I have interest in this subject. I hardly do only one thing at a time, but this would be one of the things.
Consider I do not know anything which I guess is right :bleh:.
Please tell me what all I need to know, understand, study. Does it directly mean picking up an SQL book or there is a prerequisite, I mean things I need to know before starting to study databases.

And which database to choose? There are so many out there, Oracle, MySql, MsAccess, etc.

Thanks
Learn SQL first, even MS Access will do, comes with MS Office. You can get a good pictorial view. Learn T-SQL later, for SPs.
 

mathrisk

.: deleted :.
Adept
Mar 17, 2008
791
554
182
36
Bangalore
www.pankajnath.in
Learn SQL - the universal language for database. W3School has covered the basics.
Of course next you should get a decent book about RDBMS.

Which DB to start - well Oracle got my vote as its most widely used at enterprise level. Oracle Express edition is free to use and is very useful to try out DBA commands, if you are interested in those.
Also, you can try basic commands in MySQL - most widely used DB in internet.
 

agantuk

Well-Known Member
Adept
Aug 1, 2009
2,395
75
88
Hmm.. I would have thought someone wanting to learn databases should get an idea about databases first, rather than jump into querying right away. While each DBMS has its own way of handling specifics, there are certain general concepts that need an understanding.

Reg. which DB to choose, there are many, and Oracle and MySQL are amongst the popular ones, though my vote goes to SQL Server.
 

harry_houdini

Active Member
Adept
Jan 13, 2012
801
18
31
Mumbai , Maharashtra
for starters, learn TSQL (transact sql). which is a standard and every db should support it. other topics like database design etc... are also not specific to product. things like database administration/perf tuning and profiling tools become product specific which you can learn at an advanced level. To answer the question about which database to choose, choose which is free. I would suggest Microsoft's SQL server express edition because it provides you with lot of graphical tools and sql editors. which will make learning easy.

Later when you get a job, you will have to choose the software which the client buys, so you wont have a choice anyways :p
Thanks for the reply, well some are saying SQL, some TSQL, is it the same?. One friend even suggested TSQL later. It is confusing!.

Well I am going to join a job totally unrelated to computers :scared14:. But still want to learn different things, want to start with databases.

Learn SQL first, even MS Access will do, comes with MS Office. You can get a good pictorial view. Learn T-SQL later, for SPs.
Thansk for replying, Any book or online source that you recommend ?.

Learn SQL - the universal language for database. W3School has covered the basics.
Of course next you should get a decent book about RDBMS.

Which DB to start - well Oracle got my vote as its most widely used at enterprise level. Oracle Express edition is free to use and is very useful to try out DBA commands, if you are interested in those.
Also, you can try basic commands in MySQL - most widely used DB in internet.
Thanks for the reply, I ll try W3School.
Well everyone has a different DB to suggest, which one to choose ?.

Hmm.. I would have thought someone wanting to learn databases should get an idea about databases first, rather than jump into querying right away. While each DBMS has its own way of handling specifics, there are certain general concepts that need an understanding.

Reg. which DB to choose, there are many, and Oracle and MySQL are amongst the popular ones, though my vote goes to SQL Server.
Thanks for the reply, so what path do you suggest?. From where to start?.

If you learn T SQL you learn SQL not true vice versa
Thanks for the reply, :scared14: then please suggest the right path.

harry_houdini Are you interested in learning from video courses?
Stanford is providing training on the basics of Databases as an MOOC.

Link: Introduction to Databases | Stanford Online

It has already started from 15th January. You can join now too. I am not sure but maybe they will provide a certificate in the end.
Thanks for the reply, that seems a bit complex. Is it a paid course?. I am not really bothered about certification, my main purpose is to learn.
 

dinjo

Hell Yeah[Born Critic]
Veteran
Sep 14, 2009
6,341
204
203
Mumbai
The answer given in that link is incorrect T-SQL is used in Sybase and Oracle both , however ANSI SQL is more powerful and flexible when writing complex queries as it provides great freedom specially in case of joins where you can manipulate the where conditions.
 

harry_houdini

Active Member
Adept
Jan 13, 2012
801
18
31
Mumbai , Maharashtra

mathrisk

.: deleted :.
Adept
Mar 17, 2008
791
554
182
36
Bangalore
www.pankajnath.in
The "procedural language" part is kinda intermediate-advanced usage of database.
So I would recommend starting with SQL. They aren't much complex - just li'l more plain old english. :)
 

ch@ts

Well-Known Member
Veteran
Jun 13, 2005
1,171
217
152
First of all, if you want to learn about databases "in detail" you're going to have to study a lot more than SQL.
To learn SQL by yourself, download MYSQL, or POSTGRESQL, and then use the client to run simple SQL commands such as create, drop, modify, insert, delete, etc.
It's pretty simple.
The best way to learn is to give yourself a task, for example to create a database of all the girls you know, and their phone nos, addresses, etc. Then organise them by age, height, distance from your house, etc.
Use this: SQL Tutorial tutorial to get started.
Then join the Stanford course provided in the link provided by hotshot05. It's an introduction, and not an advanced course, and is pretty easy to follow. Download the videos, and pause, rewind and repeat the parts you don't follow. The course is free, and you only get a certificate if you complete all the assignments, and give the exam.

Once you're done with that, learn about no-SQL databases, and non-relational databases, like MongoDB. They can be much faster (10x +) than traditional databases, and more flexible. They're definitely worth studying.
 

harry_houdini

Active Member
Adept
Jan 13, 2012
801
18
31
Mumbai , Maharashtra
First of all, if you want to learn about databases "in detail" you're going to have to study a lot more than SQL.
To learn SQL by yourself, download MYSQL, or POSTGRESQL, and then use the client to run simple SQL commands such as create, drop, modify, insert, delete, etc.
It's pretty simple.
The best way to learn is to give yourself a task, for example to create a database of all the girls you know, and their phone nos, addresses, etc. Then organise them by age, height, distance from your house, etc.
Use this: SQL Tutorial tutorial to get started.
Then join the Stanford course provided in the link provided by hotshot05. It's an introduction, and not an advanced course, and is pretty easy to follow. Download the videos, and pause, rewind and repeat the parts you don't follow. The course is free, and you only get a certificate if you complete all the assignments, and give the exam.

Once you're done with that, learn about no-SQL databases, and non-relational databases, like MongoDB. They can be much faster (10x +) than traditional databases, and more flexible. They're definitely worth studying.
Thanks buddy :)

thank you :)
 

booo

BA BA BA BABANANA
Veteran
Mar 4, 2008
1,742
1,802
403
Colodaro
what ch@ts is a thumb rule for any of the computer related learning. you cant just learn stuff just by reading. you have to "learn by doing". it also helps you learning very fast. an year ago I never know what perl is, now I am a self proclaimed expert :p just because I coded like 2k+ lines. so start creating tables and stuff. and then use them in one of you application, like a simple web app or something like that, when you face tough questions/roadblocks, you will start learning the tricks of the trade.
 

dinjo

Hell Yeah[Born Critic]
Veteran
Sep 14, 2009
6,341
204
203
Mumbai
Don't forget to read something about Normalization it would give you a base why base exists and the logical relationship
 

harry_houdini

Active Member
Adept
Jan 13, 2012
801
18
31
Mumbai , Maharashtra
what ch@ts is a thumb rule for any of the computer related learning. you cant just learn stuff just by reading. you have to "learn by doing". it also helps you learning very fast. an year ago I never know what perl is, now I am a self proclaimed expert :p just because I coded like 2k+ lines. so start creating tables and stuff. and then use them in one of you application, like a simple web app or something like that, when you face tough questions/roadblocks, you will start learning the tricks of the trade.
Thanks, you are right. Learn by doing is the key.

Set a primary key -- always. :)
Thanks,

Don't forget to read something about Normalization it would give you a base why base exists and the logical relationship
Thanks,
will do so.