Question
--- 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
--- 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;
Problem : Please write a PL/SQL procedure to look up the average review score given the title of a paper. The input parameter is the title of the paper. The output parameter is the average rating of the paper. Please also handle the case when the paper does not exist. Please also write an anonymous PL/SQL program to call this procedure and print out the output parameter.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started