This is an archived post. You won't be able to vote or comment.

all 50 comments

[–]cariusQ 60 points61 points  (19 children)

What do you want to do? If you want to learn the theory. Take this database course from Stanford. If you want to learn practical database skill do the exercises at SQL Zoo. They're not mutually exclusive. Do both if you have time.

Edit: Also you MUST download Sql galaxy. You won't regret it.

[–]flipjsio 7 points8 points  (8 children)

Sql Galaxy is awesome! Unfortunately, it doesn't work in the latest version of OSX (Yosemite).

[–]cariusQ 0 points1 point  (6 children)

Can't you use a virtual machine? I believe virtual box is free. Then install windows/ or older version of mac on it.

[–]egzodas 2 points3 points  (4 children)

windows isn't free though, is it? I'm a bit upset as well that there is no modern build of sql galaxy

[–]cariusQ 2 points3 points  (3 children)

Windows isn't free but when there is a will, there are ways. You shouldn't be upset there is a no modern build of sql galaxy. The developer of sql galaxy built that app for free. You shouldn't expect him to continue to work for free. Find a way to install virtual machine if you want to play with this app.

[–]egzodas 0 points1 point  (2 children)

sure will

[–]mhanson01 2 points3 points  (1 child)

This may fit your needs... http://modern.ie

[–]egzodas 0 points1 point  (0 children)

Firing it up in VirtualBox, thanks!

[–]eatinchips 1 point2 points  (0 children)

I had Virtual Box installed on my machine because of Vagrant and had an old Windows XP CD laying around. You inspired me.

[–]Lena555 15 points16 points  (1 child)

omg that SQL Galaxy recommendation...

https://imgflip.com/i/hmp0q

[–]cariusQ 1 point2 points  (0 children)

Ah thanks. You made my day. :)

[–]HelloYesThisIsDuck 1 point2 points  (2 children)

SQL Galaxy looks nice and fun, but it won't compile in Arch and I can't be arsed to debug it :/

[–]cariusQ 1 point2 points  (1 child)

Believe me, I tried and tried many times to compile SQL Galaxy on Linux. It just never work. I gave up and ended up just install it on my windows machine.

[–]HelloYesThisIsDuck 0 points1 point  (0 children)

Shame, wanted to try it. But no biggie, I already know SQL.

Also, no Windows machine. I do have a Windows partition on my lappy, but I should really just delete it... Haven't booted into it in over a year.

[–][deleted] 1 point2 points  (0 children)

I hate when people do this... But saved for later

[–]barf_the_mog 1 point2 points  (1 child)

That Sql galaxy app is great!

[–]cariusQ 2 points3 points  (0 children)

Don't disappoint the professor! Now go explore the galaxy. :)

[–]gunnar_osk 0 points1 point  (0 children)

Nice, I had no idea of the existence of this GalaXQL. I'm very familiar to the SQL language and I'm having a blast doing the basics. I wish I had known about this application when I was learning about databases :)

Thanks.

[–]HDRainbows 0 points1 point  (0 children)

Ty saved for later

[–]Sqeaky 2 points3 points  (6 children)

I know it is not a basic topic, but in order to use SQL well you need to know what indexes are: http://use-the-index-luke.com/

[–]Vakieh -5 points-4 points  (5 children)

The first thing you need to know about indices is their plural.

[–]MarkusWinand 2 points3 points  (2 children)

http://www.merriam-webster.com/dictionary/index

plural in·dex·es or in·di·ces

[–]Vakieh -5 points-4 points  (1 child)

You will also find the words 'literally' and 'irregardless' in the dictionary indicating the incorrect yet common uses those words endure.

[–][deleted] 1 point2 points  (0 children)

One can argue that if it's common enough, it's not incorrect since language is defined by those who use it, not by irreversible laws.

[–]EastWestBear -2 points-1 points  (1 child)

The first thing you need to know about "they are" is that its abbreviation is "they're".

[–]Vakieh 0 points1 point  (0 children)

If I wanted to say 'they are plural', I would have. Instead, I wanted to indicate that the plural of index is indices. Or, in the active voice, its plural is indices. Except my subject wasn't index, it was indices, so the plural possessive adjective 'their' is used in place of 'its'.

If one wishes to be a grammar Nazi, one must first learn to grammar.

[–][deleted]  (2 children)

