Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Problem: Please write a PL/SQL procedure to print out names of reviewers who are eligible to review a paper. Please pay attention to the following:

Problem: Please write a PL/SQL procedure to print out names of reviewers who are eligible to review a paper. Please pay attention to the following:

The input is the id of the paper.

A reviewer will be eligible to review a paper if the reviewer does not have the same affiliation as any of the authors of the paper. For example, for paper ID 1, there are two authors Adam Smith and Nancy Chang, their affiliations are UMBC and UMD. So any reviewer affiliated with those two schools cannot serve as reviewer.

Please also handle the case the input paper ID is invalid.

If there is no eligible reviewer, print out a message there is no eligible reviewer.

Database used:

--- Paper Review

drop table paper_review cascade constraint;

drop table paper_author cascade constraint;

drop table paper cascade constraints;

drop table author cascade constraints;

drop table reviewer cascade constraints;

create table reviewer (

rid int, --- reviewer id

rname varchar(50), --- reviewer name

remail varchar(50),-- reviewer email

raffiliation varchar(50),-- reviewer affiliation

primary key (rid)

);

insert into reviewer values(1,'Alex Golden', 'golden@umbc.com','UMBC');

insert into reviewer values(2,'Ann Stonebraker', 'ann@umd.edu','UMD');

insert into reviewer values(3,'Karen Smith', 'karen@umb.com','UMB');

insert into reviewer values(4,'Richard Wallas', 'richard@umbc.edu','UMBC');

insert into reviewer values(5,'Ravi Krishnan', 'ravi@jhu.edu','JHU');

create table author

(aid int, -- author id

aname varchar(50), -- author name

aemail varchar(50), -- author email

aaffiliation varchar(50),-- author affiliation

primary key(aid));

insert into author values(1,'Adam Smith', 'smith@umbc.edu','UMBC');

insert into author values(2,'Nancy Chang', 'nanch@umd.edu','UMD');

insert into author values(3,'Carrol Steinberg', 'carrol@umb.edu','UMB');

insert into author values(4,'Daniel Kerry', 'daniel@jhu.edu','JHU');

create table paper(

pid int,--- paper id

ptitle varchar(200),--- title of paper

corr_aid int, --- id of corresponding author, only one per paper

sub_date date, --- date of submission

primary key(pid),

foreign key(corr_aid) references author);

insert into paper values(1,'A novel intrusion detection method using deep learning', 1,date '2018-3-1');

insert into paper values(2,'A comparison study of different machine learning methods', 2,date '2018-3-2');

insert into paper values(3,'The benefits of exercises to dementia patients', 3,date '2018-4-3');

insert into paper values(4,'This paper has everyone has author', 3,date '2018-4-3');

create table paper_author

(

pid int,--- paper id

aid int,--- author id, corresponding author will also appear in paper_author table

primary key(pid, aid),

foreign key(pid) references paper,

foreign key(aid) references author

);

insert into paper_author values(1,1);

insert into paper_author values(1,2);

insert into paper_author values(2,2);

insert into paper_author values(2,1);

insert into paper_author values(3,3);

insert into paper_author values(3,4);

insert into paper_author values(4,1);

insert into paper_author values(4,2);

insert into paper_author values(4,3);

insert into paper_author values(4,4);

create table paper_review

(

pid int,-- paper id

rid int,--- reviewer id, each paper has multile reviewer assigned, same reviewer

-- can review multiple papers

content varchar(1000), --- content of review

rscore int, --- review score, 1-5

rdate date, --- review date

primary key(pid, rid),

foreign key(pid) references paper,

foreign key(rid) references reviewer

);

insert into paper_review values(1,1,'This is a great paper',5,date '2018-4-1');

insert into paper_review values(1,2,'Execclent paper',4,date '2018-3-28');

insert into paper_review values(2,3,'Nice paper',4,date '2018-4-1');

insert into paper_review values(2,1,'Good paper but I have question regarding figure 2',3,date '2018-4-2');

insert into paper_review values(3,3,'Interesting results',4,date '2018-5-2');

insert into paper_review values(3,4,'Timely paper',4,date '2018-5-3');

commit;

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions