Public - Sample Project Report
Public - Sample Project Report
Submitted by
John Doe (20B1234)
Mary Brown (20C2235)
August 2021
Abstract
Video Explanation of the sample project
2
This report mainly includes the background and development process of the
project. The main steps in the development process are identifying the Entities
and the Relationship among them and presenting them in graphical form with an
ER Diagram. It also includes some of the SQL queries used in the implementation
of the MySQL Database.
This project can be useful for JMC and other similar institutions.
ACKNOWLEDGEMENTS
We are very pleased to present the report “Database Management System for Janata
Multiple Campus” which has been prepared for the partial fulfilment of the Bachelor of
Business Management (BBM).
We would like to express our deep gratitude to the report supervisor Lecturer Mr. Alex
for his guidance, and supervision.
We are also thankful to Campus chief Dr. James for advising throughout the entire
semester and the program in charge of BBM, Mr. Peter, for his continuous support
during the period of the project work.
Table of Contents
Introduction ……………………………………………................ 5
Background ……………………………………………….…….... 7
ER Diagram …….…….…….…….…….…….…….…….……….. 12
Summary …….…….…….…….…….…….…….…….…….……. 45
Problem Statement
Currently, JMC uses two methods for Managing its Database.
● Traditional Pen and Paper Method
● File Management System in Computer
Duplication of Data
The Records of the Students are being Duplicated in Accounts, Library and other
Departments.
Update Issues
The updates have to be done in multiple places and there is no proper system to
check if it is updated correctly everywhere.
No Backup
There is no backup system which means the Campus is always at a risk of losing
Data completely or partially.
Besides, this project can also be used to Integrate the Data with an MIS
Application in the future.
Background
The project uses the following technologies.
DBMS: MySQL
MySQL is an open-source relational database management system (RDBMS).
XAMPP
XAMPP is a stack of software that provides easy access to MySQL.
phpMyAdmin
phpMyAdmin is an open-source client for MySQL. It provides the functionality of
operating and managing Databases in MySQL.
Books
For understanding the theory of DBMS and SQL, we took the following books for
reference.
1. Saud, A.S and Saud, B.S (2073). Introduction to Database System. Kriti
Books Publishers & Distributors Pvt. Ltd., 2nd ed
2. Abraham Silberchatz, Henry F. Korth, S.Sudarshan; Database System
Concepts. McGraw Hill, 6th ed
Entity-Relationship Model
The Entity-Relationship Model (ER Model) is used to describe the structure of the
Database. It takes into account the following:
ER Diagram
The core of the ER Model is the Entity-Relationship Diagram (ER Diagram), a
graphical representation of the ER model. It is like a blueprint of a database.
1. Department
2. Program
3. Student
4. Lecturer
5. Subject
Attributes
The Properties of an entity are called Attributes. The attribute(s) which can
uniquely identify the Entity is called Primary Key. The main Attributes of all the
above Entities are listed in the table below. The Primary Keys are underlined.
Entity Attributes
Department_Id
Department Department_name
HOD
Program_Id
Program_name
Program No_of_years
Total_fees
Program_coordinator
Student_Id
Roll_no
First_name
Last_name
Gender
Contact_number
Student
Email_address
DOB
Country
City
Street
Ward_no
Lecturer Lecturer_Id
First_name
Last_name
Gender
Contact_number
Email_address
DOB
Designation
Country
City
Street
Ward_no
Subject_Id
Subject_Code
Subject Subject_name
Credit_hours
Total_Preiods
ER Diagram
Note: The diagram is shown stepwise to make it easy to understand. You can
directly put the final ER Diagram in your project.
ER Diagram: Step 1
Depart Progra
ment m
Student
Lecture Subject
r
ER Diagram: Step 2
Regis
Enro
Student
Works Specif
Lect
Lecture Subject
r Teac
ER Diagram: Step 3
Depart 1 N Progra
Mana
ment m
1
N M
Regis 1
Enro
N N
Student
Works N
Specif
Lect
M
M N
Lecture M N
Subject
r Teac
ER Diagram: Step 4
Program
No_of
Depart Program
Dept_ N
Depar 1 Man Progr Total_f
tment 1 am
HOD
N 1 M Program_
Reg
Enr
N N
Stude
nt
Wor N
Spe
Lec
M
M N
Lectur M N Subje
er Tea ct
ER Diagram: Step 5
Program
No_of
Depart Program
Dept_ N
Depar 1 Man Progr Total_f
tment am
HOD 1
N 1 M Program_
Reg
Enr
Stud
N N
Ro Stude
nt Gen
Work N
DOB Spe
Email_
Lec
M First_na Last_
M N
Lectur M N Subje
er Te ct
ER Diagram: Step 6
Program
No_of_
Departm Program
Dept_n N
Depar 1 Man Progr Total_fe
tment am
HOD 1
N 1 M
Regi Program_c
Enr
Stude
N N
Roll Stude
nt
Work N Ge
Spe
DOB Email_
Lec
M First_na Last_
M Contact N Total_Pr
Lectur M N Subje
er Tea Subje
ct
Subject_
Lectu Ge Contact_ Subject
Credit_
First Design
Last
Note: Some Attributes of Student and Lecturer entities are not present in the ER Diagram. They
have been excluded to avoid the over-complexity of the ER Diagram.
Program
No_of_
Departm Program
Dept_n
Depar 1 N Progr
Man Total_fe
tment am
HOD
Program_c
Department
Department_Id Department_name HOD
Program
Program_Id Program_name No_of_years Total_fees
Program_coordinator Department_Id(FK)
Step 2: Lecturer
There is a ‘Many to Many’ Relationship between the Department and Lecturer.
So, we will create a new table for Works For Relationship. Also, we will create a
separate table for Contact_number as it has multiple values.
Depart
Dept_n
Depart
ment
HOD
N
Works
Lectur
er
Lectur Ge Contact_n
First_ Designa
Last_
Lecturer
Lecturer_Id First_name Last_name Gender Email_address DOB Designation
Lecturer_Works_For_Department
Lecturer_Id(FK) Department_Id(FK)
Lecturer_Contact_number
Lecturer_Id(FK) Contact_number
Step 3: Student
There is a ‘One to Many’ Relationship between Program and Student. So, we use
Program_Id as a Foreign Key in the Student table. Also, we will create a separate
table for Contact_number as it has multiple values.
Program_Id
No_of_year
Program_nam
Program Total_fees
1 Program_coordin
Enrolls
Student_I
N
Roll_no
Student
Gend
DOB Email_addr
First_name Last_na
Contact_num
Student
Student_Id Roll_no First_name Last_name Gender Email_address DOB
Student_Contact_number
Student_Id(FK) Contact_number
Step 4: Subject
There is a ‘Many to Many’ Relationship between Program and Subject. There is
also a ‘Many to Many’ Relationship between Lecturer and Subject. So, we will
create two separate tables for Specifies and Teaches Relationship.
Program
No_of
Program
N Progr Total_f
am
M Program_
Spe
N Total_P
Lectu M N Subje
rer Te Subj
ct
Subject
Lectu Ge Contact_ Subjec
Credit_
First Design
Last
Subject
Subject_Id Subject_Code Subject_name Credit_hours Total_Preiods
Lecturer_Teaches_Subject
Lecturer_Id(FK) Subject_Id(FK)
Program_Has_Subject
Program_Id(FK) Subject_Id(FK)
Department
Department_Id Department_name HOD
Program
Program_Id Program_name No_of_years Total_fees
Program_coordinator Department_Id(FK)
Lecturer
Lecturer_Id First_name Last_name Gender Email_address DOB Designation
Lecturer_Works_For_Department
Lecturer_Id(FK) Department_Id(FK)
Lecturer_Contact_number
Lecturer_Id(FK) Contact_number
Student
Student_Contact_number
Student_Id(FK) Contact_number
Subject
Subject_Id Subject_Code Subject_name Credit_hours Total_Preiods
Lecturer_Teaches_Subject
Lecturer_Id(FK) Subject_Id(FK)
Program_Has_Subject
Program_Id(FK) Subject_Id(FK)
Table Creation
Department Table
Program Table
CREATE TABLE Program
(
Program_Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Program_name VARCHAR(100) NOT NULL,
No_of_years DECIMAL(2, 2) NOT NULL,
Total_fees DECIMAL(10, 2) NOT NULL,
Program_coordinator VARCHAR(100) NOT NULL,
Department_Id int NOT NULL,
FOREIGN KEY (Department_Id) REFERENCES Department(Department_Id)
);
Lecturer Table
CREATE TABLE Lecturer
(
Lecturer_Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
First_name VARCHAR(100) NOT NULL,
Last_name VARCHAR(100) NOT NULL,
Gender VARCHAR(15) NOT NULL,
Email_address VARCHAR(320) NOT NULL,
DOB DATE NOT NULL,
Designation VARCHAR(100) NOT NULL,
Country VARCHAR(100) NOT NULL,
City VARCHAR(100) NOT NULL,
Street VARCHAR(100) NOT NULL,
Ward_no int NOT NULL
);
Lecturer_Works_For_Department Table
CREATE TABLE Lecturer_Works_For_Department
(
Lecturer_Id int NOT NULL,
Department_Id int NOT NULL,
PRIMARY KEY (Lecturer_Id, Department_Id),
FOREIGN KEY (Lecturer_Id) REFERENCES Lecturer(Lecturer_Id),
FOREIGN KEY (Department_Id) REFERENCES Department(Department_Id)
);
Lecturer_Contact_number Table
Student Table
CREATE TABLE Student
(
Student_Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Roll_no int NOT NULL,
First_name VARCHAR(100) NOT NULL,
Last_name VARCHAR(100) NOT NULL,
Gender VARCHAR(15) NOT NULL,
Email_address VARCHAR(320) NOT NULL,
DOB DATE NOT NULL,
Country VARCHAR(100) NOT NULL,
City VARCHAR(100) NOT NULL,
Street VARCHAR(100) NOT NULL,
Ward_no int NOT NULL,
Program_Id int NOT NULL,
FOREIGN KEY (Program_Id) REFERENCES Program(Program_Id)
);
Student_Contact_number Table
Subject Table
Lecturer_Teaches_Subject Table
CREATE TABLE Lecturer_Teaches_Subject
(
Lecturer_Id int NOT NULL,Subject_Id int NOT NULL,
PRIMARY KEY (Lecturer_Id, Subject_Id),
FOREIGN KEY (Lecturer_Id) REFERENCES Lecturer(Lecturer_Id),
FOREIGN KEY (Subject_Id) REFERENCES Subject(Subject_Id)
);
Program_Has_Subject Table
Final Tables
Data Insertion
Inserting in Department Table
(`Program_name`,`No_of_years`,`Total_fees`,`Program_coordinator`,
Department_Id`)
VALUES ('BBM',4,400000,'Kimberly',2),
('BBA',4,500000,'David',2),
('BSc General',4,250000,'Edward',1),
('BSc CSIT',4,450000,'Jack',1),
('MSc CSIT',2,200000,'Rachel',1),
('BA English',3,100000,'Leonard',3),
('BA Fne Arts',4,400000,'Victoria',3)
('Vanessa','Anderson','Female','[email protected]',
'1982-04-04',
'Professor','Nepal','Kathmandu','Old Baneshwor',2);
Summary
Now the Campus can use the DBMS for Storing, Managing, and Updating their
data on a regular basis. This will help them get rid of the Data Duplication,
Inconsistency and many other issues they were facing due to the use of
traditional Methods.
The two main limitations of this project are it lacks relations for Library and
Fees/Billing management. This limitation was caused due to the time constraint.
In the future, we plan to enhance the DBMS so that it can properly handle the
data from the college’s Library and Accounts Sections.
https://bit.ly/4kxR1p6