How To Repair Sql Database?

Best resources for learning SQL for database newbies

  • I am making a transition from an Excel-based reporting analyst to a database-oriented role in which SQL will be the primary necessary skill. I have next to zero database experience. I'm looking for resources that would be effective at teaching me what I need to learn. More within… I'm a reasonably-close to expert-level Excel user with a lot of experience programming in VBA. I've never gotten into high-level math functions of Excel like regression analysis, forecasting, or any calculus-related things, but I pretty much know the ins and outs of the rest. That's my skill set. Other than a little playing around with basic HTML and VERY basic SQL tinkering, I've no other programming experience. I thought that being pretty capable with VBA might making picking up SQL a cinch, but I think my lack of background/familiarity with database theory is making things kind of difficult to conceptualize. I'm ultimately expected to make my way into the data warehousing world, so SQL is something that I need to develop expert proficiency in. I've seen a lot of options (sql.learncodethehardway.org, sqlcourse.com, New Horizons, etc.), but I'm asking for help identifying which are good for my situation and which might be a waste of time. Free online stuff would be great, but if there’s a really well-regarded paid course that would be helpful, I might swing it by my bosses and see if my company would spring for it. Thanks!

  • Answer:

    W3 Schools has a decent SQL tutorial that has interactive examples you can run and tinker with online: http://www.w3schools.com/sql/default.asp. I found this to be a good place to start. If you are using mySQL you can download and install a free version on your own computer. You can also download a sample database that you can use to tinker with from : http://dev.mysql.com/doc/employee/en/ Once you get the basic hang of querying data in the samples, an important topic to learn more about is http://en.wikipedia.org/wiki/Database_normalization. Reading up on this will give you a much better idea of how databases are normally designed and why the data is laid out in ways that sometimes seems more complicated then necessary. There are some mySQL GUI tools that you can download. Its still all lot of typing commands, but a GUI window to type in lets you copy, paste, and edit much better then a command prompt. You might try the lessions you were doing before with one of those tools instead of doing everything at the prompt and see if that works better for you.

JimBJ9 at Ask.Metafilter.Com Visit the source

Was this solution helpful to you?

Other answers

I always recommend http://sol.gfxile.net/galaxql.html because it's by far, in my opinion, the quickest way to really understand the basics of SQL. After that you can dive into more esoteric topics, but I think GalaxQL is way better than anything else out there. If you're on a Mac, you might have to fire up a VM to run it because it doesn't seem to work on Mac anymore.

thewumpusisdead

Definitely something like GalaxQL, where you can get results from trying queries in real time, should be on the menu. The tricky thing about SQL is that your (logically) wrong queries will get results, just not the results you wanted. A typical case would be that you forgot to consider null values in comparisons (the value of the expression "5==null" is null, not false, so you often need to write conditions like "where someColumn 5 or IsNull(SomeColumn)" to get the results you want. Seeing how this plays out in a real example is pretty important, imho.>

thelonius

PostgreSQL is also free and runs pretty easily and has clear tutorials; that's where I've started and I've liked it, plus they have a fun elephant logo. We can be troubleshooting buddies!

Mrs. Pterodactyl

My husband (who really needs to sign up here) asked me to recommend The Coursera/Stanford "https://www.coursera.org/course/db" class.

tomboko

So for the basics, SQLite is pretty good, but it's not a fully complete SQL engine. It's designed run on embedded systems; one of their clients is a watch company that wants to store alarms and such in a database. It's also not multiuser, meaning only one person can open it at a time. If you want to get into the multiuser DBs, I recommend setting up VirtualBox + Vagrant to have a sandbox to experiment in. Or you can use a Turnkey Linux http://www.turnkeylinux.org/mysql to get going just a bit faster. There are GUIs for sqlite, but none are very good. LibreOffice comes with Base, which can talk to databases, or run locally on HSQLDB (a competitor to sqlite), and that might be okay. Most developer IDEs also have a 'connect to database' plugin, if you want to go that route. I use Eclipse. If you write VBA in Visual Studio, there's almost certainly a plugin for writing SQL and connecting to DBs. As far as learning tools, GalaxSQL is pretty good, as is SQLZoo. If you really, really care about query performance, http://use-the-index-luke.com/ covers SQL indexing. It may not be frequently useful as a business intelligencer, but you may want to bookmark it for when the query you wrote isn't running as fast as you need it to.

pwnguin

Of course I forgot this part... Follow-up question: I learn best when I can tinker with something on my own, trying new things, etc. I'd really like to be able to fiddle with SQL at home, but, uh... I don't know how. I'd have to host a database on a server (I think?) and have some sort of client. I'm using Aqua Data Studio at work, but that's a $500/yr license. Nope!

JimBJ9

SQLServer Express is free, and runs fine on just about any PC.

SemiSalt

No, you can run a DB on your local machine. MySQL, Oracle Express, SQL Server Express, and SQLite are all free.

thewumpusisdead

What kinds of analyses are you looking to run? Are you expected to actually build individual SQL statements, or are you saying you're going to be using analysis tools that point to SQL data stores? The fact that you mentioned data warehousing kind-of indicates you might not be looking to write SQL itself.

odinsdream

Related Q & A:

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.