2. 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& SUBMITTEDBY
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:
NASHIAAHMEDNABILA
3. 2 | P a g e
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.
4. 3 | P a g e
ACKNOWLEDGEMENT
FIRSTAND FOREMOST, WEWOULD LIKETO THANK OUR COURSE INSTEUCTOR
OF THIS INTRODUCTION TO DATABASE COURSE TEACHER NASHIA AHMED
NABILA FORTHE VALUABLEGUIDANCEAND ADVICE.SHEINSPIRED 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, ANHONORABLEMENTIONGOES 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.
5. 4 | 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
PROBLEMANALYSIS -------------------------------------------------------------------------------- 07
FUNCTION REQUIREMEMT -------------------------------------------------------------------------------- 08
ER-DIAGRAM -------------------------------------------------------------------------------- 09
MAPING -------------------------------------------------------------------------------- 10
SCHEMA DIAGRAM ---------------------------------------------------------------------------------11
DESCRIPTION --------------------------------------------------------------------------------- 12
TABLE ---------------------------------------------------------------------------------- 13
QUERY ----------------------------------------------------------------------------------16
VIEW --------------------------------------------------------------------------------- 18
CONCLUSION ---------------------------------------------------------------------------------- 19
6. 5 | 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.
7. 6 | P a g e
PREVIOUS SYSTEM
PREVIOUS SYSTEMREQUIREHUMANINTERFACRFORJUDGEING THE
PROBLEMS. ITIS ALMOSTIMPOSSIBLETO CHECK MILLIONS OF PROBLEMBY
HUMAN. BUT THIS ADVANCED DATABASESYSTEMCHANGES EVERYTHING. IT
CAN CHECK MILLIONS OF PROBLEMS WITHINFEW MOMENTS.
IDENTIFICATION NEED
ONLINEJUDGE DATABASESYSTEM IS USETO STOREINFORMATIONABOUT
MILLIONS OF USER, PROBLEMS, PROBLEMSETTER, AND STATUS OF
SUBMITTED PROBLEMAND MOST IMPORTANTLYARRANGEPROGRAMMING
CONTAST. THIS KIND OF DATABASENOW MOSTLYNEEDED FORMAKING OUR
LIFEEASIER.
DEVELOPED SYSTEM
THIS DATABASESYSTEMARE ABLE TO KEEP ALL USERS, PROBLEMS, PROBLEM
SETTER, AND MOSTIMPORTANTLYIT’S CONTAINS HUGECOMPILERWHICH
CAN USED MULTIPLEPROGRAMMING LANGUAGEAND its TASKING CAPACITY
24×365.
8. 7 | P a g e
PROBLEM ANALYSIS
PROBLEM STATEMENT:
THE OBJECTIVEOF THIS PORJECTIS TO
REDESIGNAND DEVELOP ONLINEJUDGEMANAGEMENT
DATABASESYSTEM.
TECHNOLOGIES:
Oracle Database11g Express Edition IS USED TO SUCESSFULLYDO THIS
PROJECT.
9. 8 | P a g e
FUNCTIONAL REQUIREMENT
PERTAINING TO USER:
INDIVIDUAL USERDETAILS
PEOBLEMLISTOF USER
COUNT OF SOLVEPROBLEMED
PERTAINING TO MEMBER:
COMPLETERECORD OF MENBER INDIVIDUAL
ACTIVITYDETAILS
PERTAINING TO PEOBLEM SOLVE:
COMPLETERECORD OF PROBLEMSOLVED DETAILS
PERTAINING TO LEVEL:
COMPLETEINFORMATIONOF LEVEL
PERTAINING TO CATAGEORY:
COMPLETEINFORMATIONOF CATAGEORY
PERTAINING TO PROBLEM SETTER:
COMPLETEINFORMATIONOF PROBLEMSETTER
10. 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
11. 10 | P a g e
MAPING
MAMBER:
PROBLEM:
PROBLEM_SET:
PROBLEM_SETTER:
CATEGORY:
MY_SUBMISSION:
17. 16 | P a g e
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#')
18. 17 | 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')
19. 18 | P a g e
VIEW
1. Show the info of member and problem whoseproblem 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#.
20. 19 | P a g e
4. Find the info of member who has successfully solved 'NASHIA AHMED
NABILA''s problem.
5. Find the problem and problemsetter 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.