Answers.Body: <p>I have found the Shelly Cashman Series&reg; of books to be effective. All too often the focus is on Microsoft products. In this case, Access is the database used in <a href="https://www.cengage.com/c/shelly-cashman-series-microsoft-office-365-access-2016-comprehensive-1e-pratt/9781305870635" rel="nofollow noreferrer"><em>Shelly Cashman Series&reg; Microsoft&reg; Office 365 &amp; Access 2016: Comprehensive, 1st Edition</em></a>, (2017).</p>
  
  <p>Table of Contents:</p>
  
  <blockquote>
    <p>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.</p>
  </blockquote>
  
  <p>Also worth a look is <a href="https://www.cengage.com/c/concepts-of-database-management-9e-starks" rel="nofollow noreferrer"><em>Concepts Of Database Management 9th</em></a></p>
  
  <p>Table of Contents:</p>
  
  <blockquote>
    <ol>
    <li>Introduction to Database Management.</li>
    <li>The Relational Model 1: Introduction, QBE, and Relational Algebra.</li>
    <li>The Relational Model 2: SQL.</li>
    <li>The Relational Model 3: Advanced Topics.</li>
    <li>Database Design 1: Normalization.</li>
    <li>Database Design 2: Design Method.</li>
    <li>DBMS Functions.</li>
    <li>Database Administration.</li>
    <li>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.</li>
    </ol>
  </blockquote>
  
  <p>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.</p>
  
  <p>(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&reg; 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.) </p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-19T16:44:31.420Z
Answers.Text: I have used resources from these, they are definitely good quality.
Answers.UserDisplayName: Scott Rowe
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-12-28T08:48:34.227Z
Answers.LastActivityDate: 2018-12-28T08:48:34.227Z
Answers.UserDisplayName: Gypsy Spellweaver
Answers.Body: <p>Database Systems Concepts by Silberschatz, Korth and Sudarshan comes with a comprehensive instructor/student resources web site provided by the authors. You can find slides, assignments and even a web based tool to practice SQL at <a href="https://www.db-book.com/db7/index.html" rel="nofollow noreferrer">https://www.db-book.com/db7/index.html</a></p>
  
  <p>If you are an instructor in a qualified educational institution, you can contact the book publisher. They provide additional resources for instructors like solutions to selected end of chapter exercises etc. </p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-11-28T08:51:05.537Z
Answers.LastActivityDate: 2019-11-28T08:51:05.537Z
Answers.UserDisplayName: bkm
Answers.Body: <p>"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. </p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-05-02T12:31:34.033Z
Answers.Text: I once reduced Normalization to four simple sentences, but students still have to visualize what is happening, which takes many nights of sleep to do. Then, "to comprehend the nectar, requires sorest need", brought on by carefully designed assignments. It is a long struggle to learn this stuff, I don't believe that it can be made easy.
Answers.UserDisplayName: Scott Rowe
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-06T03:46:16.170Z
Answers.LastActivityDate: 2019-01-06T03:46:16.170Z
Answers.UserDisplayName: Drimades Boy
Answers.Body: <p>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.</p>
  
  <p>For Exercises:<br>
  <a href="http://sqlzoo.net" rel="nofollow noreferrer">http://sqlzoo.net</a><br>
  <a href="http://pgexercises.com" rel="nofollow noreferrer">http://pgexercises.com</a><br>
  <a href="https://www.codewars.com/?language=sql" rel="nofollow noreferrer">https://www.codewars.com/?language=sql</a>  </p>
  
  <p>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): <a href="https://slides.com/lizh/sql-intro" rel="nofollow noreferrer">https://slides.com/lizh/sql-intro</a></p>
  
  <p>Make diagrams or have students make diagrams with: <a href="https://app.quickdatabasediagrams.com/#/" rel="nofollow noreferrer">https://app.quickdatabasediagrams.com/#/</a></p>
  
  <p>Usually the way I see SQL courses go:</p>
  
  <p>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.</p>
  
  <p>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.</p>
  
  <p>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).</p>
  
  <p>Some really great things to model, either as a class or as individual projects:</p>
  
  <ul>
  <li>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).</li>
  <li>Keyboard shortcuts (because you can relate them to applications, and keys)</li>
  <li>Transit (routes and schedules and busses, most students are familiar)</li>
  <li>Food (you can go a million different ways with this, this is a very difficult data model to do properly)</li>
  <li>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.)</li>
  </ul>
  
  <p>If this helps, I am the CTO over at enki.com, and we have an open-source CC-licensed curriculum here: <a href="https://github.com/enkidevs/curriculum" rel="nofollow noreferrer">https://github.com/enkidevs/curriculum</a>
  and a free app students can use to do daily practice with SQL here: <a href="https://enki.com/" rel="nofollow noreferrer">https://enki.com/</a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-12-29T02:19:19.053Z
