Project : Part 3

 

 

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”.