Skip to content

IT-Academy-BCN/node-2-db

Repository files navigation

Database Sprint

Welcome to the Database Sprint! This sprint is designed to provide you with a comprehensive understanding of SQL and its application across various database systems. By the end of this sprint, you will know how to set up, manage, and query different databases using SQL. This repository contains all the exercises you will have to go through.

Overview

The sprint is structured into seven main modules, each focusing on a different aspect or tool related to databases. Here’s a brief overview of each module:

01 - Docker

In this module, you will learn how to set up Docker Desktop, which is essential for managing containerized applications. Docker will enable you to run different database systems in isolated environments, making it easier to switch between databases and manage dependencies.

02 - PostgreSQL

PostgreSQL is a powerful, open-source object-relational database system. This module will guide you through the installation, configuration, and basic operations of PostgreSQL. You will learn how to create databases, tables, and perform CRUD (Create, Read, Update, Delete) operations.

03 - Mysql

MySQL is another widely-used open-source relational database management system. This module will cover the basics of MySQL, including installation, configuration, and performing SQL operations. You will also learn about some of the key differences between MySQL and PostgreSQL.

04 - SQLite

SQLite is a lightweight, disk-based database that doesn’t require a separate server process. This module will introduce you to SQLite, focusing on its simplicity and ease of use. You will learn how to perform basic SQL operations and understand scenarios where SQLite is the ideal choice.

05 - DB Beaver

DB Beaver is a universal database tool for developers and database administrators. This module will show you how to install and use DB Beaver to connect to different databases, run queries, and manage database objects. You will explore the features of DB Beaver and understand how it can simplify database management tasks.

06 - Knex.js

Knex.js is a SQL query builder for JavaScript, providing a flexible way to interact with different databases. In this module, you will learn how to use Knex.js to write database-agnostic SQL queries, manage database migrations, and seed data.

07 - Prisma

Prisma is a modern database toolkit that simplifies database access for Node.js and TypeScript applications. This module will guide you through setting up Prisma, defining your data models, and performing database operations using Prisma’s intuitive API.

08 - Database Design

Database design is a critical aspect of building efficient and scalable databases. This module will cover the importance of Entity-Relationship Diagrams (ERDs) in clarifying requirements, improving communication, identifying issues early, and simplifying maintenance. You will design a database schema with additional tables and learn how to use tools like dbdiagram.io for database design.

Learning Objectives

By completing this sprint, you will:

  • Gain a solid understanding of SQL and its syntax.
  • Be able to set up and manage different types of databases.
  • Understand the differences between PostgreSQL, MySQL, and SQLite.
  • Use graphical tools like pgAdmin for database management.
  • Write database-agnostic SQL queries using Knex.js.
  • Integrate modern database access with Prisma.

Getting Started

  1. Clone the Repository: Start by cloning this repository to your local machine.

  2. Follow the Modules: Each module has its own directory with a detailed README.md file. Follow the instructions in each module sequentially.

  3. Ask Questions: If you have any questions or need help, feel free to open an issue in this repository or join our community forum.

  4. Practice: Practice is key to mastering SQL and databases. Make sure to complete all exercises and explore additional resources to deepen your understanding.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published