1 - SQL Choose an application domain and, using a relational DBMS, build a database. (recommended) use an interesting existing dataset, i.e.:
- get interesting data from the Web or other sources (e.g., use the Web to look for a whole database, or data that can be easily imported into a relational DBMS) and build a relational database using such data
- formulate a set of SQL queries (about 8-10) over the relational schema
- execute such queries over the database and analyze the results
2 - SQL evaluation and optimization Starting from the database developed in the first part, identify at least 4 SQL queries that pose performance problems to the DBMS. Show how the use of indices and/or views and/or integrity constraints and/or query reformulation and/or schema restructuring makes query execution significantly faster on the DBMS.
3 - NoSQL Use a NoSQL tool (graph database, column database, key-value database, etc.) to manage and query the dataset: MongoDB.