I have taken some MOOCs in past years, including Andrew Ng's Machine Learning, and Martin Odersky's Functional Programming Principles in Scala, and I have to say that Jennifer Widom's database class is the most streamlined, most well thought, and most smooth of all the MOOCs I have seen.
Everything works, the lectures are packed with information and give sufficient material for one to complete the exercises, there are no rough edges, and there is a large-ish amount of exercises that give good coverage of the lectured material.
I absolutely agree and I recommend this course every time someone mentions SQL. The lectures combined with the videos are the best learning tool for people interested in SQL.
I also recommend Introduction to Networks from Stanford which is also freely accessible with registration and also very high quality similar to the DB course level.
I'll take note of all the suggestions and try to fix anything that needs changing over the weekend.
It looks pretty good and I'm going to be going through at least some of the exercises. It always feels good to ship something, even when you feel like it isn't 100%.
Sort of, although at first I found showing it to the world a touch nerve-wracking :-). Realistically though, if I waited until I judged things were 100% ready I would never put anything out there.
SELECT * FROM Facilities
ERROR: relation "facilities" does not exist
Query was: SELECT * FROM Facilities
It looks great, it's almost there but you've got to approach these things from the point of view of a novice.
There are different types of learner, some learn by poking stuff with a stick rather than meticulously reading everything.
I have no idea about postgre as I know SQL Server & MySQL, I was actually having a quick go to see if my knowledge easily translated.
But schemas are a YAGNI 99% of the time feature in those.
What? I literally have only ever written one web app that didn't use multiple schemas, and that was a simple blog. I think you are confusing "I don't bother to use X" with "X isn't very useful".
There's little to no chance of collisions but you have to use them constantly, which is annoying. Few benefits, lots of downsides.
Obviously this only becomes super-useful in pretty sizeable projects, but I tend to consider using schemas a good habit to be in.
This is the opposite of how it should be. You'd expect learners to be less likely to read a "getting started" page than an expert.
For example, saying to a beginner, "Oh, the tables are all prefixed with cd.tablename" will likely result in a look of confusion because the beginner didn't understand any of the words you used or the way in which you combined them. Is that period special, for example? You said prefix, so if I type "cd.tablenamefacilities" will that work? What are tables and how do I know what their "name" is? Why is the error message talking about "relations?" And so on.
Small suggestion: I looked at a random sample - the basic dates exercise (http://pgexercises.com/questions/basic/date.html) and had a bit of trouble finding the name of the table / schema description generally. It was not obviously that this is a pop-out under "Help".
Thanks for the feedback!
A little suggestion: The "home" link in the menu points to index.html rather than the bare domain. Thankfully, I'm no SEO expert, but I'm fairly sure this is duplicate content in google's eyes and will penalise you in result rankings. Looking forward to the github repo.
I have found direct access to run queries is a very powerful tool but teaching SQL is tough to people who are not that technical.
I think SQL is something every business analyst should know how to write. It's an extremely powerful tool.
There was no resolution. He tried to teach them SQL, however when that failed he fell back on at least trying to get the Cognos scripts under SVN. He left two weeks ago, and just last week I overheard a conversation along the lines of:
"He showed me this Tortoise thing, but when I hit update everything has red next to it. It used to be green, but no matter what I do it stays red."
At this point, I don't even know what could have been done. He was probably working on this for his entire employment here, which was close to a year.
Congrats on your idea, I've been looking for resources to learn the Postgres dialect specifically and it's great we're all in the same ecosystem. My solution was to make a Postgres front-end that would be as easy as spreadsheets .
I'm looking for a few customers who would help me get into the improvement/feedback loop. Please do not post me yet on the first page of HackerNews, the product is too young to be judged;) And sorry for people who think this is wrong advertising.
The query I used was "select * from cd.facilities where name ~ 'Tennis';" which got me the tick, but the page didn't detect that I hadn't used LIKE and the feedback was therefore wrong. You might want to think a little more about different solutions to the exercises.
Other than that it's slick and impressive so far, thanks. I shall be sending the URL onwards.
Hope you find the site useful.
SELECT facid, name, membercost, monthlymaintenance FROM cd.facilities WHERE membercost > 0 AND (membercost / monthlymaintenance) < (1/50);
SELECT facid, name, membercost, monthlymaintenance, (membercost / monthlymaintenance) as a FROM cd.facilities WHERE membercost > 0 AND (membercost / monthlymaintenance) < (0.02);
Several options were recommended when I asked for help learning SQL several months ago (https://news.ycombinator.com/item?id=5713882 ), including one interactive website:
Back in 2005-6 I used http://www.sql-ex.ru/ to study and learn SQL, it worked fairly well with Postgres.