# Week 1

This session is about understanding the entity relationship model, being able to use that knowledge and implement it building a database schema. With the database schema created, you should be able to create a database and test it using SQL statements.

## Contents

* [Preparation](https://program.hackyourfuture.dk/~/revisions/n2RGk5og1pvUUWu5OSlj/course-content/backend/databases/week1/preparation)
* [Session Plan](https://program.hackyourfuture.dk/~/revisions/n2RGk5og1pvUUWu5OSlj/course-content/backend/databases/week1/session-plan) (for mentors)
* [Assignment](https://program.hackyourfuture.dk/~/revisions/n2RGk5og1pvUUWu5OSlj/course-content/backend/databases/week1/assignment)

## Learning Goals

By the end of this session, you will be able to:

* [ ] Create an entity relationship diagram from a description of data requirements
* [ ] Translate a simple entity relationship diagram into a database schema
* [ ] Use SQL CRUD operations for more complex scenarios (INSERT with Foreign keys, DELETE with filters)
* [ ] Use foreign keys to establish relationships between tables
* [ ] Write SQL queries to retrieve related data using JOIN operations

## Main Topics

* Entity-Relationship Diagrams (ERDs):
  * Introduction to ERDs
  * Components: Entities, Attributes, Relationships (1:1, 1:M, M:M)
* Translating ERDs to Database Schema:
  * Mapping rules for tables, columns, primary keys (PKs), and foreign keys (FKs)
* Working with Related Data:
  * Foreign Keys and Constraints (ON DELETE, ON UPDATE actions)
  * SQL JOIN Operations (INNER JOIN, LEFT JOIN)
