Skip to main content

I've taught a lot of people SQL in person (over 3000), and I've had to cobble together materials out of a bunch of resources to do it.

For Exercises:
http://sqlzoo.comhttp://sqlzoo.net
http://pgexercises.com
https://www.codewars.com/?language=sql

For slides, you can use mine, just fork them and remove the branding (they are CC-licensed, the branding is just there to look nice): https://slides.com/lizh/sql-intro

Make diagrams or have students make diagrams with: https://app.quickdatabasediagrams.com/#/

Usually the way I see SQL courses go:

Start by covering enough to get them through querying- have them start with one of the exercise sets above. You may want to break it down into a few class periods - basic querying and filters, followed by joins, and then more complex joins / functions.

Next, have them model data. If you model some data for them, then present a problem for them to do in groups, they usually get the idea pretty well and can self-grade. Then, have them choose something to model individually.

Students should first try to model some data that has 2-3 relations, then model data with a many-to-one relation, then more complex relationship models (relating through 3 or 4 tables).

Some really great things to model, either as a class or as individual projects:

  • Books (books are great because you can start with a simple model, then factor it out to third normal form, and then identify where it would vary by application greatly, eg amazon.com vs a library, they need different data models).
  • Keyboard shortcuts (because you can relate them to applications, and keys)
  • Transit (routes and schedules and busses, most students are familiar)
  • Food (you can go a million different ways with this, this is a very difficult data model to do properly)
  • Content (users, posts, comments, upvotes, block list. Do this one yourself as an example, it's in too many walkthroughs to be a good assignment.)

If this helps, I am the CTO over at enki.com, and we have an open-source CC-licensed curriculum here: https://github.com/enkidevs/curriculum and a free app students can use to do daily practice with SQL here: https://enki.com/

I've taught a lot of people SQL in person (over 3000), and I've had to cobble together materials out of a bunch of resources to do it.

For Exercises:
http://sqlzoo.com
http://pgexercises.com
https://www.codewars.com/?language=sql

For slides, you can use mine, just fork them and remove the branding (they are CC-licensed, the branding is just there to look nice): https://slides.com/lizh/sql-intro

Make diagrams or have students make diagrams with: https://app.quickdatabasediagrams.com/#/

Usually the way I see SQL courses go:

Start by covering enough to get them through querying- have them start with one of the exercise sets above. You may want to break it down into a few class periods - basic querying and filters, followed by joins, and then more complex joins / functions.

Next, have them model data. If you model some data for them, then present a problem for them to do in groups, they usually get the idea pretty well and can self-grade. Then, have them choose something to model individually.

Students should first try to model some data that has 2-3 relations, then model data with a many-to-one relation, then more complex relationship models (relating through 3 or 4 tables).

Some really great things to model, either as a class or as individual projects:

  • Books (books are great because you can start with a simple model, then factor it out to third normal form, and then identify where it would vary by application greatly, eg amazon.com vs a library, they need different data models).
  • Keyboard shortcuts (because you can relate them to applications, and keys)
  • Transit (routes and schedules and busses, most students are familiar)
  • Food (you can go a million different ways with this, this is a very difficult data model to do properly)
  • Content (users, posts, comments, upvotes, block list. Do this one yourself as an example, it's in too many walkthroughs to be a good assignment.)

If this helps, I am the CTO over at enki.com, and we have an open-source CC-licensed curriculum here: https://github.com/enkidevs/curriculum and a free app students can use to do daily practice with SQL here: https://enki.com/

I've taught a lot of people SQL in person (over 3000), and I've had to cobble together materials out of a bunch of resources to do it.

For Exercises:
http://sqlzoo.net
http://pgexercises.com
https://www.codewars.com/?language=sql

For slides, you can use mine, just fork them and remove the branding (they are CC-licensed, the branding is just there to look nice): https://slides.com/lizh/sql-intro

Make diagrams or have students make diagrams with: https://app.quickdatabasediagrams.com/#/

Usually the way I see SQL courses go:

Start by covering enough to get them through querying- have them start with one of the exercise sets above. You may want to break it down into a few class periods - basic querying and filters, followed by joins, and then more complex joins / functions.

Next, have them model data. If you model some data for them, then present a problem for them to do in groups, they usually get the idea pretty well and can self-grade. Then, have them choose something to model individually.

Students should first try to model some data that has 2-3 relations, then model data with a many-to-one relation, then more complex relationship models (relating through 3 or 4 tables).

Some really great things to model, either as a class or as individual projects:

  • Books (books are great because you can start with a simple model, then factor it out to third normal form, and then identify where it would vary by application greatly, eg amazon.com vs a library, they need different data models).
  • Keyboard shortcuts (because you can relate them to applications, and keys)
  • Transit (routes and schedules and busses, most students are familiar)
  • Food (you can go a million different ways with this, this is a very difficult data model to do properly)
  • Content (users, posts, comments, upvotes, block list. Do this one yourself as an example, it's in too many walkthroughs to be a good assignment.)

If this helps, I am the CTO over at enki.com, and we have an open-source CC-licensed curriculum here: https://github.com/enkidevs/curriculum and a free app students can use to do daily practice with SQL here: https://enki.com/

Source Link
Liz H
  • 121
  • 1

I've taught a lot of people SQL in person (over 3000), and I've had to cobble together materials out of a bunch of resources to do it.

For Exercises:
http://sqlzoo.com
http://pgexercises.com
https://www.codewars.com/?language=sql

For slides, you can use mine, just fork them and remove the branding (they are CC-licensed, the branding is just there to look nice): https://slides.com/lizh/sql-intro

Make diagrams or have students make diagrams with: https://app.quickdatabasediagrams.com/#/

Usually the way I see SQL courses go:

Start by covering enough to get them through querying- have them start with one of the exercise sets above. You may want to break it down into a few class periods - basic querying and filters, followed by joins, and then more complex joins / functions.

Next, have them model data. If you model some data for them, then present a problem for them to do in groups, they usually get the idea pretty well and can self-grade. Then, have them choose something to model individually.

Students should first try to model some data that has 2-3 relations, then model data with a many-to-one relation, then more complex relationship models (relating through 3 or 4 tables).

Some really great things to model, either as a class or as individual projects:

  • Books (books are great because you can start with a simple model, then factor it out to third normal form, and then identify where it would vary by application greatly, eg amazon.com vs a library, they need different data models).
  • Keyboard shortcuts (because you can relate them to applications, and keys)
  • Transit (routes and schedules and busses, most students are familiar)
  • Food (you can go a million different ways with this, this is a very difficult data model to do properly)
  • Content (users, posts, comments, upvotes, block list. Do this one yourself as an example, it's in too many walkthroughs to be a good assignment.)

If this helps, I am the CTO over at enki.com, and we have an open-source CC-licensed curriculum here: https://github.com/enkidevs/curriculum and a free app students can use to do daily practice with SQL here: https://enki.com/