0% found this document useful (0 votes)
104 views

Database Full Report

The document discusses a group project to develop a time management system for IIUM Waqaf. It includes: - Names of group members assigned to the project - Introduction describing the project to design a database application to recognize volunteers and students - Project guidelines and deliverables including an ERD, data dictionary, table scripts and sample queries - The ERD and data dictionary define tables for Organizers, Volunteers, Projects, Project Stats, and Feedback - Table creation scripts and sample data insertion for the tables - Five sample queries involving joins, functions and filtering on attributes from multiple tables

Uploaded by

Intiser Ahmed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
104 views

Database Full Report

The document discusses a group project to develop a time management system for IIUM Waqaf. It includes: - Names of group members assigned to the project - Introduction describing the project to design a database application to recognize volunteers and students - Project guidelines and deliverables including an ERD, data dictionary, table scripts and sample queries - The ERD and data dictionary define tables for Organizers, Volunteers, Projects, Project Stats, and Feedback - Table creation scripts and sample data insertion for the tables - Five sample queries involving joins, functions and filtering on attributes from multiple tables

Uploaded by

Intiser Ahmed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

INFO 1303

DATABASE SYSTEMS
Semester 2  2019/2020

GROUP PROJECT ON DATABASE SYSTEMS 

Lecture: Dr IZZUDDIN BIN MOHD. TAMRIN


SECTION 2

Group Members:

NAME MATRIC NO.

Imran MD Fahad Mahmud 1722081


Bin Rahman Fahan 1814669
Syed Haziq Hafiz Bin Syed 1916935
Haidzir
1513801
Salman Shafeeq Lone
Introduction

We are working on a project to develop a time management system for IIUM Waqaf. We have
been consulted by the Deputy rector of student affairs to design and produce a database
application system that would be able to recognize the volunteers and students. There are various
functions and rules that need to be added in the application that are required for the basis of this
project.

PROJECT GUIDELINES:
Project deliverables:

Task
1. Report
(ER/EER diagram and Data Dictionary)
2. SQL Script
(Tables)
3. SQL Queries
(At least 5 queries but must include the
use of joins and functions)
Task 1
Table name and attributes:
Organizers (org_id, org_name, org_address, org_phone_no)
Primary key (org_id)
Volunteers (s_id, s_name, s_nationality, s_department ,s_address, s_phone)
Primary key (s_id)
Project (project_id, project_name, project_time, project_venue, org_id, num_of_volunteers,
waqaf_time, p_semester)
Primary key (project_id)
Foreign key (org_id)
Project_stat (drsa_id, p_semester, approval_stat, project_id, org_id, completion_stats,
required_volunteers, registered_volunteers)
Primary key (drsa_id)
Foreign key (p_semester, project_id, org_id, registered_volunteers)
Feedback (feedback_id, project_id, org_id, s_id, p_satisfaction, p_significance,
p_adequacyOfTime, p_impact)
Primary key (feedback_id)
Foreign key (project_id, org_id, s_id)

Business rules:
1. Organizers and volunteers can register themselves
2. Organizers can set up projects (maximum 5 per semester)
3. DRSA have to approve the projects after setting up
4. Organizers can set limit of volunteers and waqaf for their project
5. Volunteers can register to take part in a project (maximum 3 per semester)
6. Organizers can modify the project details
7. The status of project will be tracked
8. Feedback option will be available to volunteers to evaluate the project aspects with
scoring mechanism (rate from 1-10)
EER Normalized Diagram:
Data Dictionary:

Table name Attribute name Type Required PK or FK


