Professional Documents
Culture Documents
List of Experiments
2 Storing and retrieving data from a large flat file randomly with indexing 3
1
Experiment 1
Title:
Storing and retrieving data from a large flat file sequentially
Objective:
To understand the nuances of data at the physical level
Overview:
This experiment will allow students to understand the programming complexity of handling raw data stored in flat
files.
Problem:
Students will be required to write a program in C/C++ to store and retrieve large quantities of data in a sequential
fashion.
Resources:
Any C/C++ Programming Reference Text
Deliverables:
1. A program to perform the assigned task in C/C++
2. Output file for the given sample input
2
Experiment 2
Title:
Storing and retrieving data from a large flat file randomly with indexing
Objective:
To understand the importance indexing of data at the physical level
Overview:
This experiment will allow students to understand the challenges involved in managing indices at the physical level.
Problem:
Students will be required to write a program in C/C++ to store and retrieve large quantities of data using indexing
techniques.
Resources:
Any C/C++ Programming Reference Text
Deliverables:
1. A program to perform the assigned task in C/C++
2. Output file for the given sample input
3
Experiment 3
Title:
Designing ER Diagrams using the Crow’s Foot Notation
Objective:
To understand the process of mapping user requirements to database designs using the Crow’s Foot Notation.
Overview:
Students will learn the Crow’s Foot Notation for creating ER Diagrams.
Problem:
The students will be provided requirements for a real-world use case, and they will attempt to find and document the
involved Entities, their properties, and their inter-relationships, using the Crow’s Foot Notation.
Resources:
Microsoft Visio Help - Create a diagram with crow's foot database notation
https://support.microsoft.com/en-us/office/create-entity-relationship-diagrams-in-visio-7e44448c-9415-490b-8af1-f548f46ae90c
Deliverables:
A PDF file containing the designed ER Diagram
4
Experiment 4
Title:
Designing ER Diagrams using Chen’s Database Notation
Objective:
To understand the process of mapping user requirements to database designs using the Chen’s Database Notation.
Overview:
Students will learn Chen’s Database Notation for creating ER Diagrams.
Problem:
The students will be provided requirements for a real-world use case, and they will attempt to find and document the
involved Entities, their properties, and their inter-relationships, using Chen’s Database Notation.
Resources:
Microsoft Visio Help - Create a diagram with Chen’s database notation
https://support.microsoft.com/en-us/office/create-a-diagram-with-chen-s-database-notation-75d28eff-2509-4faf-8cd9-3eda5fb432
7b
Deliverables:
A PDF file containing the designed ER Diagram
5
Experiment 5
Title:
Installing and configuring MariaDB on a Virtual Machine
Objective:
To prepare and familiarise with the MariaDB environment to be used in later experiments
Overview:
Students will create a VM running some Linux flavour, where they will install and configure MariaDB.
Problem:
The students will be required to
1. Create a VM over Oracle Virtualbox running some Linux flavour (preferably Ubuntu)
2. Install MariaDB server over the VM and ensure that the server is accessible from the host machine
3. Examine common MariaDB preferences
4. Create a user at the server with a chosen password to use for later experiments
Resources:
1. How to run Ubuntu Desktop on a virtual machine using VirtualBox
https://ubuntu.com/tutorials/how-to-run-ubuntu-desktop-on-a-virtual-machine-using-virtualbox
2. How To Install MariaDB on Ubuntu 20.04
https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-20-04
3. Configuring MariaDB with Option Files
https://mariadb.com/kb/en/configuring-mariadb-with-option-files/
4. CREATE USER - MariaDB Knowledge Base
https://mariadb.com/kb/en/create-user/
Deliverables:
A text file containing all the commands required to make the required changes in the VM
6
Experiment 6
Title:
Managing MariaDB databases
Objective:
To create, export, and import MariaDB databases with different collations and character-sets
Overview:
Students will learn the process of porting a MariaDB database from one location to another, as well as handling
non-ASCII character-sets.
Problem:
The students will be required to
1. Create a MariaDB database using the user they created during Experiment 5, with the specified collation and
character-set
2. Create a set of tables for a given use case
3. Insert some sample rows into the tables
4. Export the database to a backup file
5. Delete the database
6. Import the database from the backup file
Resources:
1. CREATE DATABASE - MariaDB Knowledge Base
https://mariadb.com/kb/en/create-database/
2. Setting Character Sets and Collations - MariaDB Knowledge Base
https://mariadb.com/kb/en/setting-character-sets-and-collations/
3. CREATE TABLE - MariaDB Knowledge Base
https://mariadb.com/kb/en/create-table/
4. INSERT - MariaDB Knowledge Base
https://mariadb.com/kb/en/insert/
5. Making Backups with mysqldump - MariaDB Knowledge Base
https://mariadb.com/kb/en/making-backups-with-mysqldump/
6. DROP DATABASE - MariaDB Knowledge Base
https://mariadb.com/kb/en/drop-database/
Deliverables:
1. A bash script file to execute all the assigned tasks, using one or more SQL files
2. One or more SQL files containing the SQL commands to execute the operations over the MariaDB server
7
Experiment 7
Title:
Performing updates over tables
Objective:
To perform structural and data updates over a table in MariaDB
Overview:
Students will learn the SQL operations used for changing the schema of a MariaDB table as well as modifying any
existing data stored in a MariaDB table.
Problem:
The students will be required to
1. Alter the schema of some tables that they created during Experiment 6
2. Modify some data items stored in some tables that they created in Experiment 6
Resources:
1. ALTER TABLE - MariaDB Knowledge Base
https://mariadb.com/kb/en/alter-table/
2. UPDATE - MariaDB Knowledge Base
https://mariadb.com/kb/en/update/
Deliverables:
An SQL file containing the SQL commands to perform the assigned tasks over the MariaDB server
8
Experiment 8
Title:
Retrieving data from a single Table
Objective:
To retrieve specific data items from a single MariaDB table with required group statistics and ordering criteria
Overview:
Students will learn the SQL operations used for retrieving data from a single MariaDB table, grouping the data items
with specific traits together, finding group statistics about these groups, and ordering the retrieved data in a specific
order.
Problem:
The students will be required to
1. Fetch required data from a table that they created during Experiment 6
2. Find group statistics over data for certain criteria
3. Order the fetched data with a given ordering
Resources:
1. Getting Data from MariaDB - MariaDB Knowledge Base
https://mariadb.com/kb/en/getting-data-from-mariadb/
2. SELECT - MariaDB Knowledge Base
https://mariadb.com/kb/en/select/
Deliverables:
An SQL file containing the SQL commands to perform the assigned tasks over the MariaDB server
9
Experiment 9
Title:
Retrieving data from multiple Tables
Objective:
To retrieve specific, related data items spanning across multiple MariaDB tables
Overview:
Students will learn the SQL operations used for retrieving data from multiple MariaDB tables by appropriately
stitching heterogenous data items with some common traits.
Problem:
The students will be required to
1. Perform join operations over two or more tables that they created during Experiment 6
2. Use nested queries over two or more tables that they created during Experiment 6
Resources:
1. Getting Data from MariaDB - MariaDB Knowledge Base
https://mariadb.com/kb/en/getting-data-from-mariadb/
2. SELECT - MariaDB Knowledge Base
https://mariadb.com/kb/en/select/
Deliverables:
An SQL file containing the SQL commands to perform the assigned tasks over the MariaDB server
10
Experiment 10
Title:
Creating procedures and triggers
Objective:
To create stored procedures in MariaDB and use triggers to invoke them
Overview:
Students will learn about procedural SQL and auto-invocation of SQL operations on pre-defined events.
Problem:
The students will be required to
1. Create stored procedures to perform operations over the tables that they created during Experiment 6
2. Create triggers over events on tables that they created during Experiment 6
Resources:
1. CREATE PROCEDURE - MariaDB Knowledge Base
https://mariadb.com/kb/en/create-procedure/
2. CALL - MariaDB Knowledge Base
https://mariadb.com/kb/en/call/
3. CREATE TRIGGER - MariaDB Knowledge Base
https://mariadb.com/kb/en/create-procedure/
Deliverables:
One or more SQL files containing the SQL commands to perform the assigned tasks over the MariaDB server
11