1 | P a g e
ONLINE JUDGE DATABASE
A REPORT SUBMITED TO DEPARTMENT OF COMPUTER SCIENCE AND
ENGINEERING, AIUB IN PART –FULFILLMENT OF THE REQUIREMENTS OF THE
FINAL
EXAMINATION IN INRTODUCTION TO DATABASE, FALL SEMESTER 2013-14
PREPARED & SUBMITTED BY
GROUP NAME:
SECTION:
ISLAM, MD. IMADUL
(12-21719-2)
ASHAN, A.S.M SANZIDUL
(12-21848-2)
AHMED, TANVEER
(12-21825-2)
ISLAM, MD. SAIFUL
(12-21963-2)
COURSE ISTRUCTOR:
NASHIA AHMED NABILA
PREFACE
ONLINE JUDGE DATABASE IS A UNIQUE DATABASE SYSTEM THAT HELPS
INSTRUCTORS TO VIEW HOW MANY PROBLEMS SOLVED AND TOUCHED BY
CONTESTENTS.
IT IS THE BEST WAY THAT ENHANCE OUR KNOWLEDGE ABOUT
PROGRAMMING.
IT IS THE ONLY WAY TO ARRANGE AN INTERNATIONAL PROGRAMMING
CONTEST.
2 | P a g e
ACKNOWLEDGEMENT
FIRST AND FOREMOST, WE WOULD LIKE TO THANK OUR COURSE INSTEUCTOR
OF THIS INTRODUCTION TO DATABASE COURSE TEACHER NASHIA AHMED
NABILA FOR THE VALUABLE GUIDANCE AND ADVICE.SHE INSPIRED US GREATLY
TO WORK IN THIS TEAM PAPER.HER WILLINGNESS TO MOTIVATE US
CONTRIBUTED TREMENDOUSLY TO OUR WORK.WE ALSO WOULD LIKE TO
THANK HER FOR HER VALUABLE TIME BY HELPING US FOR THIS TERM PAPER.
FINALLY, AN HONORABLE MENTION GOES TO OUR FAMILIES AND FRIENDS FOR
THEIR UNDERSTANDINGS SUPPORTS ON US IN COMPLETING THIS
REPORT.WITHOUT HELPS OF THE PARTICULAR THAT MENTIONED ABOVE, WE
WOULD FACE MANY DIFFICULTIES WHILE DOING THIS PROJECT.
3 | P a g e
TABLE OF CONTENT
TITLE PAGE ---------------------------------------------------------------------------------- 01
PREFACE -------------------------------------------------------- --------------------------02
ACKNOWLEDGEMENT ----------------------------------------------------------------------------------03
TABLE OF CONTENT ---------------------------------------------------------------------------- ------04
ABSTRACT -------------------------------------------------------------------------------- 05
PREVIOUS SYSTEM -------------------------------------------------------------------------------- 06
IDENTIFICATION NEED -------------------------------------------------------------------------------- 06
DEVELOPED SYSTEM -------------------------------------------------------------------------------- 06
PROBLEM ANALYSIS -------------------------------------------------------------------------------- 07
FUNCTION REQUIREMEMT -------------------------------------------------------------------------------- 08
ER-DIAGRAM -------------------------------------------------------------------------------- 09
MAPING -------------------------------------------------------------------------------- 10
SCHEMA DIAGRAM ---------------------------------------------------------------------------------11
DESCRIPTION --------------------------------------------------------------------------------- 12
TABLE ---------------------------------------------------------------------------------- 13
QUERY ----------------------------------------------------------------------------------16
VIEW --------------------------------------------------------------------------------- 18
CONCLUSION ---------------------------------------------------------------------------------- 19
4 | P a g e
ABSTRACT
ONLINE JUDGE DATABASE IS A UNIQUE DATABASE SYSTEM THAT HELPS
INSTRUCTORS TO VIEW HOW MANY PROBLEMS SOLVED AND TOUCHED BY
CONTESTENTS.
IT IS THE BEST WAY THAT ENHANCE OUR KNOWLEDGE ABOUT
PROGRAMMING.
IT IS THE ONLY WAY TO ARRANGE AN INTERNATIONAL PROGRAMMING
CONTEST.
5 | P a g e
PREVIOUS SYSTEM
PREVIOUS SYSTEM REQUIRE HUMAN INTERFACR FOR JUDGEING THE
PROBLEMS. IT IS ALMOST IMPOSSIBLE TO CHECK MILLIONS OF PROBLEM BY
HUMAN. BUT THIS ADVANCED DATABASE SYSTEM CHANGES EVERYTHING. IT
CAN CHECK MILLIONS OF PROBLEMS WITHIN FEW MOMENTS.
IDENTIFICATION NEED
ONLINE JUDGE DATABASE SYSTEM IS USE TO STORE INFORMATION ABOUT
MILLIONS OF USER, PROBLEMS, PROBLEM SETTER, AND STATUS OF
SUBMITTED PROBLEM AND MOST IMPORTANTLY ARRANGE PROGRAMMING
CONTAST. THIS KIND OF DATABASE NOW MOSTLY NEEDED FOR MAKING OUR
LIFE EASIER.
DEVELOPED SYSTEM
THIS DATABASE SYSTEM ARE ABLE TO KEEP ALL USERS, PROBLEMS, PROBLEM
SETTER, AND MOST IMPORTANTLY IT’S CONTAINS HUGE COMPILER WHICH
CAN USED MULTIPLE PROGRAMMING LANGUAGE AND its TASKING CAPACITY
24×365.
6 | P a g e
PROBLEM ANALYSIS
PROBLEM STATEMENT:
THE OBJECTIVE OF THIS PORJECT IS TO
REDESIGN AND DEVELOP ONLINE JUDGE MANAGEMENT
DATABASE SYSTEM.
TECHNOLOGIES:
Oracle Database 11g Express Edition IS USED TO SUCESSFULLY DO THIS
PROJECT.
7 | P a g e
FUNCTIONAL REQUIREMENT
PERTAINING TO USER:
8 | P a g e
INDIVIDUAL USER DETAILS
PEOBLEM LIST OF USER
COUNT OF SOLVE PROBLEMED
PERTAINING TO MEMBER:
COMPLETE RECORD OF MENBER INDIVIDUAL
ACTIVITY DETAILS
PERTAINING TO PEOBLEM SOLVE:
COMPLETE RECORD OF PROBLEM SOLVED DETAILS
PERTAINING TO LEVEL:
COMPLETE INFORMATION OF LEVEL
PERTAINING TO CATAGEORY:
COMPLETE INFORMATION OF CATAGEORY
PERTAINING TO PROBLEM SETTER:
COMPLETE INFORMATION OF PROBLEM SETTER
9 | P a g e
DEF_LANGU
AGE
M_NAME
JOIN_DATE
M_ID
MAMBER
SOLVED
PROBLEM
P_ID
PS_ID
C_ID
P_NAME
VOLUME_
NO
ASSINGED
HAS
PROBLEM_SETTER PROBLEM_SET CATAGORY
PS_NAME PS_ID VOLUME
_NO
C_ID C_NAME
QUERY:
1. Show the info of member and problem whose problem is accepted
= select M.M_ID, M.M_NAME, MS.P_ID, P.P_NAME FROM MAMBER M,
MY_SUBMISSION MS, PROBLEM P where (M.M_ID = MS.M_ID) AND (MS.P_ID =
P.P_ID) AND MS.STATUS = 1
2. Show the info of member and there problem number that they were failed to
solved
= select m.M_ID, m.m_name, count(ms.p_id) from mamber m, my_submission ms
where (m.m_id = ms.m_id) and (ms.status = 0) GROUP BY m.M_ID, m.m_name
3. Find info of problem which problem is solved and checked by at last 3 member
= select p.p_id, p.p_name from problem p, my_submission ms where (p.p_id =
ms.p_id) and (ms.status = 1) group by p.p_id, p.p_name having count(ms.m_id) >=3
4. Find the problem setter and problem info which problem is not solved
= select p.p_id, p.p_name, ps.ps_id, ps.ps_name from problem p, problem_setter ps,
my_submission ms where (p.p_id = ms.p_id) and (p.ps_id = ps.ps_id) and (ms.status
= 0) group by p.p_id, p.p_name, ps.ps_id, ps.ps_name
5. Find the info of the problems and volume number which is solved by java or C#
= select p.p_id, p.p_name, v.VOLUME_NO from problem p, my_submission ms,
problem_set v where (p.p_id = ms.p_id) and (v.VOLUME_NO = p.VOLUME_NO) and
(ms.language = 'JAVA' or ms.language = 'C#')
16 | P a g e
6. Find the info of the member and count problem no who have solved 'NASHIA
AHMED NABILA' problem
= select m.m_id, m.m_name, count(ms.p_id) from mamber m, problem p,
my_submission ms, problem_setter ps where (m.m_id = ms.m_id) and (ms.p_id =
p.p_id) and (p.ps_id = ps.ps_id) and (ps.ps_name = 'NASHIA AHMED NABILA') group
by m.m_id, m.m_name
7. Find the info of member who has successfully solved 'NASHIA AHMED NABILA''s
problem.
= select m.m_id, m.m_name from mamber m, problem p, my_submission ms,
problem_setter ps where (m.m_id = ms.m_id) and (ms.p_id = p.p_id) and (ms.status
= 1) and (p.ps_id = ps.ps_id) and (ps.ps_name = 'NASHIA AHMED NABILA')
8. Find the problem and problem setter info that member were failed to solved.
= select ps.ps_id, ps.ps_name, p.p_id, p.p_name from problem_setter ps,
my_submission ms, problem p where (ms.p_id = p.p_id) and (p.ps_id = ps.ps_id) and
(ms.status = 0)
9. Find the info of problem and category that was unable to solve by member 'M1'.
= select p.p_id, p.p_name, c.c_id, c.c_name from problem p, catagory c,
my_submission ms where (ms.p_id = p.p_id) and (p.c_id = c.c_id) and (ms .status = 0)
and (ms.m_id = 'M1')
10. Show the number of the problem of category 'C1'.
= select count(p.p_id) from problem p, catagory c where (p.c_id = c.c_id) and (c.c_id
= 'C1')
17 | P a g e
VIEW
1. Show the info of member and problem whose problem is accepted.
2. Find the problem setter and problem info which problem is not solved.
3. Find the info of the problems and volume number which is solved by
java or C#.
18 | P a g e
4. Find the info of member who has successfully solved 'NASHIA AHMED
NABILA''s problem.
5. Find the problem and problem setter info that member were failed to
solved.
Conclusion:
The Online Judge database management is beneficial for those
who can easily judge himself/herself. The Judgment system create
an opportunity for practice programming without facing problem.
One’s can choose problem according his choice. Finally, it is real
area to judge real programmer.
19 | P a g e