org_id CHAR(5) Y PK
Organizers org_name VARCHAR(20) Y
org_address VARCHAR(30) Y
org_phone_no CHAR(11) Y
s_id CHAR(5) Y PK
s_name VARCHAR(20) Y
Volunteers s_nationality CHAR(10) Y
s_department CHAR(10) Y
s_address VARCHAR(30) Y
s_phone CHAR(11) Y
project_id CHAR(5) Y PK
project_name VARCHAR(20) Y
project_time DATETIME Y
Project project_venue VARCHAR(30) Y
org_id CHAR(5) Y FK
num_of_volunteers CHAR(5)
waqaf_time DATETIME Y
p_semester CHAR(7) Y
drsa_id CHAR(5) Y PK
p_semester CHAR(7) Y FK
approval_stat VARCHAR(15) Y
Project_stat project_id CHAR(5) Y FK
org_id CHAR(5) Y FK
completion_stats VARCHAR(15) Y
required_volunteers CHAR(5) Y
registered_volunteers CHAR(5) FK
feedback_id CHAR(5) Y PK
project_id CHAR(5) Y FK
org_id CHAR(5) Y FK
Feedback s_id CHAR(5) Y FK
p_satisfaction SMALLINT
p_significance SMALLINT
p_adequacyOfTime SMALLINT
p_impact SMALLINT
Task 2

Table creation

create table Organizers(org_id char(5) NOT NULL,


org_name varchar(20) NOT NULL,
org_address varchar(30) NOT NULL,
org_phone_no char(12) NOT NULL,
PRIMARY KEY (org_id)
);

create table Volunteers(s_id char(5) NOT NULL,


s_name varchar(20) NOT NULL,
s_nationality char(10) NOT NULL,
s_department char(10) NOT NULL,
s_address varchar(30) NOT NULL,
s_phone char(12) NOT NULL,
PRIMARY KEY (s_id)
);

create table Project(project_id char(5),


project_name varchar(20) NOT NULL,
project_time varchar(30) NOT NULL,
project_venue varchar(30) NOT NULL,
org_id char(5) NOT NULL,
num_of_volunteers char(5),
waqaf_time varchar(30) NOT NULL,
p_semester char(7) NOT NULL,
PRIMARY KEY(project_id),
FOREIGN KEY (org_id) REFERENCES Organizers(org_id)
);

CREATE TABLE Project_stat(drsa_id char(5),


p_semester CHAR(7) NOT NULL,
approval_stat VARCHAR(15) NOT NULL,
project_id CHAR(5) NOT NULL,
org_id char(5) NOT NULL,
completion_stats VARCHAR(15) NOT NULL,
required_volunteers CHAR(5) NOT NULL,
registered_volunteers CHAR(5),
PRIMARY KEY(drsa_id),
FOREIGN KEY (project_id) REFERENCES Project(project_id),
FOREIGN KEY (org_id) REFERENCES Organizers(org_id)                  
);

CREATE TABLE Feedback(feedback_id CHAR(5) Not Null,


project_id CHAR(5) NOT NULL,
org_id CHAR(5) NOT NULL,
s_id CHAR(5) NOT NULL,
p_satisfaction SMALLINT,
p_significance SMALLINT,
p_adequacyOfTime SMALLINT,
p_impact SMALLINT,
PRIMARY KEY(feedback_id),
FOREIGN KEY (project_id) REFERENCES Project(project_id),
FOREIGN KEY (org_id) REFERENCES Organizers(org_id),
FOREIGN KEY (s_id) REFERENCES Volunteers(s_id)                  
);

Populate the table 

INSERT into Organizers VALUES('O1', 'Jamal', 'GOMBAK','018-2223-232');

INSERT into Organizers VALUES('O2', 'Mohammed', 'Batu2','019-3223-256');

INSERT into Organizers VALUES('O3', 'Kamal', 'Petaling Jaya','014-1234-252');

INSERT into Volunteers VALUES('V1','Kamil','Indian','CS','Gombak','019-4322-343');

INSERT into Volunteers VALUES('V2','Hassan','Yemani','CS','Gombak','017-3452-223');

