tahminarasoli / databases

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Databases

I literally have a massive database of cat sounds.

Contents


Learning Objectives

What can you expect to learn in this module?

Programming Skills

  • Learn what relational database management systems (RDBMS) are
  • Learn about relational models, tables, columns, rows, primary keys, foreign keys and relationships
  • Learn how to write structured query language (SQL)
  • Familiarize some theoretical concepts: information systems, databases, RDMBs, relational models, tables, records, attributes, fields and keys
  • Learn how to navigate a (SQLite) database
  • Learn how to write basic SQL queries to read data using following statements: SELECT, ORDER BY, SELECT DISTINCT, WHERE, LIMIT, BETWEEN, LIKE, GROUP BY, JOIN
  • Learn how to write basic SQL queries to create, update and delete records and tables using the following statements: INSERT, UPDATE, DELETE, CREATE TABLE, ALTER TABLE, DROP TABLE
  • Learn about SQL injection

Tooling

Module Projects

Projects in this module will use the same folder structure & boilerplate code you learned in the previous web-apps module, but with an SQLite database instead of a .json file.

TOP


Suggested Study

Helpful resources for this module

expand/collapse

SQL

Tooling

  • TablePlus is a modern, native, and friendly GUI tool for several relational databases: SQLite, MySQL, PostgreSQL & more.
  • DB Browser for SQLite is a high quality, visual, open source tool to create, design, and edit database files compatible with SQLite.
  • SQLite Viewer is an online SQLite editor.
  • SQLite Editor by SQLite Tutorial is also an online SQLite editor, specifically for the Chinook sample database.
  • vscode-sqlite is a VSCode extension to explore and query SQLite databases.

SQLite & Node.js


TOP


Week 1

  • Familiarize some theoretical concepts: information systems, databases, RDMBs, relational models, tables, records, attributes, fields and keys
  • Learn how to navigate a (SQLite) database
  • Learn how to write basic SQL queries using the following statements: SELECT, ORDER BY, SELECT DISTINCT, WHERE, LIMIT, BETWEEN, LIKE, GROUP BY
  • Learn how to communicate with SQLite databases in JavaScript
  • Plan and scope projects around your data
expand/collapse

Before Class

./week-1/prep-work.md

During Class

Before Break

./week-1/sql-exercises.md

After Break

Begin planning and scoping your 2-week project.

After Class

Impress Yourselves

This module's project is a two-week group project. Anything goes! The most important thing to keep in mind for this module's project is scoping, it's better to build something small that works than something big that doesn't.

Here's a starter repository you can use, but you don't have to.

- [ ] [repo](https://github.com/_/_) (with a complete README)
- Project Planning
  - [ ] [Backlog](https://github.com/_/_/tree/master/project-planning/backlog.md)
  - [ ] [Development Strategy](https://github.com/_/_/tree/master/project-planning/development-strategy.md)
  - [ ] [Project board](https://github.com/_/_/projects/_)
- Implementation
  - [ ] Deployed - [deployment link]()
  - [ ] A working frontend in the `/client` directory
  - [ ] Uses the SQLite Chinook database
  - [ ] A working `/api` to access the the database

TOP


Week 2

  • Learn about primary keys, foreign keys, relationships and SQL injection
  • Learn how to write SQL queries to read data using following statements: JOIN
  • Learn how to write basic SQL queries to create, update and delete records and tables using the following statements: INSERT, UPDATE, DELETE, CREATE TABLE, ALTER TABLE, DROP TABLE
expand/collapse

Before Class

./week-2/prep-work.md

During Class

Before Break

./week-2/sql-exercises.md

After Break

Check in on project scoping and progress. Remember: small and working is better than big and broken!

After Class

Finish working on your projects from last week.


TOP


Class Recordings

  • Students: Here you can find recordings of this module from past classes. Enjoy!
  • Coaches: When sending your PR's with links please ...
    • Indicate which class you were teaching
    • Which week it was (if the module is more than 1 week)
    • Give your name
    • and a helpful description

Class 7 & 8

Dimitri Roose, Stijn Wynants

  1. Week 1

  2. Week 2:

Class 9 & 10

Dimitri Roose, Stijn Wynants

  1. Week 1
  2. Week 2 - server crash :(

About

License:Other


Languages

Language:HTML 61.3%Language:JavaScript 38.7%