PDA

View Full Version : Recommend database books


dwtt
11-11-2010, 4:44 AM
I need to learn about databases on a network but I'm not a computer software person. I'm better with solid state physics and transistors, but something is coming down the pipeline at work where I will need to know how to use SQL and write simple applications. My only software background is Fortran and C++ programming in college, so I'm not a real programmer, just good enough to get by with simple tasks.

So, can anyone recommend good books for a beginner to learn about SQL, business objects, and data mining? I remember relational database management was a big rage 10 years or so ago, but does that refer to logical relation between different databases or does it refer to the relationship between data types in a database? Right now I don't know enough to know what to learn, so any suggestions are appreciated. Thanks.

Olav
11-11-2010, 5:36 AM
There are a lot of resources on the web, you don't need a book really.

Librarian
11-11-2010, 2:52 PM
Actually the RDB article (http://en.wikipedia.org/wiki/Relational_database) at Wikipedia is pretty good, but 'telegraphic' - very light on explanations.

Chris Date (C J Date) is the leading RDB practitioner/theoretician; he worked with Codd at IBM. Bunch of his books on Amazon - pick recent ones.

Any of the 'introduction to SQL' books would help. But SQL comes in manufacturer-specific 'dialects', so knowing which database system will be chosen would narrow the field.

Then, there are all the manufacturer and language-specific functions to embed your SQL in programs ...

ldivinag
11-11-2010, 9:19 PM
download and install MYSQL.

then buy this guy's book:
http://www.sitepoint.com/books/sql1/

JDay
11-12-2010, 12:18 AM
download and install MYSQL.

then buy this guy's book:
http://www.sitepoint.com/books/sql1/

No need to buy a book for SQL, it is well documented on the net.

http://dev.mysql.com/doc/refman/5.1/en/

Librarian
11-12-2010, 9:27 AM
Funny-sad: I looked at the MySQL page, and thought "What the heck is Oracle's name doing there?". I knew that Oracle had acquired Sun, but I had missed that Sun had acquired MySQL in 2008.

Tutorial looks pretty good.

Satex
11-12-2010, 3:02 PM
No need to buy a book for SQL, it is well documented on the net.

http://dev.mysql.com/doc/refman/5.1/en/

Good suggestion. I learned everything about MySQL from the online documentation which is excellent.

Generally speaking, I frown upon purchasing ANY computer book nowadays as the quality is next to nothing, they try to dazzle you with weight (500+ pages to make it seem credible).

You can pretty much find a good online tutorial for any computer related topic without wasting $50.

Librarian
11-12-2010, 3:47 PM
Would you make an exception for the O'Reilly books, or have those deteriorated as well?

frankm
11-12-2010, 4:59 PM
There are two different angles of attack here. One is, you have to learn SQL. Two is, there are different SQL databases. I'd try to find out which db you're going to be using, then buy books specific to that one such as a beginning DB Admin book. For SQL, you may have to learn vendor specific SQL extensions such as PLSQL for Oracle or TSQL for Microsoft. The type of SQL stuff you'll want to learn are the basic commands such as SELECT. Learning how to JOIN is key. SQL programming is different than regular programming. With regular programming, you usually have methods, etc. that can be used for tasks, or you can build your own. SQL has easy commands, but in order to piece together a result set, it gets dicey as it's not as intuitive.

First things first, which DB will you be using, or is it up to you? If it's up to you, what are the goals, server types, etc. you may be using?

dwtt
11-12-2010, 5:42 PM
Thanks everyone for the advice. I'll look into the online articles.
I don't know the db that is being used in our department, but I'm scheduled to attend an instructional demo session of the business objects features next week. I think it's an IBM product since they have a legacy IBM software called Maximo, but I won't know for sure. After I find out the db the department has, then I'll try to figure out what I need to learn to do what I want. I plan to use the db for data mining, to see trends and anomalies in the data. I think I'll follow Frankm's advice and concentrate on learning db management for now.

frankm
11-13-2010, 9:46 AM
Yeah, that's a great book to start with. The other series is something like "Learn SQL in 21 Days" or something like that. Since you said IBM, and you'll be taking a seminar. Ask the instructor what book to get. I don't know if you'll be doing any db management, if not, don't concentrate too much on it. Just get the basics.

Data Mining means you'll be writing a lot of queries, joining tables, pulling a result set, and displaying it somehow like in Excel, Crystal Reports, MS Reporting Services, etc. So, you'll want to concentrate on querying first. Also, learn about db logic. Tables, primary keys, foreign keys, normalization, joining multiple tables, removing redundant rows in joins. These are the basics you need to know for querying. If you'll be pulling stuff into computer code such as C++ or .Net, you'll need to know if you're going to be writing "inline code" or doing stored procedures, or some other method. Then, you'll probably need to know how to set up ODBC connections if on Windows. This is a connection that tells your program how to connect to the db.

Don't want to scare ya, but it can get hairy. Look at this. This is very advanced, so don't sweat it until they tell you you got to do it.
http://www2.cs.uregina.ca/~hamilton/courses/831/notes/dcubes/dcubes.html

It's beyond me.

high_revs
11-13-2010, 6:46 PM
Would you make an exception for the O'Reilly books, or have those deteriorated as well?

O'Reilly was the shiznit back then. :) Glad to see someone remembers them. I still see them on the shelves when I dare take a peek on how much I'm behind these days.

Just like everyone else said, look at the web. I bought books in the late 90's learning html, etc. But the best were really the online tutorials (and those back then aren't even close to today's knowledge base on the web). even better, they let you practice online too.

I had mysql also as a practice platform and a book back then. But today, the internet has so much free stuff a book is really more a reference point for something if you cannot find it in a tutorial or an internet forum.

I think you'll do fine with SQL if you know C++. Heck, why not upgrade to c-sharp? ;) You will see though that different SQL developers follow different lines of thought if you're doing massive data processing/loading. I worked with quite a few SQL developers since that's data was where I was heavy early last decade. From how often to commit, to using cursors or not. Then there's the whole performance tuning too. But that's heavy data processing though with hundreds of thousands, if not millions of lines of data my company processes on different assets these days.

m4rty
11-14-2010, 8:09 AM
One of the fundamentals to remeber with RDBMS's is that SQL is about "Set-based processing" versus "Array or iterative" processing that is the norm in application development (if you're coming from a traditional developer background). I've seen a lot of developers struggle to understand set-theory and create really bad designs as a result...

I'll third the reccomendation to finding out what platform you'll be working on and obtaining documentation/books the specific platform. There is a standard for SQL, however each vendor impliments thier own version of it. If you've been doing it for some, it's fairly easy to adapt to the differences, but if you're new it can be extremely frustrating to switch....

gimebakmybulits
11-14-2010, 11:51 AM
I have a hard copy of this book that you are welcome to have.
http://www.fehily.com/books/SQL-Visual-QuickStart-Guide-3rd.html
If you're interested I'm in Pasadena, so local pickup or pm me your details and I will put it in the mail.

sfwdiy
11-14-2010, 7:40 PM
Would you make an exception for the O'Reilly books, or have those deteriorated as well?

O'Reilly's stuff seems pretty strong to me. They're usually well-laid out, in-depth and understandable for a technical user.

--B