INSERT into Volunteers VALUES('V3','Kother','Malaysian','English','Petaling Jaya','018-4321-


543');

INSERT into Volunteers VALUES('V4','Reem','Indonesian','Fiqh','Taman Melati','017-2322-563');

INSERT into Volunteers VALUES('V5','Shihab','Morrocan','Math','Gombak','019-5432-522');

INSERT INTO Project VALUES('P1','Gombak Madrasah','2020-03-18 01:30:00','Masjed


Shah','O1','4','2020-03-18 03:30:00','1');

INSERT INTO Project VALUES('P2','Quran Competition','2020-07-14


12:00:00','CAC','O2','2','2020-03-18 14:30:00','2');
INSERT INTO Project VALUES('P3','Feeding the Homeless','2020-02-28 14:30:00','Masjed
Shah','O3',NULL,'2020-03-18 15:30:00','2');

INSERT INTO Project VALUES('P4','Orphanage Visit','2020-05-23 12:00:00','Masjed


Shah','O1','5','2020-03-18 18:30:00','3');

INSERT INTO Project VALUES('P5','Teaching','2020-04-12 15:30:43','CAC','O2','4','2020-03-18


17:30:00','1');

insert into Project_stat VALUES ('D1','2','Approved','P1','O1','100%','8','8');

insert into Project_stat VALUES ('D2','3','Pending','P2','O2','0%','10','1');

insert into Project_stat VALUES ('D3','2','Approved','P3','O3','70%','15','15');

insert into Project_stat VALUES ('D4','1','Rejected','P4','O2','0%','30','0');

insert into Project_stat VALUES ('D5','1','Approved','P5','O3','100%','5','5');

INSERT INTO Feedback VALUES ('F1','P1','O1','V1',9,9,NULL,9);

INSERT INTO Feedback VALUES ('F2','P2','O2','V2',7,NULL,NULL,NULL);

INSERT INTO Feedback VALUES ('F3','P3','O3','V3',10,10,10,10);

INSERT INTO Feedback VALUES ('F4','P4','O2','V3',NULL,NULL,NULL,NULL);

INSERT into Feedback VALUES ('F5','P5','O3','V4',8,10,10,8);


TASK 3

Queries

1. Display the details of organizers with projects containing more than 3 volunteers
select
Organizers.org_id,Organizers.org_name,Organizers.org_address,Organizers.org_phone_no,
Project.num_of_volunteers from Project
right join Organizers on Organizers.org_id = Project.org_id
where Project.num_of_volunteers >3;

2. Display the details of Organizers who joined in semester 2 and venue is Masjed
Shah

Select
Organizers.org_id,Organizers.org_name,Organizers.org_address,Organizers.org_phone_no
from Organizers
full join project on project.org_id = Organizers.org_id
where project.p_semester = '2' and project.project_venue = 'Masjed Shah';
3. Display the details of organizers with approved projects
select distinct organizers.org_id, organizers.org_name,
organizers.org_address,organizers.org_phone_no from organizers
LEFT JOIN Project_stat on Project_stat.org_id = organizers.org_id
where approval_stat = 'Approved';

4. Count how many times the venue was used and the organizers id and name 

select count (project_venue), project_venue, Organizers.org_id,Organizers.org_name from


project
right join Organizers on Organizers.org_id = project.org_id
group by(project_venue,Organizers.org_id,Organizers.org_name);
5. Display the details of volunteers with project satisfaction > 7

Select Volunteers.s_id, Volunteers.s_name, Volunteers.s_nationality,


Volunteers.s_department ,Volunteers.s_address,Volunteers.s_phone,Feedback.p_satisfaction
from Volunteers
left join Feedback on Feedback.s_id = Volunteers.s_id
where Feedback.p_satisfaction > 7;

Video link:
Task 1: https://youtu.be/Rti94YxYWts
Task 2: https://www.youtube.com/watch?v=R5IUt0Ad_H0&feature=youtu.be
Task 3: https://youtu.be/Bx1J6O0AUP8

You might also like