SQL is easy to learn, and there's lots of tutorials online but I've known it for years so don't know any good recent ones. Getting queries (especially lots of joins, and table structures) 'right' and optimized is the difficult part people get paid the big bucks for. I took some database classes in college but it was more like pointless implementation details (unless writing your own db server like mysql)... they kind of expected you to know SQL already, so not sure if it would really help you just bs your way in.
You can interface with Microsoft SQL server very very easily from C# (easier to learn than Python with your Java background). PHP/MySQL also pretty easy.
I think MySQL is probably the most common db used as it powers most websites. Then for most anything else probably MSSQL or Oracle. Most of SQL is ANSI standard across all of the different types of servers though, there's just very minor differences.
I think you should come up with some real world ideas you could practice making tables for and running queries on. Something maybe like a school. Have teachers belong to departments and classes, and have students able to enroll in them, things like that. Learn about foreign keys and all the different relations (one to one, one to many, many to many). You could probably come up with like 6 or so tables, easily more. Did work for a swedish airport once that took about 2 months just to gather info on and was ~80 tables for all the flights/connections/client/pilots&controllers/planes/etc details. Try to come up with other types of ideas too and figure out what all tables you'd need to store the data.
Oh you asked what Google is using. Probably everything imaginable, depending on the project. They even have their own db implementations called BigTable and I think there's another one. They're fast for lookups but uber slow to write to (also dont support joins at least last time I played with it), which is why when doin SEO it takes awhile to get 'indexed' (gotta wait for the server farm).
|