You are on page 1of 11

Department of Computer Science & Engineering

Database Management System Lab (CSC303)


Location: Lab 3/Lab 4 CSE Department

List of Experiments

Experiment Experiment Title Page


Number Number

1 Storing and retrieving data from a large flat file sequentially 2

2 Storing and retrieving data from a large flat file randomly with indexing 3

3 Designing ER Diagrams using the Crow’s Foot Notation 4

4 Designing ER Diagrams using the Chen’s Database Notation 5

5 Installing and configuring MariaDB on a Virtual Machine 6

6 Managing MariaDB databases 7

7 Performing updates over tables 8

8 Retrieving data from a single Table 9

9 Retrieving data from multiple Tables 10

10 Creating procedures and triggers 11

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

You might also like