Throughout the course, the students will implement a full database application with safe and efficient methods, based on the concepts learned. Additionally, where necessary, pointers to the NoSQL/non-relational database sessions with MongoDB and Hadoop are given.
Basic understanding of Linux and programming (at least C or Python) is required for this session.
The agenda is as follows:
Part 1: The basics
- Database management systems - What/How/Why
- The relational data model - Modeling languages
- Structured Query Language (SQL) - The basics
Part 2: Safe use of databases
- ACID - Making sure your data stays safe
- Transactions, race conditions, deadlocks
- SQL Injection - Malicious user requests
Part 3: Efficient use of databases
- Query plans
Part 4: Finishing up
- Application development with a database backend