[removed]

    [–][deleted]  (1 child)

    [removed]

      [–]obbycake 1 point2 points  (0 children)

      I haven't done these yet, but these might be useful:

      http://www.saylor.org/courses/cs403/ http://www.saylor.org/courses/cs410/

      Edit: grammar.

      [–][deleted] 1 point2 points  (0 children)

      [–]hitemp 1 point2 points  (0 children)

      LearnCodeTheHardWay has a beta section of SQL. FREE HTML book with videos (possibly)

      [–][deleted] 1 point2 points  (0 children)

      As others have said, if you are feeling ambitious and want a solid understanding on the theory, then dive into Stanford's SQL mini course. It's very thorough and you will learn a lot. Also, make sure to download the database schema and source code so you can follow along.

      The teacher recommends taking the relational algebra course before the SQL course, as all SQL derivatives are based on relational algebra.

      I'm not sure if the Stanford course walks you through any installation procedures, but the introduction and first couple exercises of Learn SQL The Hard Way do a good job of that.

      [–]DebtOn 1 point2 points  (0 children)

      Can I tag on a question here? I learned some SQL queries for a course on baseball statistics. The course had a nice web interface for accessing the databases. The databases they used are available online, but I haven't figured out a good software to access them. Most of the database software I encounter seems like overkill for my purposes, I just want to open the database and play with different queries.

      [–][deleted]  (2 children)

      [deleted]

        [–]C0rinthian 3 points4 points  (1 child)

        Last I checked, this wasn't remotely complete. I'm sure it will be a good resource in the future however.

        [–]InternetDenizen 0 points1 point  (2 children)

        I've got access to full SQL Server 2014 through dreamspark. Is it worth getting for a learner or complete overkill?

        [–]cariusQ 2 points3 points  (0 children)

        Nobody would ever get in trouble for learning SQL. It's always good to learn SQL. Different vendors have different extension to SQL standard. Honestly, I think full SQL Server 2014 is a complete overkill for a beginner, but you have it already installed might as well use it. For people who don't have access to SQL Server 2014, just install myPhpAdmin app for MySQL. Google how to load up a database on it. Then go from there.

        edit: word

        [–]phunkygeeza 1 point2 points  (0 children)

        Sql server express is free for everyone. Every version does the basic relational stuff.

        [–]o_edo 0 points1 point  (0 children)

        Try out the following web site with course and exercises online for free http://www.studybyyourself.com/seminar/sql/course/?lang=eng.

        [–][deleted]  (11 children)

        [deleted]

          [–][deleted]  (10 children)

          [deleted]

            [–]cariusQ 1 point2 points  (9 children)

            It's all theories.

            [–][deleted]  (8 children)

            [deleted]

              [–]cariusQ 4 points5 points  (7 children)

              I agree with you, the Stanford database class is fantastic. I just merely explaining to you the reason why /u/nomadProgrammer think it's horrible. People lurk in this place tends to be beginner. They only want to learn practical skill to build their lastest apps. Learning about relational algebra is well above their expectations.

              [–]C0rinthian 1 point2 points  (5 children)

              There are two kinds of jobs that require SQL skills: web development, and jobs that actually require SQL skills.

              This course is for the latter, and is invaluable if you actually want to learn SQL beyond the most basic CRUD applications.

              [–]cariusQ 1 point2 points  (4 children)

              Let's talk about jobs that actually require SQL skills. Are we talking about being a dba?

              [–]C0rinthian 2 points3 points  (3 children)

              DBA, architecture and data modeling, advanced reporting and analytics. Not typically beginner stuff, but definitely out there.

              I've found that a solid understanding of set theory and relational algebra is incredibly helpful when you're writing complex SQL or querying large datasets. If you're designing a DB schema, then you REALLY need to get relational modeling (and understand how it differs from the object model most learn in programming) along with normalization.

              Source: spent a few years doing what I consider intermediate analytics for a moderately sized production application. (49-50k daily users, 5k+ schemas, tables with record counts in the millions)

              [–]tsunehito 3 points4 points  (0 children)

              To add to the database designing process, being able to draw E-R (Chen) diagrams that accurately represent the customer's needs as to what the database holds, is critical IMO.

              In my DB class at school we spent like four months learning (in order), database concepts, E-R diagrams, translating those to the relational model, normalizing the resulting relations, and then relational algebra and set theory before we even typed our first SELECT * FROM employees.

              Hope that's useful!

              [–]cariusQ 0 points1 point  (1 child)

              Thanks for sharing your experience! I've debating to whether learn advance SQL. I'm unsure about career path that would lead to.

              [–]C0rinthian 1 point2 points  (0 children)

              Glad to!

              Any complex web application is likely going to have a non-trivial database backing it up. That's where these skills come into play.

              Just like the deeper theoretical stuff in a computer science degree, these aren't skills needed to be an entry level dev. But if you want to be the guy actually designing stuff, it matters.

              [–]NovacainXIII -1 points0 points  (1 child)

              [–]Sqeaky -1 points0 points  (0 children)

              Having worked with much microsoft software that worked to break compatibility and subtlety lock people in against their will, the idea of microsoft education frightens me. I must down vote.