|
|
The goal of this project is to experience how to refine the
relational model using the normalization theory and also to develop the
capability to realize the advanced level SQL programming as well
as user-friendly interface for real life queries.
1.
(3
pts) First, based on the relational model of your project part 2 or of the
given reference solution, refine the relational model using the normalization
theory. You are welcome to introduce reasonable assumptions and constraints to
make such refinement possible. Write down all the assumptions and constraints
you introduce. You will need to submit the new relational model, i.e. a set of
CREATE table statements, as well as assumptions, constraints, and constraint
enforcing mechanisms in one document called refinement.doc. Next, given
the refined database schema, populate your database with at least 10
authors and 10 types of publications (5 conferences, 5 journals), and more than
100 publications in total from the
dblp.xml. You are asked to
populate your database with papers in top five conferences in the area of
database (SIGMOD, PODS, VLDB, ICDE, ICDT) and also in top renowned journals in
the area of database (ACM Trans on Database Systems(TODS), IEEE Trans on
Knowledge & Data Engineering(TKDE), VLDB
Journal,
Distributed and Parallel Databases(DPD), Information Systems Journal
(ISJ) ) for meaningful search results.
2.
(12
pts) Given the active database as a result of step 1, implement search boxes
for the following queries.
1)
(2
pts)Build an author’s papers search box which takes the name of author as input
and outputs all papers written by the author by year in a descending order.
Each paper should be displayed with title, the type of publications (conference
name, journal name, or book name), year.
2)
(2
pts)Build related papers search box which takes multiple keywords(maximum 3)
such as XML, or Workflow as inputs and outputs all papers which contain all the
keywords in the title of each paper by year in a descending order and by the
first author in an alphabetic order within each year. Each paper should be
displayed with authors, title, the type of publications (conference name,
journal name, or book name), year.
3)
(2
pts)Build a coauthor search box which takes the name of an author as input and
outputs all his/her coauthors and their institutions. In case there are
multiple entries for the input author name, then first return all their
detailed information so that the user can choose which one as the real input
author, and then continue to search.
4)
(3
pts)Build leading researchers search box which takes the name of either
conference or journal and returns the top 5 author’s name and institution and
the number of paper in a descending order who published the most number of
paper in the conference within the past 10 years. If there are more than one
authors in the same place then each author will be counted individually. For
example, in extreme, if there are five authors in the 1st place(most
papers), authors in the 2nd
place will be ignored in the result. In addition, in case that there are more
than one authors in the 5th place, but single author from the 1st
place to the 4th place, print all of them in the 5th.
5)
(3
pts)Build an author ranking search box that takes a topic as input, and then
output a list of authors who ever published some papers in that topic. For each
author, display their SSN, name, and institution, as well as the number of
papers she has published in the specified topic. The list should be printed out
in a descending order of the number of papers that an author has published in
the specified topic.
? Regarding the searchbox
design, please refer to DBLP
Search. You don’t need to imitate the interface in the DBLP Search and note
that although there is no restriction on the GUI design for the search box, it
should be able to take input and display the results for each search request.
Certainly, GUI might be evaluated better if it provides more convenient ways
from a user’s point of view.
l
Submission
(Read carefully and follow the direction)
Send a zip file to TA via Only Digital Dropbox
in Blackboard with all source codes and necessary files including refinement.doc
for justifications, database schema with CREATE statements. The zip file should
include “read.txt” to explain how to compile and run your system, including the
information that TA must know in order to grade, such as your teammates.
Your program should be executable by “run.bat” file without doing any other
extra works. The zip file should be with your WSU access id, for example, for
project3 if your WSU access id is aq1111, then your file should be named as “Project3_aq1111.zip”.