-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdatabase.sql
71 lines (60 loc) · 2.07 KB
/
database.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
CREATE TABLE author (
identifier VARCHAR(100) NOT NULL,
PRIMARY KEY(identifier)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE conference (
identifier VARCHAR(100) NOT NULL,
title TEXT NOT NULL,
year VARCHAR(10) NOT NULL,
series TEXT DEFAULT NULL,
volume VARCHAR(20) DEFAULT NULL,
editor TEXT DEFAULT NULL,
publisher TEXT DEFAULT NULL,
url TEXT DEFAULT NULL,
isbn TEXT DEFAULT NULL,
PRIMARY KEY(identifier)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE paper (
identifier VARCHAR(100) NOT NULL,
title TEXT NOT NULL,
booktitle TEXT DEFAULT NULL,
year VARCHAR(10),
pages VARCHAR(20) DEFAULT NULL,
volume VARCHAR(20) DEFAULT NULL,
number VARCHAR(20) DEFAULT NULL,
crossref VARCHAR(100) DEFAULT NULL,
journal TEXT DEFAULT NULL,
doi TEXT DEFAULT NULL,
url TEXT DEFAULT NULL,
filepath TEXT DEFAULT NULL,
ranking_ccf VARCHAR(20) NOT NULL,
ranking_core VARCHAR(20) NOT NULL,
PRIMARY KEY(identifier),
FOREIGN KEY(crossref) REFERENCES conference(identifier) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE paperAuthor (
paperIdentifier VARCHAR(100) NOT NULL,
authorIdentifier VARCHAR(100) NOT NULL,
authorOrder INT,
isCorresponding BOOLEAN DEFAULT FALSE,
PRIMARY KEY(paperIdentifier,authorIdentifier),
UNIQUE (paperIdentifier, authorOrder),
FOREIGN KEY(paperIdentifier) REFERENCES paper(identifier) ON DELETE CASCADE,
FOREIGN KEY(authorIdentifier) REFERENCES author(identifier) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE project (
identifier VARCHAR(100) NOT NULL,
funder VARCHAR(200) NOT NULL,
title TEXT DEFAULT NULL,
acknowledge TEXT NOT NULL,
startDate DATE NOT NULL,
endDate DATE NOT NULL,
PRIMARY KEY(identifier)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE projectPaper (
projectIdentifier VARCHAR(100) NOT NULL,
paperIdentifier VARCHAR(100) NOT NULL,
PRIMARY KEY(projectIdentifier,paperIdentifier),
FOREIGN KEY(paperIdentifier) REFERENCES paper(identifier) ON DELETE CASCADE,
FOREIGN KEY(projectIdentifier) REFERENCES project(identifier) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;