bookloversolmaz / Databases

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Databases

Coaching this? Read the coach guidance here.

In this module your objectives are:

  • Design a database schema with at least two tables from a specification, including a one-to-many relationship between two tables, and create the schema in a database using SQL.
  • Use SQL to query a database to read data from one table or resulting of a join, create new records, update and delete.
  • Integrate a relational database to a program by test-driving classes which implement CRUD methods to send SQL queries to a database.
  • Explain how your program communicates with the database by creating a sequence diagram.

You will achieve these by working through a sequence of exercises and challenges over one week.

Sequence

Work through each of these exercises in sequence.

This module is designed to be worked on during a week. Here's a suggested pace β€” you might find you need more (or less) time than this to complete the challenges, and that's OK.

  • Day 1: SQL bites.
  • Days 2-5: Rest of the challenges
  • Solo challenge at the end of the week.

Phase Zero: Get started

Watch this introduction video before starting the sequence below.

Phase One: SQL Bites

Go through these exercises and learn how to setup PostgreSQL and use SQL to read and manipulate data stored in an existing database.

  1. Setting up PostgreSQL.
  2. Using psql to load data.
  3. Querying data.
  4. Updating or deleting data.
  5. Creating new data.
  6. Using TablePlus

Phase Two: Challenges

Go through these exercises and learn how to setup and gradually build a program which communicates with a database.

Some of these challenges include Process Feedback Challenges, in which you record yourself performing the task and share it with your coach for feedback. These are tagged with a πŸ“‘.

  1. Setting up a project.
  2. Designing a Repository class. πŸ“‘.
  3. Diagramming a database application. πŸ“‘.
  4. Designing a schema with one table.
  5. Designing a Repository class "find" method.
  6. Designing a schema with two related tables.
  7. Designing a Repository class "create" and "delete methods. πŸ“‘.
  8. Wrapping in an Application class

Phase Three: Joins and Many-to-Many

This is advanced material. Work on it only if you've completed all the challenges above.

  1. Using SQL joins
  2. Designing a Repository class using joins.
  3. Using joins with Many-to-many relationships
  4. Designing Many-to-many relationships
  5. Designing a Repository class with Many-to-many

Phase Four: Solo Project

Do this project solo. It is designed to help you test all of your skills for this module.

Fork the repo and work on your local fork, then open a pull request when you're done.

Shop Manager


How was this resource?
😫 πŸ˜• 😐 πŸ™‚ πŸ˜€
Click an emoji to tell us.

About


Languages

Language:Ruby 100.0%