117 lines
2.0 KiB
Plaintext
117 lines
2.0 KiB
Plaintext
// people and affiliations
|
|
|
|
Table person {
|
|
email text [PK]
|
|
first_name text [not null]
|
|
last_name text [not null]
|
|
}
|
|
|
|
Table affiliation {
|
|
org_name text [PK]
|
|
website text [not null]
|
|
country text [not null]
|
|
}
|
|
|
|
Table person_affiliation {
|
|
email text [PK]
|
|
org_name text [PK]
|
|
from_date date
|
|
to_date date
|
|
}
|
|
|
|
Ref: person_affiliation.email > person.email
|
|
Ref: person_affiliation.org_name > affiliation.org_name
|
|
|
|
// papers and authors
|
|
|
|
Table paper {
|
|
paper_id int [PK, increment]
|
|
title text [not null]
|
|
abstract text [not null]
|
|
filename text [not null]
|
|
contact_email text [not null]
|
|
year int [not null]
|
|
}
|
|
|
|
Table paper_author {
|
|
paper_id int [PK]
|
|
email text [PK]
|
|
rank int [not null, note: "author order"]
|
|
}
|
|
|
|
Table conference {
|
|
year int [PK]
|
|
location text [not null]
|
|
}
|
|
|
|
Ref: paper.contact_email > person.email
|
|
Ref: paper.year > conference.year
|
|
Ref: paper_author.paper_id > paper.paper_id
|
|
Ref: paper_author.email > person.email
|
|
|
|
// reviews and reviewers
|
|
|
|
Table review {
|
|
paper_id int [PK]
|
|
email text [PK]
|
|
merit int [not null]
|
|
relevance int [not null]
|
|
readability int [not null]
|
|
originality int [not null]
|
|
author_comments text [not null]
|
|
committee_comments text
|
|
note: "Scores range from 1 to 5"
|
|
}
|
|
|
|
Table reviewer {
|
|
email text [PK]
|
|
phone text
|
|
}
|
|
|
|
Ref: review.paper_id > paper.paper_id
|
|
Ref: review.email > reviewer.email
|
|
Ref: person.email - reviewer.email
|
|
|
|
// match papers with reviewers
|
|
|
|
Table topic {
|
|
topic_id int [PK, increment]
|
|
topic_name text [not null]
|
|
}
|
|
|
|
Table paper_topic {
|
|
paper_id int [PK]
|
|
topic_id int [PK]
|
|
}
|
|
|
|
Table expertise {
|
|
email text [PK]
|
|
topic_id int [PK]
|
|
}
|
|
|
|
Ref: paper_topic.paper_id > paper.paper_id
|
|
Ref: paper_topic.topic_id > topic.topic_id
|
|
Ref: expertise.email > reviewer.email
|
|
Ref: expertise.topic_id > topic.topic_id
|
|
|
|
// history of status changes
|
|
|
|
Enum status {
|
|
SUBMITTED
|
|
UNDER_REVIEW
|
|
REVISION
|
|
RESUBMITTED
|
|
REJECTED
|
|
ACCEPTED
|
|
PUBLISHED
|
|
}
|
|
|
|
Table history {
|
|
paper_id int [PK]
|
|
timestamp timestamp [PK]
|
|
paper_status status [not null]
|
|
notes text
|
|
}
|
|
|
|
Ref: history.paper_id > paper.paper_id
|