-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathdb_schema.sql
More file actions
71 lines (65 loc) · 1.46 KB
/
db_schema.sql
File metadata and controls
71 lines (65 loc) · 1.46 KB
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
71
CREATE TABLE ARTICLE (
pmc_id INTEGER NOT NULL,
title TEXT,
doi TEXT,
PRIMARY KEY(pmc_id)
);
CREATE TABLE TRAIT_TABLE (
tab_id INTEGER PRIMARY KEY AUTOINCREMENT,
tab_lb TEXT,
pmc_id INTEGER NOT NULL,
FOREIGN KEY(pmc_id) REFERENCES ARTICLE(pmc_id)
);
CREATE TABLE ABBREVIATION (
abbrev TEXT NOT NULL,
expansion TEXT NOT NULL,
pmc_id INTEGER NOT NULL,
FOREIGN KEY(pmc_id) REFERENCES ARTICLE(pmc_id)
);
CREATE TABLE COLUMN_ENTRY (
col_id INTEGER PRIMARY KEY AUTOINCREMENT,
tab_id INTEGER NOT NULL,
header TEXT,
type TEXT,
annot TEXT,
FOREIGN KEY(tab_id) REFERENCES TRAIT_TABLE(tab_id)
);
CREATE TABLE CELL_ENTRY (
row_id INTEGER NOT NULL,
col_id INTEGER NOT NULL,
value TEXT,
FOREIGN KEY(col_id) REFERENCES COLUMN_ENTRY(col_id)
);
CREATE TABLE QTL (
tab_id INTEGER NOT NULL,
row_id INTEGER NOT NULL,
trait_in_article TEXT,
trait_in_onto TEXT,
trait_uri TEXT,
chromosome TEXT,
marker TEXT,
marker_uri TEXT,
gene TEXT,
gene_uri TEXT,
PRIMARY KEY(tab_id, row_id),
FOREIGN KEY(tab_id) REFERENCES TRAIT_TABLE(tab_id)
);
CREATE VIEW V_QTL AS
SELECT
pmc_id,
tab_lb,
row_id,
tab_id,
trait_in_article,
trait_in_onto,
trait_uri,
chromosome,
marker,
marker_uri,
gene,
gene_uri,
doi
FROM QTL
INNER JOIN TRAIT_TABLE USING (tab_id)
INNER JOIN ARTICLE USING (pmc_id)
WHERE trait_in_article IS NOT NULL;