Blame view

Database/create.sql 2.36 KB
16f90fbc   Eduardo Eloy   database and impl...
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
CREATE TABLE IF NOT EXISTS adj(
	ug1 INTEGER NOT NULL,
	ug2 INTEGER NOT NULL,
	front REAL NOT NULL,
	PRIMARY KEY(ug1,ug2)
	FOREIGN KEY(ug1) REFERENCES ug(ug)
	FOREIGN KEY(ug2) REFERENCES ug(ug));

CREATE TABLE IF NOT EXISTS area (
	ug	INTEGER NOT NULL UNIQUE,
	area	REAL NOT NULL,
	PRIMARY KEY(ug)
	FOREIGN KEY(ug) REFERENCES ug(ug));
	
CREATE TABLE IF NOT EXISTS per (
	ug	INTEGER NOT NULL UNIQUE,
	per	REAL NOT NULL,
	PRIMARY KEY(ug)
	FOREIGN KEY(ug) REFERENCES ug(ug));	

CREATE TABLE IF NOT EXISTS action(
          ug	INTEGER NOT NULL,
          presc	INTEGER NOT NULL,
          thin	REAL,
          harv	REAL,
          wood	REAL,
          cork   REAL,
          period	INTEGER NOT NULL,
          species    TEXT,
          PRIMARY KEY(ug,presc,period)
          FOREIGN KEY(ug) REFERENCES ug(ug),
          FOREIGN KEY(ug) REFERENCES area(ug)
          FOREIGN KEY(ug) REFERENCES per(ug));

CREATE TABLE IF NOT EXISTS symb(
          ug	INTEGER NOT NULL,
          presc	INTEGER NOT NULL,
          thin	int,
          harv	int,
          cork   int,
          period	INTEGER NOT NULL,
          species    TEXT,
          PRIMARY KEY(ug,presc,period)
          FOREIGN KEY(ug) REFERENCES ug(ug),
          FOREIGN KEY(ug) REFERENCES area(ug)
          FOREIGN KEY(ug) REFERENCES per(ug));

CREATE TABLE IF NOT EXISTS presc_ids (
	external	TEXT NOT NULL UNIQUE,
	internal	INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE
);
CREATE TABLE IF NOT EXISTS ug_ids (
	external	TEXT NOT NULL UNIQUE,
	internal	INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE
);

CREATE TABLE IF NOT EXISTS hascut (
	ug	INTEGER NOT NULL,
	presc	INTEGER NOT NULL,
	period	INTEGER NOT NULL,
	PRIMARY KEY(ug,presc,period)
);

CREATE TABLE adj_area (
	ug_id	INTEGER NOT NULL UNIQUE,
	adj_area	REAL NOT NULL,
	PRIMARY KEY(ug_id,adj_area)
);

CREATE TABLE vertex (
	ug	INTEGER NOT NULL,
	x	REAL NOT NULL,
	y	REAL NOT NULL
);

CREATE TABLE wood_rewards (
	ug	INTEGER NOT NULL,
	presc	INTEGER NOT NULL,
	wood	REAL NOT NULL
);

CREATE TABLE cork_rewards (
	ug	INTEGER NOT NULL,
	presc	INTEGER NOT NULL,
	cork	REAL NOT NULL
);

CREATE TABLE region (
	ug	INTEGER NOT NULL UNIQUE,
	region	TEXT NOT NULL,
	PRIMARY KEY(ug)
);

CREATE TABLE action_external (
	Pa	TEXT NOT NULL,
	Presc	TEXT NOT NULL,
	V_thin	REAL NOT NULL,
	V_harv	REAL NOT NULL,
	V_wood	REAL NOT NULL,
	Cork	REAL NOT NULL,
	Period	INTEGER NOT NULL,
	species	TEXT NOT NULL
);