5
$\begingroup$

The textbooks that I know about, teaching databases, are not complete. In the sense that they lack a complete set of assignments, homework, projects, slides and instructor manual. Do you know of any new textbook that is complete in this sense?

$\endgroup$
  • 2
    $\begingroup$ Great question, and welcome to Computer Science Educators! Not my area of expertise,, but Ihope you get some helpful answers here :) $\endgroup$ – Ben I. Dec 28 '18 at 3:24
  • $\begingroup$ IMO the question is incomplete without a syllabus. E.g. I attended a 24-lecture course on databases which didn't include a single statement of SQL, but other database courses might be primarily about SQL. Do you want the textbook to cover No-SQL databases? Do you want it to discuss the deviations from ANSI SQL of the major vendors? Etc. etc. etc. $\endgroup$ – Peter Taylor Jan 9 at 8:49
6
$\begingroup$

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/

$\endgroup$
  • 2
    $\begingroup$ Excellent answer, welcome to Computer Science Educators. From a personal perspective I really appreciate the sharing of material, and CC-licensing is even better. Kudos to enki as well for supporting both students and open source. $\endgroup$ – Gypsy Spellweaver Dec 29 '18 at 2:19
3
$\begingroup$

I have found the Shelly Cashman Series® of books to be effective. All too often the focus is on Microsoft products. In this case, Access is the database used in Shelly Cashman Series® Microsoft® Office 365 & Access 2016: Comprehensive, 1st Edition, (2017).

Table of Contents:

Microsoft's New Productivity Tools for School and Work. Office 2016 and Windows 10: Essential Concepts and Skills. 1. Databases and Database Objects: An Introduction. 2. Querying a Database. 3. Maintaining a Database. 4. Creating Reports and Forms. 5. Multiple-Table Forms. 6. Advanced Report Techniques. 7. Advanced Form Techniques. 8. Macros, Navigation Forms, and Data Macros. 9. Administering a Database System. 10. Using SQL. 11. Database Design. Index.

Also worth a look is Concepts Of Database Management 9th

Table of Contents:

  1. Introduction to Database Management.
  2. The Relational Model 1: Introduction, QBE, and Relational Algebra.
  3. The Relational Model 2: SQL.
  4. The Relational Model 3: Advanced Topics.
  5. Database Design 1: Normalization.
  6. Database Design 2: Design Method.
  7. DBMS Functions.
  8. Database Administration.
  9. Database Management Approaches. Appendix A: Comprehensive Design Example: Marvel College. Appendix B: SQL Reference. Appendix C: MySQL. Appendix D: "How Do I" Reference. Appendix E: Using Access to Create a Web App. Appendix F: A Systems Analysis Approach to Information-Level Requirements.

Both books are from Cengage, which does very well with print and ebook options, including a student access area to download materials for the practice work of each chapter and source material for the exercises. They also have extensive material available online for instructors, often including PowerPoint slides and test generators.

(As a student, I've found the Cengage books I've used to be good for learning from. The download area sometimes includes even more exercises than the book presents. Sometimes the Shelly Cashman Series® of books seems too elementary for my tastes, but my fellow students have always seemed to like them well enough. So I can recommend Cengage as a resource from a student perspective as well.)

$\endgroup$
  • $\begingroup$ I have used resources from these, they are definitely good quality. $\endgroup$ – Scott Rowe Jan 19 at 16:44
0
$\begingroup$

"Fundamentals of Database Systems" (Elmasri, Navathe) is a good textbook. Still, from the practical point of view, there are no practical assignments one can use for students. Also, there is no complete set of exercises with solutions. Links given above are interesting, but not complete, especially for the normalization process.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.