Answers.Text: Excellent answer, welcome to [cseducators.se]. 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.
Answers.UserDisplayName: Gypsy Spellweaver
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-12-28T17:57:58.697Z
Answers.LastActivityDate: 2019-12-07T16:23:58.133Z
Answers.LastEditDate: 2019-12-07T16:23:58.133Z
Answers.UserDisplayName: Liz H
Body: <p>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?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-12-28T03:24:05.560Z
Comments.Text: Great question, and welcome to [cseducators.se]! Not my area of expertise,, but Ihope you get some helpful answers here :)
Comments.UserDisplayName: Ben I.
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-01-09T08:49:38.447Z
Comments.Text: 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.
Comments.UserDisplayName: Peter Taylor
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-12-10T09:35:28.597Z
Comments.Text: Nowadays I would expect a proper introduction to databases to also cover NoSQL databases. They're not a niche thing anymore that you only cover in the last lecture if you have time left.
Comments.UserDisplayName: ObscureOwl
Tags: <resource-request><databases><textbook>
Title: Do you know of a complete textbook for teaching databases?
ThreadText: # Do you know of a complete textbook for teaching databases?
  
  (Asked by: username_0 on 2018-12-28)
  
  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?
  
  **Tags:** resource-request, databases, textbook
  
  > **Comments:**
  > **username_1**: Great question, and welcome to [cseducators.se]! Not my area of expertise,, but Ihope you get some helpful answers here :)  
  > **username_2**: 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.  
  > **username_3**: Nowadays I would expect a proper introduction to databases to also cover NoSQL databases. They're not a niche thing anymore that you only cover in the last lecture if you have time left.  
  
  ---
  
  ## 4 answers
  
  ### Answer by username_8 on 2018-12-28. Score: 8
  
  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/username_8/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/>
  
  > **Comments:**
  > **username_4**: Excellent answer, welcome to [cseducators.se]. 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.  
  
  ---
  
  ### Answer by username_4 on 2018-12-28. Score: 3
  
  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*](https://www.cengage.com/c/shelly-cashman-series-microsoft-office-365-access-2016-comprehensive-1e-pratt/9781305870635), (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*](https://www.cengage.com/c/concepts-of-database-management-9e-starks)
  
  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.)
  
  > **Comments:**
  > **username_5**: I have used resources from these, they are definitely good quality.  
  
  ---
  
  ### Answer by username_6 on 2019-11-28. Score: 2
  
  Database Systems Concepts by Silberschatz, Korth and Sudarshan comes with a comprehensive instructor/student resources web site provided by the authors. You can find slides, assignments and even a web based tool to practice SQL at <https://www.db-book.com/db7/index.html>
  
  If you are an instructor in a qualified educational institution, you can contact the book publisher. They provide additional resources for instructors like solutions to selected end of chapter exercises etc.
  
  
  ---
  
  ### Answer by username_7 on 2019-01-06. Score: 1
  
  "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.
  
  > **Comments:**
  > **username_5**: I once reduced Normalization to four simple sentences, but students still have to visualize what is happening, which takes many nights of sleep to do. Then, "to comprehend the nectar, requires sorest need", brought on by carefully designed assignments. It is a long struggle to learn this stuff, I don't believe that it can be made easy.  
  
  ---
  
  