# Data storage, retrieval and representation Welcome to this chapter on data storage, retrieval, and representation! In this chapter, we will learn about databases, how to use the Structured Query Language (SQL) to query data from a database, and how to make beautiful graphics and dashboards with these data. SQL is a very powerful language, and although there are many different flavours and variations, most data intensive applications use it in one way or another. Moreover, database storage, retrieval, and data representation form the backbone of modern engineering and management applications. In management and engineering projects, databases store critical information, as we have already explained that data is the raw material to develop engineering models and calculations. The ability to rapidly retrieve and manipulate data can directly impact the speed and efficiency of data-driven decision-making. Moreover, proper data representation ensures that complex business metrics are easily understandable, allowing for agile decision-making and strategic planning. ## Objectives 🚀 Learn what is a database and what are the main types of databases. ⚡ Learn how to set up a database, how to connect to it, and how to organise and store data in a database. 🔍 Learn how to use SQL to query data from a database (sorting, grouping, joining, etc.). 📊 Learn how to use Python to connect to a database, query data, and represent it in tables and graphs. 😍 Learn how to build rich web dashboards with Python and SQL. ## 1️⃣ Introduction to databases ### Tutorials - [Introduction to databases](tutorials/Introduction%20to%20Databases.ipynb) - [Introduction to SQL](tutorials/1.%20Introduction%20to%20SQL.ipynb) - [Test environment](tutorials/0.%20Practice%20environment.ipynb) ### Class Exercises - [Introduction to SQL exercises](class%20exercises/1.%20Introduction%20to%20SQL.ipynb) ## 2️⃣ Indexing and Join clauses ### Tutorials - [Indexing and Join clauses](tutorials/2.%20Indexing%20and%20Join%20clauses.ipynb) ### Class Exercises - [Indexing and Join clauses](class%20exercises/2.%20Indexing%20and%20Join%20Operations.ipynb) ## 3️⃣ Data type functions ### Tutorials - [Data type functions](tutorials/3.%20Data%20Type%20Functions.ipynb) ### Class Exercises - [Data type functions](class%20exercises/3.%20Functions.ipynb) ## 4️⃣ Sorting and grouping ### Tutorials - [Sorting and grouping](tutorials/4.%20Sorting%20and%20grouping.ipynb) ### Class Exercises - [Sorting and grouping](class%20exercises/4.%20Sorting%20and%20grouping.ipynb) ## 5️⃣ Data storage and retrieval with Python ### Tutorials - [Data storage and retrieval with Python](tutorials/5.%20Data%20storage%20and%20retrieval%20with%20Python.ipynb) ## ➕ Extra Contents ### Tutorials - [Introduction to Python Pandas](../Data%20Manipulation/tutorials/Pandas%20tutorial.ipynb) - [Introduction to Python Matplotlib](../Data%20Manipulation/tutorials/Matplotlib%20tutorial.ipynb) - [Introduction to Python Streamlit](../Data%20Manipulation/tutorials/Streamlit%20tutorial.ipynb) - [Working with Markdown](../Introduction/tutorials/Working%20with%20Markdown%20cells.ipynb) ### Exercises - [Exercises with Pandas Dataframes](../Data%20Manipulation/exercises/Pandas%20Dataframes.ipynb) - [Exercises with Matplotlib](../Data%20Manipulation/exercises/Matplotlib.ipynb)