DDD
DDD
Submitted by
C.Kiran Kumar Reddy [RA2311026010058]
Ryali Jayanthi Sayi Surya [RA2311026010004]
SCHOOL OF COMPUTING
KATTANKULATHUR
z
Problem Statement-
The Online Examination Management System is designed to streamline the process of conducting
online exams for educational institutions. It caters to different user roles, including Admin, Instructor,
and Student, each with unique access levels. Admins have full control over the system, enabling them to
manage user accounts, generate reports, and monitor exam activities. Instructors can create exams, set
the structure of questions (multiple-choice, short answer, etc.), configure time limits, and define grading
rules. Students, on the other hand, will log in to take exams, track their performance, and view their
results after completion.
The system provides various features to ensure smooth and secure exam management. It includes secure
user authentication, where each user role has restricted access to specific functionalities. Instructors can
schedule exams with defined start and end times, and the system will lock the exam once the time is up.
Grading is automated for objective-type questions, while subjective questions can be manually graded
by instructors. The platform also incorporates randomization of questions to prevent cheating, and
monitoring features to ensure the integrity of the exam process. Additionally, the system will notify
students about upcoming exams and allow them to resume exams if there are any disruptions in their
internet connection.
Security, scalability, and ease of use are key priorities for the system. The exam data will be encrypted,
and various anti-cheating mechanisms will be in place to maintain fairness. The system will be scalable
to accommodate large numbers of users, ensuring seamless access even during high-traffic periods. The
user interface will be intuitive for all stakeholders, ensuring that students, instructors, and admins can
navigate the system with ease. Ultimately, the Online Examination Management System aims to
improve the efficiency of exam administration, enhance accessibility, and provide real-time results and
feedback, benefiting both educational institutions and their students.
2
z
INTRODUCTION
Security, scalability, and ease of use are key priorities for the system. The exam data will be encrypted,
and various anti-cheating mechanisms will be in place to maintain fairness. The system will be scalable
to accommodate large numbers of users, ensuring seamless access even during high-traffic periods. The
user interface will be intuitive for all stakeholders, ensuring that students, instructors, and admins can
navigate the system with ease. Ultimately, it aims to improve the efficiency of exam administration,
enhance accessibility, and provide real-time results and feedback, benefiting both educational
institutions and their students.
Security and ease of use are fundamental in the design of the Online Examination Management System.
The platform is built with robust authentication protocols, preventing unauthorized access and ensuring
data security. The system also includes features like exam monitoring, question randomization, and
secure result processing to minimize the possibility of cheating or fraud. Additionally, it is designed to
handle high volumes of users simultaneously, making it scalable and reliable. By automating and
digitizing the examination process, the system offers a more efficient, accessible, and fair way to assess
student performance, benefiting both educational institutions and their students.
3
z
4
z
1.Student
Attributes:
Name
Date_of_Birth
Contact_Number
Address
Enrollment_Date
Gender
Exam
2.Exam
Attributes:
Exam_Name
Duration
Start_Date
End_Date
Total_Marks
Question
3.Questions
Attributes:
Question_Text
Option_A
5
z
Option_B
Option_C
Option_D
Correct_Option
Answer
4.Answers
Attributes:
Selected_Option
Time_Taken
Result
5.Results
Attributes:
Total_Marks_Obtained
Status (Pass/Fail)
Attempted_Questions
Admin
6.Admin
Attributes:
Admin_Name
6
z
Contact_Number
Subject
7.Subject
Attributes:
Subject_Name
Subject_Code
Exam_Subject
8.Question_Paper
Attributes:
Paper_Name
Creation_Date
9.Time_Slot
Attributes:
Slot_Start_Time
Slot_End_Time
10.Feedback
Attributes:
7
z
Feedback_Text
Rating
11.Payment
Attributes:
Amount
Payment_Date
Payment_Status
12. Notification
Attributes:
Notification_Text
Notification_Date
13.Attendance
Attributes:
Status (Present/Absent)
14.Audit Log
Attributes:
8
z
Action_Performed
Timestamp
15.Exam Schedule
Attributes:
Start Time
9
z
phone VARCHAR(15),
);
10
z
SUBJECT
CREATE TABLE subject (
);
('Mathematics', 'MATH101’),
('Physics', 'PHYS101’),
('Chemistry', 'CHEM101');
11
z
EXAM
CREATE TABLE exam (
subject_id INT,
);
12
z
QUESTIONS
CREATE TABLE questions (
exam_id INT,
);
13
z
ANSWER
CREATE TABLE answer (
question_id INT,
student_id INT,
selected_option VARCHAR(255),
time_taken INT,
);
14
z
PAYMENT
CREATE TABLE payment (
student_id INT,
payment_status ENUM('Pending', 'Completed', 'Failed') NOT NULL, FOREIGN KEY (student_id) REFERENCES
student(student_id)
);
15
z
FEEDBACK
CREATE TABLE feedback (
student_id INT,
exam_id INT,
feedback_text TEXT,
);
16
z
NOTIFICATION
CREATE TABLE notification (
student_id INT,
);
17
z
RESULT
CREATE TABLE result (
student_id INT,
exam_id INT,
);
18
z
SESSION
CREATE TABLE session (
);
19
z
ATTENDANCE
CREATE TABLE attendance (
student_id INT,
exam_id INT,
);
(1, 1, 'Present’),
(2, 2, 'Present’),
(3, 3, 'Absent');
20
z
QUESTION PAPER
CREATE TABLE questionpaper (
exam_id INT,
);
(1, 2),
(2, 1),
(3, 1);
21
z
TRIGGERS
DELIMITER
$$CREATE TRIGGER after_payment_insert
AFTER INSERT ON payment
FOR EACH ROW
BEGIN
IF NEW.amount > 0 THEN
UPDATE payment
SET payment_status = 'Completed’
WHERE payment_id = NEW.payment_id;
END IF;
END $$
22
z
23
z
DELIMITER $$
CREATE TRIGGER notify_exam_schedule
AFTER INSERT ON exam
FOR EACH ROW
BEGIN
-- Insert a notification to the student about the exam
INSERT INTO notification (student_id, notification_text, read_status)
SELECT student_id, CONCAT('Your exam for subject ‘,
(SELECT name FROM subject WHERE subject_id = NEW.subject_id), ' is
scheduled.'),
'Unread’
FROM student;
24
z
END$$
DELIMITER ;
25
z
VIEWS
26
z
27
z
FROM student s
LEFT JOIN payment p ON s.student_id = p.student_idGROUP
BY s.student_id, s.name, s.email;
29
z
CURSORS
DELIMITER $$
CREATE PROCEDURE process_student_results()
BEGIN
30
z
31
z
32
z
34
z
FUNCTIONAL DEPENDENCIES
Student:
student_id → name, date_of_birth, email, password, phone, registration_date
email → student_id, name, date_of_birth, password, phone, registration_date
Subject:
subject_id → subject_name, subject_code
subject_code → subject_id, subject_name
35
z
Exam:
exam_id → duration, total_marks, subject_id, status
exam_id → subject_id implies: subject_id → subject_name, subject_code via
FK relationship
Questions:
question_id → exam_id, question_text, status
exam_id + question_text → question_id
36
z
Answers:
answer_id → question_id, student_id, selected_option, time_taken
question_id + student_id → answer_id, selected_option, time_taken
Payment:
payment_id → student_id, amount, payment_status
student_id + payment_id → amount, payment_status
37
z
Feedback:
feedback_id → student_id, exam_id, rating, feedback_text
student_id + exam_id → feedback_id, rating, feedback_text
Notification:
notification_id → student_id, notification_text, read_status, notification_date
38
z
Result:
result_id → student_id, exam_id, marks, status
student_id + exam_id → result_id, marks, status
Session:
session_id → session_name, start_time, end_time
Attendance:
attendance_id → student_id, exam_id, status
39
z
Question Paper:
paper_id → exam_id, number_of_questions
exam_id → paper_id, number_of_questions
NORMALIZATION
40
z
Unnormalised Table
NORMALISED TABLE:
CREATE TABLE student (
student_id INT,
name VARCHAR(100),
date_of_birth DATE,
password VARCHAR(255),
registration_date TIMESTAMP
);
VALUES
41
z
student_id INT,
name VARCHAR(100),
date_of_birth DATE,
password VARCHAR(255),
registration_date TIMESTAMP
);
VALUES
(1, '[email protected]'),
(1, '[email protected]'),
(2, '[email protected]'),
(3, '[email protected]'),
(3, '[email protected]');
student_id INT,
name VARCHAR(100),
date_of_birth DATE,
password VARCHAR(255),
registration_date TIMESTAMP
);
VALUES
(1, '1234567890'),
(1, '0987654321'),
(2, '9876543210'),
(3, '1122334455'),
(3, '2233445566');
student_id INT,
exam_id INT,
marks INT,
);
43
z
VALUES
NORMALISED TABLES:
CREATE TABLE student_exam_UNF (
student_id INT,
exam_id INT,
marks INT,
);
44
z
student_id INT,
exam_id INT,
marks INT,
);
(101, 'Mathematics'),
(102, 'Physics'),
(103, 'Chemistry');
student_id INT,
exam_id INT,
45
z
marks INT,
);
46
z
student_name VARCHAR(100),
department_id INT,
);
VALUES
47
z
Normalised Tables:
CREATE TABLE student (
student_name VARCHAR(100),
department_id INT,
);
48
z
department_name VARCHAR(100),
department_location VARCHAR(100)
);
student_name VARCHAR(100),
49
z
);
VALUES
Normalised Tables:
student_name VARCHAR(100)
);
(1, 'Alice'),
(2, 'Bob');
student_id INT,
50
z
skill VARCHAR(100),
);
(1, 'Java'),
(1, 'Python'),
(2, 'C++'),
(2, 'JavaScript');
student_id INT,
hobby VARCHAR(100),
);
(1, 'Reading'),
(1, 'Swimming'),
(2, 'Chess'),
(2, 'Gaming');
51
z
exam_id INT,
invigilator_id INT,
room_id INT,
);
52
z
Normalised Tables:
CREATE TABLE exam_invigilator (
exam_id INT,
invigilator_id INT,
);
(1, 101),
(1, 102),
(2, 103),
(2, 104);
exam_id INT,
53
z
room_id INT,
);
(1, 201),
(1, 202),
(2, 203);
invigilator_id INT,
room_id INT,
);
(101, 201),
(101, 202),
(102, 201),
(103, 203),
(104, 203);
54
z
CONCLUSION
The development of the Online Examination Management System using SQL has significantly
improved the efficiency and accuracy of the examination process. By leveraging SQL for data
management, the system ensures secure storage, quick retrieval, and seamless handling of large
volumes of data related to candidates, questions, and results. The automation of key processes such as
exam scheduling, question generation, and result calculation has reduced administrative workload and
minimized human error. Additionally, the system's scalability and security features, including user
authentication and access control, ensure a smooth and secure examination experience. Overall, the
project demonstrates how a well-designed SQL-based system can enhance the reliability, security, and
effectiveness of managing online examinations.
55
z
56