1 |
8336
|
aaronmk
|
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
|
2 |
|
|
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
|
3 |
8612
|
aaronmk
|
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
|
4 |
8336
|
aaronmk
|
|
5 |
8633
|
aaronmk
|
CREATE SCHEMA IF NOT EXISTS `VegCore` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin ;
|
6 |
8632
|
aaronmk
|
USE `VegCore` ;
|
7 |
8336
|
aaronmk
|
|
8 |
|
|
-- -----------------------------------------------------
|
9 |
8522
|
aaronmk
|
-- Table `source`
|
10 |
8336
|
aaronmk
|
-- -----------------------------------------------------
|
11 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `source` ;
|
12 |
|
|
|
13 |
8522
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `source` (
|
14 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
15 |
|
|
`parent` VARBINARY(767) NOT NULL ,
|
16 |
|
|
`name` VARBINARY(767) NOT NULL ,
|
17 |
8624
|
aaronmk
|
`first_publisher` VARBINARY(767) NULL DEFAULT NULL ,
|
18 |
8689
|
aaronmk
|
`owner` VARBINARY(767) NULL DEFAULT NULL ,
|
19 |
8579
|
aaronmk
|
`info` SET('hstore') NULL ,
|
20 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
21 |
8612
|
aaronmk
|
INDEX `fk_source1_idx` (`parent` ASC) ,
|
22 |
8689
|
aaronmk
|
INDEX `fk_source_party1_idx` (`owner` ASC) ,
|
23 |
8589
|
aaronmk
|
UNIQUE INDEX `source_unique` (`parent` ASC, `name` ASC) ,
|
24 |
8612
|
aaronmk
|
INDEX `fk_source_party2_idx` (`first_publisher` ASC) ,
|
25 |
8336
|
aaronmk
|
CONSTRAINT `fk_source1`
|
26 |
8523
|
aaronmk
|
FOREIGN KEY (`parent` )
|
27 |
|
|
REFERENCES `source` (`id` )
|
28 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
29 |
8584
|
aaronmk
|
ON UPDATE CASCADE,
|
30 |
|
|
CONSTRAINT `fk_source_party1`
|
31 |
8689
|
aaronmk
|
FOREIGN KEY (`owner` )
|
32 |
8584
|
aaronmk
|
REFERENCES `party` (`id` )
|
33 |
|
|
ON DELETE CASCADE
|
34 |
8595
|
aaronmk
|
ON UPDATE CASCADE,
|
35 |
|
|
CONSTRAINT `fk_source_party2`
|
36 |
|
|
FOREIGN KEY (`first_publisher` )
|
37 |
|
|
REFERENCES `party` (`id` )
|
38 |
|
|
ON DELETE CASCADE
|
39 |
8524
|
aaronmk
|
ON UPDATE CASCADE)
|
40 |
8336
|
aaronmk
|
ENGINE = InnoDB
|
41 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
42 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
43 |
|
|
COMMENT = 'a \"reference [...] cited within the database\" (\"VegBank\":http://vegbank.org/vegbank/views/dba_tabledescription_detail.jsp?view=detail&wparam=reference&entity=dba_tabledescription&where=where_tablename)';
|
44 |
8336
|
aaronmk
|
|
45 |
|
|
|
46 |
|
|
-- -----------------------------------------------------
|
47 |
8522
|
aaronmk
|
-- Table `record`
|
48 |
8336
|
aaronmk
|
-- -----------------------------------------------------
|
49 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `record` ;
|
50 |
|
|
|
51 |
8522
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `record` (
|
52 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
53 |
|
|
`source` VARBINARY(767) NOT NULL ,
|
54 |
8663
|
aaronmk
|
`source_id_scope` VARBINARY(767) NULL ,
|
55 |
8624
|
aaronmk
|
`source_record_id` VARBINARY(767) NULL DEFAULT NULL ,
|
56 |
8686
|
aaronmk
|
`info` SET('hstore') NULL ,
|
57 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
58 |
8612
|
aaronmk
|
INDEX `fk_record_source1_idx` (`source` ASC) ,
|
59 |
8663
|
aaronmk
|
UNIQUE INDEX `record_unique` (`source` ASC, `source_id_scope` ASC, `source_record_id` ASC) ,
|
60 |
8336
|
aaronmk
|
CONSTRAINT `fk_record_source1`
|
61 |
|
|
FOREIGN KEY (`source` )
|
62 |
8523
|
aaronmk
|
REFERENCES `source` (`id` )
|
63 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
64 |
|
|
ON UPDATE CASCADE)
|
65 |
8336
|
aaronmk
|
ENGINE = InnoDB
|
66 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
67 |
|
|
COLLATE = utf8_bin;
|
68 |
8336
|
aaronmk
|
|
69 |
|
|
|
70 |
|
|
-- -----------------------------------------------------
|
71 |
8623
|
aaronmk
|
-- Table `party`
|
72 |
|
|
-- -----------------------------------------------------
|
73 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `party` ;
|
74 |
|
|
|
75 |
8623
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `party` (
|
76 |
|
|
`id` VARBINARY(767) NOT NULL ,
|
77 |
|
|
`info` SET('hstore') NULL ,
|
78 |
|
|
PRIMARY KEY (`id`) ,
|
79 |
|
|
CONSTRAINT `fk_collection_source10`
|
80 |
|
|
FOREIGN KEY (`id` )
|
81 |
|
|
REFERENCES `record` (`id` )
|
82 |
|
|
ON DELETE CASCADE
|
83 |
|
|
ON UPDATE CASCADE)
|
84 |
|
|
ENGINE = InnoDB
|
85 |
|
|
DEFAULT CHARACTER SET = utf8
|
86 |
|
|
COLLATE = utf8_bin;
|
87 |
|
|
|
88 |
|
|
|
89 |
|
|
-- -----------------------------------------------------
|
90 |
8522
|
aaronmk
|
-- Table `relationship`
|
91 |
8336
|
aaronmk
|
-- -----------------------------------------------------
|
92 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `relationship` ;
|
93 |
|
|
|
94 |
8522
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `relationship` (
|
95 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
96 |
|
|
`record` VARBINARY(767) NOT NULL ,
|
97 |
|
|
`related_record` VARBINARY(767) NOT NULL ,
|
98 |
8579
|
aaronmk
|
`info` SET('hstore') NULL ,
|
99 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
100 |
8612
|
aaronmk
|
INDEX `fk_relationship_record1_idx` (`record` ASC) ,
|
101 |
|
|
INDEX `fk_relationship_related_record_idx` (`related_record` ASC) ,
|
102 |
8336
|
aaronmk
|
CONSTRAINT `fk_relationship_record1`
|
103 |
8523
|
aaronmk
|
FOREIGN KEY (`id` )
|
104 |
|
|
REFERENCES `record` (`id` )
|
105 |
8336
|
aaronmk
|
ON DELETE CASCADE
|
106 |
|
|
ON UPDATE CASCADE,
|
107 |
8622
|
aaronmk
|
CONSTRAINT `fk_relationship_record2`
|
108 |
8336
|
aaronmk
|
FOREIGN KEY (`record` )
|
109 |
8523
|
aaronmk
|
REFERENCES `record` (`id` )
|
110 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
111 |
|
|
ON UPDATE CASCADE,
|
112 |
8336
|
aaronmk
|
CONSTRAINT `fk_relationship_related_record`
|
113 |
|
|
FOREIGN KEY (`related_record` )
|
114 |
8523
|
aaronmk
|
REFERENCES `record` (`id` )
|
115 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
116 |
|
|
ON UPDATE CASCADE)
|
117 |
8336
|
aaronmk
|
ENGINE = InnoDB
|
118 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
119 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
120 |
|
|
COMMENT = '\"information pertaining to relationships between resources (instances of data records, such as Occurrences, Taxa, Locations, Events)\" (\"DwC\":http://rs.tdwg.org/dwc/terms/#ResourceRelationship)';
|
121 |
8336
|
aaronmk
|
|
122 |
|
|
|
123 |
|
|
-- -----------------------------------------------------
|
124 |
8677
|
aaronmk
|
-- Table `organization`
|
125 |
|
|
-- -----------------------------------------------------
|
126 |
|
|
DROP TABLE IF EXISTS `organization` ;
|
127 |
|
|
|
128 |
|
|
CREATE TABLE IF NOT EXISTS `organization` (
|
129 |
|
|
`id` VARBINARY(767) NOT NULL ,
|
130 |
|
|
`info` SET('hstore') NULL ,
|
131 |
|
|
PRIMARY KEY (`id`) ,
|
132 |
|
|
CONSTRAINT `fk_organization_party1`
|
133 |
|
|
FOREIGN KEY (`id` )
|
134 |
|
|
REFERENCES `party` (`id` )
|
135 |
|
|
ON DELETE CASCADE
|
136 |
|
|
ON UPDATE CASCADE)
|
137 |
|
|
ENGINE = InnoDB
|
138 |
|
|
DEFAULT CHARACTER SET = utf8
|
139 |
|
|
COLLATE = utf8_bin;
|
140 |
|
|
|
141 |
|
|
|
142 |
|
|
-- -----------------------------------------------------
|
143 |
8623
|
aaronmk
|
-- Table `collection`
|
144 |
8554
|
aaronmk
|
-- -----------------------------------------------------
|
145 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `collection` ;
|
146 |
|
|
|
147 |
8623
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `collection` (
|
148 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
149 |
8677
|
aaronmk
|
`institution` VARBINARY(767) NOT NULL ,
|
150 |
|
|
`name` VARBINARY(767) NOT NULL ,
|
151 |
|
|
INDEX `fk_collection_organization1_idx` (`institution` ASC) ,
|
152 |
|
|
UNIQUE INDEX `collection_unique` (`institution` ASC, `name` ASC) ,
|
153 |
8680
|
aaronmk
|
INDEX `fk_collection_source1_idx` (`id` ASC) ,
|
154 |
8683
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
155 |
8623
|
aaronmk
|
CONSTRAINT `fk_collection_source1`
|
156 |
8554
|
aaronmk
|
FOREIGN KEY (`id` )
|
157 |
8680
|
aaronmk
|
REFERENCES `record` (`id` )
|
158 |
8623
|
aaronmk
|
ON DELETE CASCADE
|
159 |
8677
|
aaronmk
|
ON UPDATE CASCADE,
|
160 |
|
|
CONSTRAINT `fk_collection_organization1`
|
161 |
|
|
FOREIGN KEY (`institution` )
|
162 |
|
|
REFERENCES `organization` (`id` )
|
163 |
|
|
ON DELETE CASCADE
|
164 |
8623
|
aaronmk
|
ON UPDATE CASCADE)
|
165 |
|
|
ENGINE = InnoDB
|
166 |
|
|
DEFAULT CHARACTER SET = utf8
|
167 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
168 |
|
|
COMMENT = '\"the collection within the institution where a specimen is held\" (\"Brad Boyle\":https://projects.nceas.ucsb.edu/nceas/attachments/download/621/vegbien_identifier_examples.xlsx#terms/collectionCode)';
|
169 |
8623
|
aaronmk
|
|
170 |
|
|
|
171 |
|
|
-- -----------------------------------------------------
|
172 |
|
|
-- Table `taxon_assertion`
|
173 |
|
|
-- -----------------------------------------------------
|
174 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `taxon_assertion` ;
|
175 |
|
|
|
176 |
8623
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `taxon_assertion` (
|
177 |
|
|
`id` VARBINARY(767) NOT NULL ,
|
178 |
|
|
`string` VARBINARY(767) NOT NULL ,
|
179 |
8624
|
aaronmk
|
`taxon` VARBINARY(767) NULL DEFAULT NULL ,
|
180 |
|
|
`cf_aff` VARBINARY(767) NULL DEFAULT NULL ,
|
181 |
8623
|
aaronmk
|
`annotations` SET('hstore') NULL ,
|
182 |
|
|
PRIMARY KEY (`id`) ,
|
183 |
|
|
INDEX `fk_taxon_assertion_taxon_string1_idx` (`string` ASC) ,
|
184 |
|
|
INDEX `fk_taxon_assertion_taxon_name1_idx` (`taxon` ASC) ,
|
185 |
|
|
CONSTRAINT `fk_qualified_taxon_record1`
|
186 |
|
|
FOREIGN KEY (`id` )
|
187 |
8554
|
aaronmk
|
REFERENCES `record` (`id` )
|
188 |
|
|
ON DELETE CASCADE
|
189 |
|
|
ON UPDATE CASCADE,
|
190 |
8623
|
aaronmk
|
CONSTRAINT `fk_taxon_assertion_taxon_string1`
|
191 |
|
|
FOREIGN KEY (`string` )
|
192 |
8555
|
aaronmk
|
REFERENCES `taxon_string` (`string` )
|
193 |
|
|
ON DELETE CASCADE
|
194 |
8623
|
aaronmk
|
ON UPDATE CASCADE,
|
195 |
|
|
CONSTRAINT `fk_taxon_assertion_taxon_name1`
|
196 |
|
|
FOREIGN KEY (`taxon` )
|
197 |
|
|
REFERENCES `taxon_name` (`id` )
|
198 |
|
|
ON DELETE CASCADE
|
199 |
8554
|
aaronmk
|
ON UPDATE CASCADE)
|
200 |
|
|
ENGINE = InnoDB
|
201 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
202 |
|
|
COLLATE = utf8_bin;
|
203 |
8554
|
aaronmk
|
|
204 |
|
|
|
205 |
|
|
-- -----------------------------------------------------
|
206 |
8676
|
aaronmk
|
-- Table `taxon_concept`
|
207 |
|
|
-- -----------------------------------------------------
|
208 |
|
|
DROP TABLE IF EXISTS `taxon_concept` ;
|
209 |
|
|
|
210 |
|
|
CREATE TABLE IF NOT EXISTS `taxon_concept` (
|
211 |
|
|
`id` VARBINARY(767) NOT NULL ,
|
212 |
|
|
`according_to` VARBINARY(767) NOT NULL ,
|
213 |
|
|
`parent` VARBINARY(767) NOT NULL ,
|
214 |
|
|
`accepted_taxon_concept` VARBINARY(767) NULL DEFAULT NULL ,
|
215 |
|
|
PRIMARY KEY (`id`) ,
|
216 |
|
|
INDEX `fk_taxon_taxon1_idx` (`parent` ASC) ,
|
217 |
|
|
INDEX `fk_taxon_concept_source1_idx` (`according_to` ASC) ,
|
218 |
|
|
INDEX `fk_taxon_concept_taxon_concept1_idx` (`accepted_taxon_concept` ASC) ,
|
219 |
|
|
UNIQUE INDEX `taxon_concept_unique_name` (`according_to` ASC) ,
|
220 |
|
|
CONSTRAINT `fk_taxon_taxon1`
|
221 |
|
|
FOREIGN KEY (`parent` )
|
222 |
|
|
REFERENCES `taxon_concept` (`id` )
|
223 |
|
|
ON DELETE CASCADE
|
224 |
|
|
ON UPDATE CASCADE,
|
225 |
|
|
CONSTRAINT `fk_taxon_concept_source1`
|
226 |
|
|
FOREIGN KEY (`according_to` )
|
227 |
|
|
REFERENCES `source` (`id` )
|
228 |
|
|
ON DELETE CASCADE
|
229 |
|
|
ON UPDATE CASCADE,
|
230 |
|
|
CONSTRAINT `fk_taxon_concept_taxon_concept1`
|
231 |
|
|
FOREIGN KEY (`accepted_taxon_concept` )
|
232 |
|
|
REFERENCES `taxon_concept` (`id` )
|
233 |
|
|
ON DELETE CASCADE
|
234 |
|
|
ON UPDATE CASCADE,
|
235 |
|
|
CONSTRAINT `fk_taxon_concept_taxon_name1`
|
236 |
|
|
FOREIGN KEY (`id` )
|
237 |
|
|
REFERENCES `taxon_name` (`id` )
|
238 |
|
|
ON DELETE CASCADE
|
239 |
|
|
ON UPDATE CASCADE)
|
240 |
|
|
ENGINE = InnoDB
|
241 |
|
|
DEFAULT CHARACTER SET = utf8
|
242 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
243 |
|
|
COMMENT = 'A [[VegCore#Taxon|Taxon]] described by a specific [[VegCore#Reference|Reference]]';
|
244 |
8676
|
aaronmk
|
|
245 |
|
|
|
246 |
|
|
-- -----------------------------------------------------
|
247 |
8554
|
aaronmk
|
-- Table `parsed_taxon_assertion`
|
248 |
|
|
-- -----------------------------------------------------
|
249 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `parsed_taxon_assertion` ;
|
250 |
|
|
|
251 |
8554
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `parsed_taxon_assertion` (
|
252 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
253 |
8676
|
aaronmk
|
`matched_taxon_concept` VARBINARY(767) NULL DEFAULT NULL ,
|
254 |
8572
|
aaronmk
|
`match_score` FLOAT NULL ,
|
255 |
8574
|
aaronmk
|
`match_info` SET('hstore') NULL ,
|
256 |
8554
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
257 |
8676
|
aaronmk
|
INDEX `fk_parsed_taxon_assertion_taxon_name1_idx` (`matched_taxon_concept` ASC) ,
|
258 |
8554
|
aaronmk
|
CONSTRAINT `fk_matched_taxon_qualified_taxon10`
|
259 |
|
|
FOREIGN KEY (`id` )
|
260 |
|
|
REFERENCES `taxon_assertion` (`id` )
|
261 |
|
|
ON DELETE CASCADE
|
262 |
|
|
ON UPDATE CASCADE,
|
263 |
8573
|
aaronmk
|
CONSTRAINT `fk_parsed_taxon_assertion_taxon_name1`
|
264 |
8676
|
aaronmk
|
FOREIGN KEY (`matched_taxon_concept` )
|
265 |
|
|
REFERENCES `taxon_concept` (`id` )
|
266 |
8554
|
aaronmk
|
ON DELETE CASCADE
|
267 |
|
|
ON UPDATE CASCADE)
|
268 |
|
|
ENGINE = InnoDB
|
269 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
270 |
|
|
COLLATE = utf8_bin;
|
271 |
8554
|
aaronmk
|
|
272 |
|
|
|
273 |
|
|
-- -----------------------------------------------------
|
274 |
8552
|
aaronmk
|
-- Table `taxon_string`
|
275 |
|
|
-- -----------------------------------------------------
|
276 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `taxon_string` ;
|
277 |
|
|
|
278 |
8552
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `taxon_string` (
|
279 |
8620
|
aaronmk
|
`string` VARBINARY(767) NOT NULL ,
|
280 |
8624
|
aaronmk
|
`parsed_taxon_assertion` VARBINARY(767) NULL DEFAULT NULL ,
|
281 |
8554
|
aaronmk
|
PRIMARY KEY (`string`) ,
|
282 |
8612
|
aaronmk
|
INDEX `fk_taxon_string_parsed_taxon_assertion1_idx` (`parsed_taxon_assertion` ASC) ,
|
283 |
8554
|
aaronmk
|
CONSTRAINT `fk_taxon_string_parsed_taxon_assertion1`
|
284 |
|
|
FOREIGN KEY (`parsed_taxon_assertion` )
|
285 |
|
|
REFERENCES `parsed_taxon_assertion` (`id` )
|
286 |
|
|
ON DELETE CASCADE
|
287 |
|
|
ON UPDATE CASCADE)
|
288 |
8552
|
aaronmk
|
ENGINE = InnoDB
|
289 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
290 |
|
|
COLLATE = utf8_bin;
|
291 |
8552
|
aaronmk
|
|
292 |
|
|
|
293 |
|
|
-- -----------------------------------------------------
|
294 |
8623
|
aaronmk
|
-- Table `taxon_name`
|
295 |
8521
|
aaronmk
|
-- -----------------------------------------------------
|
296 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `taxon_name` ;
|
297 |
|
|
|
298 |
8623
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `taxon_name` (
|
299 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
300 |
8623
|
aaronmk
|
`unique_name` VARBINARY(767) NOT NULL ,
|
301 |
8624
|
aaronmk
|
`formal_name` VARBINARY(767) NULL DEFAULT NULL ,
|
302 |
|
|
`taxon_name` VARBINARY(767) NULL DEFAULT NULL ,
|
303 |
|
|
`author` VARBINARY(767) NULL DEFAULT NULL ,
|
304 |
|
|
`common_name` VARBINARY(767) NULL DEFAULT NULL ,
|
305 |
|
|
`rank` VARBINARY(767) NULL DEFAULT NULL ,
|
306 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
307 |
8623
|
aaronmk
|
INDEX `fk_taxon_concept_taxon_string10_idx` (`unique_name` ASC) ,
|
308 |
|
|
CONSTRAINT `fk_taxon_record10`
|
309 |
8523
|
aaronmk
|
FOREIGN KEY (`id` )
|
310 |
|
|
REFERENCES `record` (`id` )
|
311 |
8521
|
aaronmk
|
ON DELETE CASCADE
|
312 |
8552
|
aaronmk
|
ON UPDATE CASCADE,
|
313 |
8623
|
aaronmk
|
CONSTRAINT `fk_taxon_concept_taxon_string10`
|
314 |
|
|
FOREIGN KEY (`unique_name` )
|
315 |
8552
|
aaronmk
|
REFERENCES `taxon_string` (`string` )
|
316 |
|
|
ON DELETE CASCADE
|
317 |
8524
|
aaronmk
|
ON UPDATE CASCADE)
|
318 |
8521
|
aaronmk
|
ENGINE = InnoDB
|
319 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
320 |
|
|
COLLATE = utf8_bin;
|
321 |
8521
|
aaronmk
|
|
322 |
|
|
|
323 |
|
|
-- -----------------------------------------------------
|
324 |
8522
|
aaronmk
|
-- Table `coordinates`
|
325 |
8336
|
aaronmk
|
-- -----------------------------------------------------
|
326 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `coordinates` ;
|
327 |
|
|
|
328 |
8522
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `coordinates` (
|
329 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
330 |
8624
|
aaronmk
|
`latitude_deg` VARBINARY(767) NULL DEFAULT NULL ,
|
331 |
|
|
`longitude_deg` VARBINARY(767) NULL DEFAULT NULL ,
|
332 |
8567
|
aaronmk
|
PRIMARY KEY (`id`) )
|
333 |
8336
|
aaronmk
|
ENGINE = InnoDB
|
334 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
335 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
336 |
|
|
COMMENT = 'A numerically-defined point';
|
337 |
8336
|
aaronmk
|
|
338 |
|
|
|
339 |
|
|
-- -----------------------------------------------------
|
340 |
8567
|
aaronmk
|
-- Table `place_path`
|
341 |
|
|
-- -----------------------------------------------------
|
342 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `place_path` ;
|
343 |
|
|
|
344 |
8567
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `place_path` (
|
345 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
346 |
8624
|
aaronmk
|
`continent` VARBINARY(767) NULL DEFAULT NULL ,
|
347 |
|
|
`country` VARBINARY(767) NULL DEFAULT NULL ,
|
348 |
|
|
`state_province` VARBINARY(767) NULL DEFAULT NULL ,
|
349 |
|
|
`county` VARBINARY(767) NULL DEFAULT NULL ,
|
350 |
|
|
`municipality` VARBINARY(767) NULL DEFAULT NULL ,
|
351 |
8579
|
aaronmk
|
`ranks` SET('hstore') NULL ,
|
352 |
8567
|
aaronmk
|
PRIMARY KEY (`id`) )
|
353 |
|
|
ENGINE = InnoDB
|
354 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
355 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
356 |
|
|
COMMENT = 'A named region';
|
357 |
8567
|
aaronmk
|
|
358 |
|
|
|
359 |
|
|
-- -----------------------------------------------------
|
360 |
8563
|
aaronmk
|
-- Table `place`
|
361 |
8336
|
aaronmk
|
-- -----------------------------------------------------
|
362 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `place` ;
|
363 |
|
|
|
364 |
8563
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `place` (
|
365 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
366 |
|
|
`parent` VARBINARY(767) NOT NULL ,
|
367 |
8624
|
aaronmk
|
`coordinates` VARBINARY(767) NULL DEFAULT NULL ,
|
368 |
|
|
`path` VARBINARY(767) NULL DEFAULT NULL ,
|
369 |
|
|
`locality` VARBINARY(767) NULL DEFAULT NULL ,
|
370 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
371 |
8612
|
aaronmk
|
INDEX `fk_place_coordinates1_idx` (`coordinates` ASC) ,
|
372 |
|
|
INDEX `fk_place1_idx` (`parent` ASC) ,
|
373 |
|
|
INDEX `fk_place_place_path1_idx` (`path` ASC) ,
|
374 |
8563
|
aaronmk
|
CONSTRAINT `fk_place_record1`
|
375 |
8523
|
aaronmk
|
FOREIGN KEY (`id` )
|
376 |
|
|
REFERENCES `record` (`id` )
|
377 |
8336
|
aaronmk
|
ON DELETE CASCADE
|
378 |
|
|
ON UPDATE CASCADE,
|
379 |
8563
|
aaronmk
|
CONSTRAINT `fk_place_coordinates1`
|
380 |
8336
|
aaronmk
|
FOREIGN KEY (`coordinates` )
|
381 |
8523
|
aaronmk
|
REFERENCES `coordinates` (`id` )
|
382 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
383 |
|
|
ON UPDATE CASCADE,
|
384 |
8563
|
aaronmk
|
CONSTRAINT `fk_place1`
|
385 |
8523
|
aaronmk
|
FOREIGN KEY (`parent` )
|
386 |
8563
|
aaronmk
|
REFERENCES `place` (`id` )
|
387 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
388 |
8567
|
aaronmk
|
ON UPDATE CASCADE,
|
389 |
|
|
CONSTRAINT `fk_place_place_path1`
|
390 |
|
|
FOREIGN KEY (`path` )
|
391 |
|
|
REFERENCES `place_path` (`id` )
|
392 |
|
|
ON DELETE CASCADE
|
393 |
8524
|
aaronmk
|
ON UPDATE CASCADE)
|
394 |
8336
|
aaronmk
|
ENGINE = InnoDB
|
395 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
396 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
397 |
|
|
COMMENT = '\"A spatial region\" (\"DwC\":http://rs.tdwg.org/dwc/terms/#dcterms:Location) or point';
|
398 |
8336
|
aaronmk
|
|
399 |
|
|
|
400 |
|
|
-- -----------------------------------------------------
|
401 |
8522
|
aaronmk
|
-- Table `method`
|
402 |
8336
|
aaronmk
|
-- -----------------------------------------------------
|
403 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `method` ;
|
404 |
|
|
|
405 |
8522
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `method` (
|
406 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
407 |
8668
|
aaronmk
|
`parent` VARBINARY(767) NOT NULL ,
|
408 |
8579
|
aaronmk
|
`info` SET('hstore') NULL ,
|
409 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
410 |
8668
|
aaronmk
|
INDEX `fk_method_method1_idx` (`parent` ASC) ,
|
411 |
8336
|
aaronmk
|
CONSTRAINT `fk_method_record1`
|
412 |
8523
|
aaronmk
|
FOREIGN KEY (`id` )
|
413 |
|
|
REFERENCES `record` (`id` )
|
414 |
8336
|
aaronmk
|
ON DELETE CASCADE
|
415 |
8668
|
aaronmk
|
ON UPDATE CASCADE,
|
416 |
|
|
CONSTRAINT `fk_method_method1`
|
417 |
|
|
FOREIGN KEY (`parent` )
|
418 |
|
|
REFERENCES `method` (`id` )
|
419 |
|
|
ON DELETE CASCADE
|
420 |
8336
|
aaronmk
|
ON UPDATE CASCADE)
|
421 |
|
|
ENGINE = InnoDB
|
422 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
423 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
424 |
|
|
COMMENT = '\"A specific method definition followed in the creation of the dataset. Each method links to a protocol and literature citation reference. A protocol may have many method or steps.\" (\"VegX\":http://wiki.tdwg.org/twiki/pub/Vegetation/WebHome/VegX_Schema_1.5.3_proposed.zip#/veg.xsd#/methods/method)';
|
425 |
8336
|
aaronmk
|
|
426 |
|
|
|
427 |
|
|
-- -----------------------------------------------------
|
428 |
8522
|
aaronmk
|
-- Table `event`
|
429 |
8336
|
aaronmk
|
-- -----------------------------------------------------
|
430 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `event` ;
|
431 |
|
|
|
432 |
8522
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `event` (
|
433 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
434 |
|
|
`parent` VARBINARY(767) NOT NULL ,
|
435 |
8624
|
aaronmk
|
`name` VARBINARY(767) NULL DEFAULT NULL ,
|
436 |
|
|
`date_range` VARBINARY(767) NULL DEFAULT NULL ,
|
437 |
|
|
`place` VARBINARY(767) NULL DEFAULT NULL ,
|
438 |
|
|
`method` VARBINARY(767) NULL DEFAULT NULL ,
|
439 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
440 |
8612
|
aaronmk
|
INDEX `fk_event_place1_idx` (`place` ASC) ,
|
441 |
|
|
INDEX `fk_event1_idx` (`parent` ASC) ,
|
442 |
|
|
INDEX `fk_event_method1_idx` (`method` ASC) ,
|
443 |
8336
|
aaronmk
|
CONSTRAINT `fk_event_record1`
|
444 |
8523
|
aaronmk
|
FOREIGN KEY (`id` )
|
445 |
|
|
REFERENCES `record` (`id` )
|
446 |
8336
|
aaronmk
|
ON DELETE CASCADE
|
447 |
|
|
ON UPDATE CASCADE,
|
448 |
8563
|
aaronmk
|
CONSTRAINT `fk_event_place1`
|
449 |
|
|
FOREIGN KEY (`place` )
|
450 |
|
|
REFERENCES `place` (`id` )
|
451 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
452 |
|
|
ON UPDATE CASCADE,
|
453 |
8336
|
aaronmk
|
CONSTRAINT `fk_event1`
|
454 |
8523
|
aaronmk
|
FOREIGN KEY (`parent` )
|
455 |
|
|
REFERENCES `event` (`id` )
|
456 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
457 |
|
|
ON UPDATE CASCADE,
|
458 |
8336
|
aaronmk
|
CONSTRAINT `fk_event_method1`
|
459 |
|
|
FOREIGN KEY (`method` )
|
460 |
8523
|
aaronmk
|
REFERENCES `method` (`id` )
|
461 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
462 |
|
|
ON UPDATE CASCADE)
|
463 |
8336
|
aaronmk
|
ENGINE = InnoDB
|
464 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
465 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
466 |
|
|
COMMENT = '\"an action that occurs at a place and during a period of time\" (\"DwC\":http://rs.tdwg.org/dwc/terms/#Event)';
|
467 |
8336
|
aaronmk
|
|
468 |
|
|
|
469 |
|
|
-- -----------------------------------------------------
|
470 |
8623
|
aaronmk
|
-- Table `specimen`
|
471 |
|
|
-- -----------------------------------------------------
|
472 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `specimen` ;
|
473 |
|
|
|
474 |
8623
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `specimen` (
|
475 |
|
|
`id` VARBINARY(767) NOT NULL ,
|
476 |
8674
|
aaronmk
|
`individual` VARBINARY(767) NULL ,
|
477 |
8675
|
aaronmk
|
`code_in_individual` VARBINARY(767) NULL ,
|
478 |
8671
|
aaronmk
|
`collection_event` VARBINARY(767) NULL ,
|
479 |
8678
|
aaronmk
|
`orig_collection` VARBINARY(767) NULL DEFAULT NULL ,
|
480 |
8681
|
aaronmk
|
`barcode` VARBINARY(767) NULL DEFAULT NULL ,
|
481 |
|
|
`accession_number` VARBINARY(767) NULL DEFAULT NULL ,
|
482 |
8678
|
aaronmk
|
`current_collection` VARBINARY(767) NULL ,
|
483 |
8682
|
aaronmk
|
`owner_collection` VARBINARY(767) NULL ,
|
484 |
8623
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
485 |
8678
|
aaronmk
|
INDEX `fk_specimen_collection1_idx` (`orig_collection` ASC) ,
|
486 |
8671
|
aaronmk
|
INDEX `fk_specimen_taxon_observation1_idx` (`collection_event` ASC) ,
|
487 |
8674
|
aaronmk
|
INDEX `fk_specimen_individual1_idx` (`individual` ASC) ,
|
488 |
8678
|
aaronmk
|
INDEX `fk_specimen_collection2_idx` (`current_collection` ASC) ,
|
489 |
8682
|
aaronmk
|
INDEX `fk_specimen_organization3_idx` (`owner_collection` ASC) ,
|
490 |
8684
|
aaronmk
|
UNIQUE INDEX `specimen_unique_in_individual` (`individual` ASC, `code_in_individual` ASC) ,
|
491 |
|
|
UNIQUE INDEX `specimen_unique_by_collection_event` (`collection_event` ASC) ,
|
492 |
|
|
UNIQUE INDEX `specimen_unique_in_collection_by_barcode` (`orig_collection` ASC, `barcode` ASC) ,
|
493 |
|
|
UNIQUE INDEX `specimen_unique_in_collection_by_accession_number` (`orig_collection` ASC, `accession_number` ASC) ,
|
494 |
8623
|
aaronmk
|
CONSTRAINT `fk_specimen_taxon_occurrence1`
|
495 |
|
|
FOREIGN KEY (`id` )
|
496 |
|
|
REFERENCES `taxon_occurrence` (`id` )
|
497 |
|
|
ON DELETE CASCADE
|
498 |
|
|
ON UPDATE CASCADE,
|
499 |
|
|
CONSTRAINT `fk_specimen_collection1`
|
500 |
8678
|
aaronmk
|
FOREIGN KEY (`orig_collection` )
|
501 |
8623
|
aaronmk
|
REFERENCES `collection` (`id` )
|
502 |
|
|
ON DELETE CASCADE
|
503 |
|
|
ON UPDATE CASCADE,
|
504 |
|
|
CONSTRAINT `fk_specimen_organization3`
|
505 |
8682
|
aaronmk
|
FOREIGN KEY (`owner_collection` )
|
506 |
|
|
REFERENCES `collection` (`id` )
|
507 |
8623
|
aaronmk
|
ON DELETE CASCADE
|
508 |
8671
|
aaronmk
|
ON UPDATE CASCADE,
|
509 |
|
|
CONSTRAINT `fk_specimen_taxon_observation1`
|
510 |
|
|
FOREIGN KEY (`collection_event` )
|
511 |
|
|
REFERENCES `taxon_observation` (`id` )
|
512 |
|
|
ON DELETE CASCADE
|
513 |
8674
|
aaronmk
|
ON UPDATE CASCADE,
|
514 |
|
|
CONSTRAINT `fk_specimen_individual1`
|
515 |
|
|
FOREIGN KEY (`individual` )
|
516 |
|
|
REFERENCES `individual` (`id` )
|
517 |
|
|
ON DELETE CASCADE
|
518 |
8678
|
aaronmk
|
ON UPDATE CASCADE,
|
519 |
|
|
CONSTRAINT `fk_specimen_collection2`
|
520 |
|
|
FOREIGN KEY (`current_collection` )
|
521 |
|
|
REFERENCES `collection` (`id` )
|
522 |
|
|
ON DELETE CASCADE
|
523 |
8623
|
aaronmk
|
ON UPDATE CASCADE)
|
524 |
|
|
ENGINE = InnoDB
|
525 |
|
|
DEFAULT CHARACTER SET = utf8
|
526 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
527 |
|
|
COMMENT = 'A \"part of a plant\" (\"Wikipedia\":http://en.wikipedia.org/wiki/Specimen) which was collected from it';
|
528 |
8623
|
aaronmk
|
|
529 |
|
|
|
530 |
|
|
-- -----------------------------------------------------
|
531 |
8581
|
aaronmk
|
-- Table `taxon_observation`
|
532 |
|
|
-- -----------------------------------------------------
|
533 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `taxon_observation` ;
|
534 |
|
|
|
535 |
8581
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `taxon_observation` (
|
536 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
537 |
|
|
`taxon_occurrence` VARBINARY(767) NOT NULL ,
|
538 |
8670
|
aaronmk
|
`collector` VARBINARY(767) NULL ,
|
539 |
|
|
`collector_number` VARBINARY(767) NULL ,
|
540 |
8624
|
aaronmk
|
`voucher` VARBINARY(767) NULL DEFAULT NULL ,
|
541 |
|
|
`growth_form` VARBINARY(767) NULL DEFAULT NULL ,
|
542 |
8581
|
aaronmk
|
`cultivated` TINYINT(1) NULL ,
|
543 |
|
|
`traits` SET('hstore') NULL ,
|
544 |
|
|
PRIMARY KEY (`id`) ,
|
545 |
8612
|
aaronmk
|
INDEX `fk_taxon_observation_taxon_occurrence2_idx` (`taxon_occurrence` ASC) ,
|
546 |
|
|
INDEX `fk_taxon_observation_specimen1_idx` (`voucher` ASC) ,
|
547 |
8670
|
aaronmk
|
INDEX `fk_taxon_observation_party1_idx` (`collector` ASC) ,
|
548 |
8581
|
aaronmk
|
CONSTRAINT `fk_taxon_observation_event1`
|
549 |
|
|
FOREIGN KEY (`id` )
|
550 |
|
|
REFERENCES `event` (`id` )
|
551 |
|
|
ON DELETE CASCADE
|
552 |
|
|
ON UPDATE CASCADE,
|
553 |
|
|
CONSTRAINT `fk_taxon_observation_taxon_occurrence2`
|
554 |
|
|
FOREIGN KEY (`taxon_occurrence` )
|
555 |
|
|
REFERENCES `taxon_occurrence` (`id` )
|
556 |
|
|
ON DELETE CASCADE
|
557 |
|
|
ON UPDATE CASCADE,
|
558 |
|
|
CONSTRAINT `fk_taxon_observation_specimen1`
|
559 |
|
|
FOREIGN KEY (`voucher` )
|
560 |
|
|
REFERENCES `specimen` (`id` )
|
561 |
|
|
ON DELETE CASCADE
|
562 |
8670
|
aaronmk
|
ON UPDATE CASCADE,
|
563 |
|
|
CONSTRAINT `fk_taxon_observation_party1`
|
564 |
|
|
FOREIGN KEY (`collector` )
|
565 |
|
|
REFERENCES `party` (`id` )
|
566 |
|
|
ON DELETE CASCADE
|
567 |
8581
|
aaronmk
|
ON UPDATE CASCADE)
|
568 |
|
|
ENGINE = InnoDB
|
569 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
570 |
|
|
COLLATE = utf8_bin;
|
571 |
8581
|
aaronmk
|
|
572 |
|
|
|
573 |
|
|
-- -----------------------------------------------------
|
574 |
|
|
-- Table `taxon_determination`
|
575 |
|
|
-- -----------------------------------------------------
|
576 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `taxon_determination` ;
|
577 |
|
|
|
578 |
8581
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `taxon_determination` (
|
579 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
580 |
|
|
`taxon_assertion` VARBINARY(767) NOT NULL ,
|
581 |
8624
|
aaronmk
|
`identified_by` VARBINARY(767) NULL DEFAULT NULL ,
|
582 |
8581
|
aaronmk
|
`fit_info` SET('hstore') NULL ,
|
583 |
8612
|
aaronmk
|
INDEX `fk_taxon_occurrence_has_qualified_taxon1_idx` (`taxon_assertion` ASC) ,
|
584 |
8581
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
585 |
8612
|
aaronmk
|
INDEX `fk_taxon_determination_party1_idx` (`identified_by` ASC) ,
|
586 |
8581
|
aaronmk
|
UNIQUE INDEX `taxon_determination_unique` (`taxon_assertion` ASC, `identified_by` ASC) ,
|
587 |
|
|
CONSTRAINT `fk_taxon_occurrence_has_qualified_taxon1`
|
588 |
|
|
FOREIGN KEY (`taxon_assertion` )
|
589 |
|
|
REFERENCES `taxon_assertion` (`id` )
|
590 |
|
|
ON DELETE CASCADE
|
591 |
|
|
ON UPDATE CASCADE,
|
592 |
|
|
CONSTRAINT `fk_taxon_determination_record1`
|
593 |
8613
|
aaronmk
|
FOREIGN KEY (`id` )
|
594 |
|
|
REFERENCES `taxon_observation` (`id` )
|
595 |
8581
|
aaronmk
|
ON DELETE CASCADE
|
596 |
|
|
ON UPDATE CASCADE,
|
597 |
|
|
CONSTRAINT `fk_taxon_determination_party1`
|
598 |
|
|
FOREIGN KEY (`identified_by` )
|
599 |
|
|
REFERENCES `party` (`id` )
|
600 |
|
|
ON DELETE CASCADE
|
601 |
|
|
ON UPDATE CASCADE)
|
602 |
|
|
ENGINE = InnoDB
|
603 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
604 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
605 |
|
|
COMMENT = 'An assertion that a [[VegCore#TaxonOccurrence|TaxonOccurrence]] is a particular [[VegCore#Taxon|Taxon]]';
|
606 |
8581
|
aaronmk
|
|
607 |
|
|
|
608 |
|
|
-- -----------------------------------------------------
|
609 |
8522
|
aaronmk
|
-- Table `taxon_occurrence`
|
610 |
8336
|
aaronmk
|
-- -----------------------------------------------------
|
611 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `taxon_occurrence` ;
|
612 |
|
|
|
613 |
8522
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `taxon_occurrence` (
|
614 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
615 |
8624
|
aaronmk
|
`current_determination` VARBINARY(767) NULL DEFAULT NULL ,
|
616 |
|
|
`original_determination` VARBINARY(767) NULL DEFAULT NULL ,
|
617 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
618 |
8612
|
aaronmk
|
INDEX `fk_taxon_occurrence_taxon_determination1_idx` (`original_determination` ASC) ,
|
619 |
|
|
INDEX `fk_taxon_occurrence_taxon_determination2_idx` (`current_determination` ASC) ,
|
620 |
8521
|
aaronmk
|
CONSTRAINT `fk_taxon_occurrence_taxon_determination1`
|
621 |
8526
|
aaronmk
|
FOREIGN KEY (`original_determination` )
|
622 |
8523
|
aaronmk
|
REFERENCES `taxon_determination` (`id` )
|
623 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
624 |
|
|
ON UPDATE CASCADE,
|
625 |
8521
|
aaronmk
|
CONSTRAINT `fk_taxon_occurrence_taxon_determination2`
|
626 |
8526
|
aaronmk
|
FOREIGN KEY (`current_determination` )
|
627 |
8523
|
aaronmk
|
REFERENCES `taxon_determination` (`id` )
|
628 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
629 |
|
|
ON UPDATE CASCADE,
|
630 |
8521
|
aaronmk
|
CONSTRAINT `fk_taxon_occurrence_event1`
|
631 |
8613
|
aaronmk
|
FOREIGN KEY (`id` )
|
632 |
|
|
REFERENCES `record` (`id` )
|
633 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
634 |
|
|
ON UPDATE CASCADE)
|
635 |
8336
|
aaronmk
|
ENGINE = InnoDB
|
636 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
637 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
638 |
|
|
COMMENT = 'Any entity on which [[VegCore#TaxonDetermination|TaxonDetermination]]s can be made';
|
639 |
8336
|
aaronmk
|
|
640 |
|
|
|
641 |
|
|
-- -----------------------------------------------------
|
642 |
8522
|
aaronmk
|
-- Table `individual`
|
643 |
8336
|
aaronmk
|
-- -----------------------------------------------------
|
644 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `individual` ;
|
645 |
|
|
|
646 |
8522
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `individual` (
|
647 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
648 |
8624
|
aaronmk
|
`tag` VARBINARY(767) NULL DEFAULT NULL ,
|
649 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
650 |
8336
|
aaronmk
|
CONSTRAINT `fk_individual_record1`
|
651 |
8613
|
aaronmk
|
FOREIGN KEY (`id` )
|
652 |
|
|
REFERENCES `taxon_occurrence` (`id` )
|
653 |
8336
|
aaronmk
|
ON DELETE CASCADE
|
654 |
|
|
ON UPDATE CASCADE)
|
655 |
|
|
ENGINE = InnoDB
|
656 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
657 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
658 |
|
|
COMMENT = 'A distinct biological organism';
|
659 |
8336
|
aaronmk
|
|
660 |
|
|
|
661 |
|
|
-- -----------------------------------------------------
|
662 |
8522
|
aaronmk
|
-- Table `aggregate_observation`
|
663 |
8336
|
aaronmk
|
-- -----------------------------------------------------
|
664 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `aggregate_observation` ;
|
665 |
|
|
|
666 |
8522
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `aggregate_observation` (
|
667 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
668 |
8676
|
aaronmk
|
`taxon_concept` VARBINARY(767) NOT NULL ,
|
669 |
8686
|
aaronmk
|
`traits` SET('hstore') NULL ,
|
670 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
671 |
8676
|
aaronmk
|
INDEX `fk_aggregate_observation_taxon_name1_idx` (`taxon_concept` ASC) ,
|
672 |
8336
|
aaronmk
|
CONSTRAINT `fk_aggregate_observation_taxon_occurrence1`
|
673 |
8613
|
aaronmk
|
FOREIGN KEY (`id` )
|
674 |
|
|
REFERENCES `taxon_observation` (`id` )
|
675 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
676 |
8590
|
aaronmk
|
ON UPDATE CASCADE,
|
677 |
|
|
CONSTRAINT `fk_aggregate_observation_taxon_name1`
|
678 |
8676
|
aaronmk
|
FOREIGN KEY (`taxon_concept` )
|
679 |
|
|
REFERENCES `taxon_concept` (`id` )
|
680 |
8590
|
aaronmk
|
ON DELETE CASCADE
|
681 |
8524
|
aaronmk
|
ON UPDATE CASCADE)
|
682 |
8336
|
aaronmk
|
ENGINE = InnoDB
|
683 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
684 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
685 |
|
|
COMMENT = '\"An observation applying to all occurrences of an organism based on an aggregation factor\" (\"VegX\":http://wiki.tdwg.org/twiki/pub/Vegetation/WebHome/VegX_Schema_1.5.3_proposed.zip#/veg.xsd#/aggregateOrganismObservations/aggregateOrganismObservation)';
|
686 |
8336
|
aaronmk
|
|
687 |
|
|
|
688 |
|
|
-- -----------------------------------------------------
|
689 |
8577
|
aaronmk
|
-- Table `taxon_presence`
|
690 |
8336
|
aaronmk
|
-- -----------------------------------------------------
|
691 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `taxon_presence` ;
|
692 |
|
|
|
693 |
8577
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `taxon_presence` (
|
694 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
695 |
8676
|
aaronmk
|
`taxon_concept` VARBINARY(767) NOT NULL ,
|
696 |
8686
|
aaronmk
|
`traits` SET('hstore') NULL ,
|
697 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
698 |
8676
|
aaronmk
|
INDEX `fk_taxon_presence_taxon_name1_idx` (`taxon_concept` ASC) ,
|
699 |
8336
|
aaronmk
|
CONSTRAINT `fk_taxon_observation_taxon_occurrence1`
|
700 |
8613
|
aaronmk
|
FOREIGN KEY (`id` )
|
701 |
|
|
REFERENCES `taxon_observation` (`id` )
|
702 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
703 |
8590
|
aaronmk
|
ON UPDATE CASCADE,
|
704 |
|
|
CONSTRAINT `fk_taxon_presence_taxon_name1`
|
705 |
8676
|
aaronmk
|
FOREIGN KEY (`taxon_concept` )
|
706 |
8573
|
aaronmk
|
REFERENCES `taxon_concept` (`id` )
|
707 |
|
|
ON DELETE CASCADE
|
708 |
|
|
ON UPDATE CASCADE)
|
709 |
|
|
ENGINE = InnoDB
|
710 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
711 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
712 |
|
|
COMMENT = 'An observation of just a [[VegCore#Taxon|Taxon]]\'s _presence_';
|
713 |
8573
|
aaronmk
|
|
714 |
|
|
|
715 |
|
|
-- -----------------------------------------------------
|
716 |
8522
|
aaronmk
|
-- Table `community`
|
717 |
8336
|
aaronmk
|
-- -----------------------------------------------------
|
718 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `community` ;
|
719 |
|
|
|
720 |
8522
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `community` (
|
721 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
722 |
|
|
`name` VARBINARY(767) NOT NULL ,
|
723 |
8579
|
aaronmk
|
`info` SET('hstore') NULL ,
|
724 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
725 |
8336
|
aaronmk
|
CONSTRAINT `fk_community_record1`
|
726 |
8523
|
aaronmk
|
FOREIGN KEY (`id` )
|
727 |
|
|
REFERENCES `record` (`id` )
|
728 |
8336
|
aaronmk
|
ON DELETE CASCADE
|
729 |
|
|
ON UPDATE CASCADE)
|
730 |
|
|
ENGINE = InnoDB
|
731 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
732 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
733 |
|
|
COMMENT = '\"A community type is an abstract grouping of organisms that tend to co-occur on the landscape due to shared ecological requirements or preferences. May be designated by syntaxon or physiognomic types.\" ([[VegCore#VegX|VegX]])';
|
734 |
8336
|
aaronmk
|
|
735 |
|
|
|
736 |
|
|
-- -----------------------------------------------------
|
737 |
8522
|
aaronmk
|
-- Table `geological_context`
|
738 |
8336
|
aaronmk
|
-- -----------------------------------------------------
|
739 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `geological_context` ;
|
740 |
|
|
|
741 |
8522
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `geological_context` (
|
742 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
743 |
|
|
`name` VARBINARY(767) NOT NULL ,
|
744 |
8579
|
aaronmk
|
`info` SET('hstore') NULL ,
|
745 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
746 |
8336
|
aaronmk
|
CONSTRAINT `fk_geological_context_record1`
|
747 |
8523
|
aaronmk
|
FOREIGN KEY (`id` )
|
748 |
|
|
REFERENCES `record` (`id` )
|
749 |
8336
|
aaronmk
|
ON DELETE CASCADE
|
750 |
|
|
ON UPDATE CASCADE)
|
751 |
|
|
ENGINE = InnoDB
|
752 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
753 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
754 |
|
|
COMMENT = '\"information pertaining to a location within a geological context, such as stratigraphy\" (\"DwC\":http://rs.tdwg.org/dwc/terms/#GeologicalContext)';
|
755 |
8336
|
aaronmk
|
|
756 |
|
|
|
757 |
|
|
-- -----------------------------------------------------
|
758 |
8563
|
aaronmk
|
-- Table `place_observation`
|
759 |
8336
|
aaronmk
|
-- -----------------------------------------------------
|
760 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `place_observation` ;
|
761 |
|
|
|
762 |
8563
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `place_observation` (
|
763 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
764 |
|
|
`place` VARBINARY(767) NOT NULL ,
|
765 |
8579
|
aaronmk
|
`elevation_m` DOUBLE NULL ,
|
766 |
|
|
`slope_incline_deg` DOUBLE NULL ,
|
767 |
|
|
`slope_direction_deg_N` DOUBLE NULL ,
|
768 |
8624
|
aaronmk
|
`geological_context` VARBINARY(767) NULL DEFAULT NULL ,
|
769 |
|
|
`community` VARBINARY(767) NULL DEFAULT NULL ,
|
770 |
8579
|
aaronmk
|
`observations` SET('hstore') NULL ,
|
771 |
8612
|
aaronmk
|
INDEX `fk_place_observation_place1_idx` (`place` ASC) ,
|
772 |
|
|
INDEX `fk_place_observation_geological_context1_idx` (`geological_context` ASC) ,
|
773 |
|
|
INDEX `fk_place_observation_community1_idx` (`community` ASC) ,
|
774 |
|
|
INDEX `fk_place_observation_event1_idx` (`id` ASC) ,
|
775 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
776 |
8563
|
aaronmk
|
CONSTRAINT `fk_place_observation_place1`
|
777 |
|
|
FOREIGN KEY (`place` )
|
778 |
|
|
REFERENCES `place` (`id` )
|
779 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
780 |
|
|
ON UPDATE CASCADE,
|
781 |
8563
|
aaronmk
|
CONSTRAINT `fk_place_observation_geological_context1`
|
782 |
8336
|
aaronmk
|
FOREIGN KEY (`geological_context` )
|
783 |
8523
|
aaronmk
|
REFERENCES `geological_context` (`id` )
|
784 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
785 |
|
|
ON UPDATE CASCADE,
|
786 |
8563
|
aaronmk
|
CONSTRAINT `fk_place_observation_community1`
|
787 |
8336
|
aaronmk
|
FOREIGN KEY (`community` )
|
788 |
8523
|
aaronmk
|
REFERENCES `community` (`id` )
|
789 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
790 |
|
|
ON UPDATE CASCADE,
|
791 |
8563
|
aaronmk
|
CONSTRAINT `fk_place_observation_event1`
|
792 |
8523
|
aaronmk
|
FOREIGN KEY (`id` )
|
793 |
|
|
REFERENCES `event` (`id` )
|
794 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
795 |
|
|
ON UPDATE CASCADE)
|
796 |
8336
|
aaronmk
|
ENGINE = InnoDB
|
797 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
798 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
799 |
|
|
COMMENT = 'A sampling of a [[VegCore#Location|Location]]';
|
800 |
8336
|
aaronmk
|
|
801 |
|
|
|
802 |
|
|
-- -----------------------------------------------------
|
803 |
8522
|
aaronmk
|
-- Table `soil_observation`
|
804 |
8336
|
aaronmk
|
-- -----------------------------------------------------
|
805 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `soil_observation` ;
|
806 |
|
|
|
807 |
8522
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `soil_observation` (
|
808 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
809 |
8579
|
aaronmk
|
`observations` SET('hstore') NULL ,
|
810 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
811 |
8563
|
aaronmk
|
CONSTRAINT `fk_soil_observation_place_observation1`
|
812 |
8523
|
aaronmk
|
FOREIGN KEY (`id` )
|
813 |
8563
|
aaronmk
|
REFERENCES `place_observation` (`id` )
|
814 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
815 |
|
|
ON UPDATE CASCADE)
|
816 |
8336
|
aaronmk
|
ENGINE = InnoDB
|
817 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
818 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
819 |
|
|
COMMENT = 'A sampling of a [[VegCore#Location|Location]]\'s soil';
|
820 |
8336
|
aaronmk
|
|
821 |
|
|
|
822 |
|
|
-- -----------------------------------------------------
|
823 |
8532
|
aaronmk
|
-- Table `plot`
|
824 |
8336
|
aaronmk
|
-- -----------------------------------------------------
|
825 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `plot` ;
|
826 |
|
|
|
827 |
8532
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `plot` (
|
828 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
829 |
8624
|
aaronmk
|
`name` VARBINARY(767) NULL DEFAULT NULL ,
|
830 |
8579
|
aaronmk
|
`area_m2` DOUBLE NULL ,
|
831 |
8624
|
aaronmk
|
`bounding_box` VARBINARY(767) NULL DEFAULT NULL ,
|
832 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
833 |
8563
|
aaronmk
|
CONSTRAINT `fk_subplot_place1`
|
834 |
8523
|
aaronmk
|
FOREIGN KEY (`id` )
|
835 |
8563
|
aaronmk
|
REFERENCES `place` (`id` )
|
836 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
837 |
|
|
ON UPDATE CASCADE)
|
838 |
8336
|
aaronmk
|
ENGINE = InnoDB
|
839 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
840 |
|
|
COLLATE = utf8_bin;
|
841 |
8336
|
aaronmk
|
|
842 |
|
|
|
843 |
|
|
-- -----------------------------------------------------
|
844 |
8532
|
aaronmk
|
-- Table `subplot`
|
845 |
|
|
-- -----------------------------------------------------
|
846 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `subplot` ;
|
847 |
|
|
|
848 |
8532
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `subplot` (
|
849 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
850 |
8579
|
aaronmk
|
`x_m` DOUBLE NULL ,
|
851 |
|
|
`y_m` DOUBLE NULL ,
|
852 |
8532
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
853 |
|
|
CONSTRAINT `fk_subplot_plot1`
|
854 |
|
|
FOREIGN KEY (`id` )
|
855 |
|
|
REFERENCES `plot` (`id` )
|
856 |
|
|
ON DELETE CASCADE
|
857 |
|
|
ON UPDATE CASCADE)
|
858 |
|
|
ENGINE = InnoDB
|
859 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
860 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
861 |
|
|
COMMENT = '\"subplot, line, or any other subsample or subdivision of plot\" (\"SALVIAS\":http://salvias.net/Documents/salvias_data_dictionary.html#Plot_data/subplot)';
|
862 |
8532
|
aaronmk
|
|
863 |
|
|
|
864 |
|
|
-- -----------------------------------------------------
|
865 |
8567
|
aaronmk
|
-- Table `validatable_place`
|
866 |
8565
|
aaronmk
|
-- -----------------------------------------------------
|
867 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `validatable_place` ;
|
868 |
|
|
|
869 |
8567
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `validatable_place` (
|
870 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
871 |
|
|
`coordinates` VARBINARY(767) NOT NULL ,
|
872 |
|
|
`path` VARBINARY(767) NOT NULL ,
|
873 |
8565
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
874 |
8612
|
aaronmk
|
INDEX `fk_geovalidation_place_path1_idx` (`path` ASC) ,
|
875 |
|
|
INDEX `fk_geovalidation_coordinates1_idx` (`coordinates` ASC) ,
|
876 |
8568
|
aaronmk
|
UNIQUE INDEX `validatable_place_unique` (`path` ASC, `coordinates` ASC) ,
|
877 |
8567
|
aaronmk
|
CONSTRAINT `fk_geovalidation_place_path1`
|
878 |
|
|
FOREIGN KEY (`path` )
|
879 |
|
|
REFERENCES `place_path` (`id` )
|
880 |
8565
|
aaronmk
|
ON DELETE CASCADE
|
881 |
|
|
ON UPDATE CASCADE,
|
882 |
8567
|
aaronmk
|
CONSTRAINT `fk_geovalidation_coordinates1`
|
883 |
|
|
FOREIGN KEY (`coordinates` )
|
884 |
|
|
REFERENCES `coordinates` (`id` )
|
885 |
8565
|
aaronmk
|
ON DELETE CASCADE
|
886 |
|
|
ON UPDATE CASCADE)
|
887 |
|
|
ENGINE = InnoDB
|
888 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
889 |
|
|
COLLATE = utf8_bin;
|
890 |
8565
|
aaronmk
|
|
891 |
|
|
|
892 |
|
|
-- -----------------------------------------------------
|
893 |
8623
|
aaronmk
|
-- Table `individual_observation`
|
894 |
|
|
-- -----------------------------------------------------
|
895 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `individual_observation` ;
|
896 |
|
|
|
897 |
8623
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `individual_observation` (
|
898 |
|
|
`id` VARBINARY(767) NOT NULL ,
|
899 |
8673
|
aaronmk
|
`individual` VARBINARY(767) NULL ,
|
900 |
8672
|
aaronmk
|
`code` VARBINARY(767) NULL ,
|
901 |
8623
|
aaronmk
|
`traits` SET('hstore') NULL ,
|
902 |
|
|
PRIMARY KEY (`id`) ,
|
903 |
|
|
INDEX `fk_individual_observation_individual1_idx` (`individual` ASC) ,
|
904 |
|
|
CONSTRAINT `fk_individual_observation_taxon_occurrence1`
|
905 |
|
|
FOREIGN KEY (`id` )
|
906 |
|
|
REFERENCES `taxon_observation` (`id` )
|
907 |
|
|
ON DELETE CASCADE
|
908 |
|
|
ON UPDATE CASCADE,
|
909 |
|
|
CONSTRAINT `fk_individual_observation_individual1`
|
910 |
|
|
FOREIGN KEY (`individual` )
|
911 |
|
|
REFERENCES `individual` (`id` )
|
912 |
|
|
ON DELETE CASCADE
|
913 |
|
|
ON UPDATE CASCADE)
|
914 |
|
|
ENGINE = InnoDB
|
915 |
|
|
DEFAULT CHARACTER SET = utf8
|
916 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
917 |
|
|
COMMENT = 'An observation of an [[VegCore#Individual|Individual]]';
|
918 |
8623
|
aaronmk
|
|
919 |
|
|
|
920 |
|
|
-- -----------------------------------------------------
|
921 |
|
|
-- Table `stem`
|
922 |
|
|
-- -----------------------------------------------------
|
923 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `stem` ;
|
924 |
|
|
|
925 |
8623
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `stem` (
|
926 |
|
|
`id` VARBINARY(767) NOT NULL ,
|
927 |
|
|
`individual` VARBINARY(767) NOT NULL ,
|
928 |
|
|
PRIMARY KEY (`id`) ,
|
929 |
|
|
INDEX `fk_stem_individual1_idx` (`individual` ASC) ,
|
930 |
|
|
CONSTRAINT `fk_stem_individual1`
|
931 |
|
|
FOREIGN KEY (`individual` )
|
932 |
|
|
REFERENCES `individual` (`id` )
|
933 |
|
|
ON DELETE CASCADE
|
934 |
|
|
ON UPDATE CASCADE,
|
935 |
|
|
CONSTRAINT `fk_stem_individual2`
|
936 |
|
|
FOREIGN KEY (`id` )
|
937 |
|
|
REFERENCES `individual` (`id` )
|
938 |
|
|
ON DELETE CASCADE
|
939 |
|
|
ON UPDATE CASCADE)
|
940 |
|
|
ENGINE = InnoDB
|
941 |
|
|
DEFAULT CHARACTER SET = utf8
|
942 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
943 |
|
|
COMMENT = 'An \"individual tree stem\" (\"VegBank\":http://vegbank.org/vegbank/views/dba_tabledescription_detail.jsp?view=detail&wparam=stemlocation&entity=dba_tabledescription&where=where_tablename)';
|
944 |
8623
|
aaronmk
|
|
945 |
|
|
|
946 |
|
|
-- -----------------------------------------------------
|
947 |
|
|
-- Table `stem_observation`
|
948 |
|
|
-- -----------------------------------------------------
|
949 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `stem_observation` ;
|
950 |
|
|
|
951 |
8623
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `stem_observation` (
|
952 |
|
|
`id` VARBINARY(767) NOT NULL ,
|
953 |
|
|
`individual_observation` VARBINARY(767) NOT NULL ,
|
954 |
8673
|
aaronmk
|
`stem` VARBINARY(767) NULL ,
|
955 |
8623
|
aaronmk
|
`traits` SET('hstore') NULL ,
|
956 |
|
|
PRIMARY KEY (`id`) ,
|
957 |
|
|
INDEX `fk_stem_observation_individual_observation1_idx` (`individual_observation` ASC) ,
|
958 |
|
|
INDEX `fk_stem_observation_stem1_idx` (`stem` ASC) ,
|
959 |
|
|
UNIQUE INDEX `stem_observation_unique` (`individual_observation` ASC, `stem` ASC) ,
|
960 |
|
|
CONSTRAINT `fk_stem_observation_individual_observation1`
|
961 |
|
|
FOREIGN KEY (`individual_observation` )
|
962 |
|
|
REFERENCES `individual_observation` (`id` )
|
963 |
|
|
ON DELETE CASCADE
|
964 |
|
|
ON UPDATE CASCADE,
|
965 |
|
|
CONSTRAINT `fk_stem_observation_stem1`
|
966 |
|
|
FOREIGN KEY (`stem` )
|
967 |
|
|
REFERENCES `stem` (`id` )
|
968 |
|
|
ON DELETE CASCADE
|
969 |
|
|
ON UPDATE CASCADE,
|
970 |
|
|
CONSTRAINT `fk_stem_observation_individual_observation2`
|
971 |
|
|
FOREIGN KEY (`id` )
|
972 |
|
|
REFERENCES `individual_observation` (`id` )
|
973 |
|
|
ON DELETE CASCADE
|
974 |
|
|
ON UPDATE CASCADE)
|
975 |
|
|
ENGINE = InnoDB
|
976 |
|
|
DEFAULT CHARACTER SET = utf8
|
977 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
978 |
|
|
COMMENT = 'An observation of a [[VegCore#Stem|Stem]]';
|
979 |
8623
|
aaronmk
|
|
980 |
|
|
|
981 |
|
|
-- -----------------------------------------------------
|
982 |
8522
|
aaronmk
|
-- Table `project`
|
983 |
8336
|
aaronmk
|
-- -----------------------------------------------------
|
984 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `project` ;
|
985 |
|
|
|
986 |
8522
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `project` (
|
987 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
988 |
|
|
`name` VARBINARY(767) NOT NULL ,
|
989 |
8579
|
aaronmk
|
`info` SET('hstore') NULL ,
|
990 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
991 |
8336
|
aaronmk
|
CONSTRAINT `fk_project_event1`
|
992 |
8523
|
aaronmk
|
FOREIGN KEY (`id` )
|
993 |
|
|
REFERENCES `event` (`id` )
|
994 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
995 |
|
|
ON UPDATE CASCADE)
|
996 |
8336
|
aaronmk
|
ENGINE = InnoDB
|
997 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
998 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
999 |
|
|
COMMENT = 'A \"project established to collect vegetation plot data. Each plot originates as part of a project.\" (\"VegBank\":http://vegbank.org/vegbank/views/dba_tabledescription_detail.jsp?view=detail&wparam=project&entity=dba_tabledescription&where=where_tablename)';
|
1000 |
8336
|
aaronmk
|
|
1001 |
|
|
|
1002 |
|
|
-- -----------------------------------------------------
|
1003 |
8522
|
aaronmk
|
-- Table `referenced_class`
|
1004 |
8521
|
aaronmk
|
-- -----------------------------------------------------
|
1005 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `referenced_class` ;
|
1006 |
|
|
|
1007 |
8522
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `referenced_class` (
|
1008 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
1009 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
1010 |
8521
|
aaronmk
|
CONSTRAINT `fk_example_record10`
|
1011 |
8523
|
aaronmk
|
FOREIGN KEY (`id` )
|
1012 |
|
|
REFERENCES `record` (`id` )
|
1013 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
1014 |
|
|
ON UPDATE CASCADE)
|
1015 |
8523
|
aaronmk
|
ENGINE = InnoDB
|
1016 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
1017 |
|
|
COLLATE = utf8_bin;
|
1018 |
8336
|
aaronmk
|
|
1019 |
8521
|
aaronmk
|
|
1020 |
|
|
-- -----------------------------------------------------
|
1021 |
8522
|
aaronmk
|
-- Table `base_class`
|
1022 |
8521
|
aaronmk
|
-- -----------------------------------------------------
|
1023 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `base_class` ;
|
1024 |
|
|
|
1025 |
8522
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `base_class` (
|
1026 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
1027 |
|
|
`referenced_class` VARBINARY(767) NOT NULL ,
|
1028 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
1029 |
8612
|
aaronmk
|
INDEX `fk_base_class_referenced_class1_idx` (`referenced_class` ASC) ,
|
1030 |
8521
|
aaronmk
|
CONSTRAINT `fk_example_record1`
|
1031 |
8523
|
aaronmk
|
FOREIGN KEY (`id` )
|
1032 |
|
|
REFERENCES `record` (`id` )
|
1033 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
1034 |
|
|
ON UPDATE CASCADE,
|
1035 |
8521
|
aaronmk
|
CONSTRAINT `fk_base_class_referenced_class1`
|
1036 |
|
|
FOREIGN KEY (`referenced_class` )
|
1037 |
8523
|
aaronmk
|
REFERENCES `referenced_class` (`id` )
|
1038 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
1039 |
|
|
ON UPDATE CASCADE)
|
1040 |
8523
|
aaronmk
|
ENGINE = InnoDB
|
1041 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
1042 |
|
|
COLLATE = utf8_bin;
|
1043 |
8521
|
aaronmk
|
|
1044 |
|
|
|
1045 |
|
|
-- -----------------------------------------------------
|
1046 |
8522
|
aaronmk
|
-- Table `derived_class`
|
1047 |
8521
|
aaronmk
|
-- -----------------------------------------------------
|
1048 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `derived_class` ;
|
1049 |
|
|
|
1050 |
8522
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `derived_class` (
|
1051 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
1052 |
8523
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
1053 |
8521
|
aaronmk
|
CONSTRAINT `fk_derived_class_base_class1`
|
1054 |
8523
|
aaronmk
|
FOREIGN KEY (`id` )
|
1055 |
|
|
REFERENCES `base_class` (`id` )
|
1056 |
8524
|
aaronmk
|
ON DELETE CASCADE
|
1057 |
|
|
ON UPDATE CASCADE)
|
1058 |
8523
|
aaronmk
|
ENGINE = InnoDB
|
1059 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
1060 |
|
|
COLLATE = utf8_bin;
|
1061 |
8521
|
aaronmk
|
|
1062 |
|
|
|
1063 |
8533
|
aaronmk
|
-- -----------------------------------------------------
|
1064 |
|
|
-- Table `stratum`
|
1065 |
|
|
-- -----------------------------------------------------
|
1066 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `stratum` ;
|
1067 |
|
|
|
1068 |
8533
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `stratum` (
|
1069 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
1070 |
|
|
`name` VARBINARY(767) NOT NULL ,
|
1071 |
8579
|
aaronmk
|
`info` SET('hstore') NULL ,
|
1072 |
8533
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
1073 |
8564
|
aaronmk
|
CONSTRAINT `fk_place_path_record10`
|
1074 |
8533
|
aaronmk
|
FOREIGN KEY (`id` )
|
1075 |
8634
|
aaronmk
|
REFERENCES `method` (`id` )
|
1076 |
8533
|
aaronmk
|
ON DELETE CASCADE
|
1077 |
|
|
ON UPDATE CASCADE)
|
1078 |
|
|
ENGINE = InnoDB
|
1079 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
1080 |
|
|
COLLATE = utf8_bin;
|
1081 |
8521
|
aaronmk
|
|
1082 |
8533
|
aaronmk
|
|
1083 |
|
|
-- -----------------------------------------------------
|
1084 |
8567
|
aaronmk
|
-- Table `geovalidation`
|
1085 |
|
|
-- -----------------------------------------------------
|
1086 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `geovalidation` ;
|
1087 |
|
|
|
1088 |
8567
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `geovalidation` (
|
1089 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
1090 |
8579
|
aaronmk
|
`geovalid` TINYINT(1) NOT NULL ,
|
1091 |
|
|
`lat_long_domain_valid` TINYINT(1) NOT NULL ,
|
1092 |
8600
|
aaronmk
|
`lat_long_in_ranks` SET('hstore') NULL ,
|
1093 |
8567
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
1094 |
|
|
CONSTRAINT `fk_geovalidation_validatable_place1`
|
1095 |
|
|
FOREIGN KEY (`id` )
|
1096 |
|
|
REFERENCES `validatable_place` (`id` )
|
1097 |
|
|
ON DELETE CASCADE
|
1098 |
|
|
ON UPDATE CASCADE)
|
1099 |
|
|
ENGINE = InnoDB
|
1100 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
1101 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
1102 |
|
|
COMMENT = 'The accuracy of the [[VegCore#Coordinates|Coordinates]], taking into account the [[VegCore#Placename|Placename]]';
|
1103 |
8561
|
aaronmk
|
|
1104 |
8567
|
aaronmk
|
|
1105 |
8573
|
aaronmk
|
-- -----------------------------------------------------
|
1106 |
|
|
-- Table `taxon_path`
|
1107 |
|
|
-- -----------------------------------------------------
|
1108 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `taxon_path` ;
|
1109 |
|
|
|
1110 |
8573
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `taxon_path` (
|
1111 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
1112 |
8624
|
aaronmk
|
`family` VARBINARY(767) NULL DEFAULT NULL ,
|
1113 |
|
|
`genus` VARBINARY(767) NULL DEFAULT NULL ,
|
1114 |
|
|
`specific_epithet` VARBINARY(767) NULL DEFAULT NULL ,
|
1115 |
8573
|
aaronmk
|
`ranks` SET('hstore') NULL ,
|
1116 |
|
|
PRIMARY KEY (`id`) ,
|
1117 |
|
|
CONSTRAINT `fk_taxon_path_taxon_name1`
|
1118 |
|
|
FOREIGN KEY (`id` )
|
1119 |
|
|
REFERENCES `taxon_name` (`id` )
|
1120 |
|
|
ON DELETE CASCADE
|
1121 |
|
|
ON UPDATE CASCADE)
|
1122 |
|
|
ENGINE = InnoDB
|
1123 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
1124 |
8688
|
aaronmk
|
COLLATE = utf8_bin
|
1125 |
|
|
COMMENT = '\"a group of one (or more) populations of organism(s), which a taxonomist adjudges to be a unit\" (\"Wikipedia\":http://en.wikipedia.org/wiki/Taxon)';
|
1126 |
8567
|
aaronmk
|
|
1127 |
8573
|
aaronmk
|
|
1128 |
8581
|
aaronmk
|
-- -----------------------------------------------------
|
1129 |
|
|
-- Table `specimen_observation`
|
1130 |
|
|
-- -----------------------------------------------------
|
1131 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `specimen_observation` ;
|
1132 |
|
|
|
1133 |
8581
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `specimen_observation` (
|
1134 |
8620
|
aaronmk
|
`id` VARBINARY(767) NOT NULL ,
|
1135 |
|
|
`specimen` VARBINARY(767) NOT NULL ,
|
1136 |
8686
|
aaronmk
|
`traits` SET('hstore') NULL ,
|
1137 |
8581
|
aaronmk
|
PRIMARY KEY (`id`) ,
|
1138 |
8612
|
aaronmk
|
INDEX `fk_specimen_observation_specimen1_idx` (`specimen` ASC) ,
|
1139 |
8581
|
aaronmk
|
CONSTRAINT `fk_specimen_taxon_occurrence10`
|
1140 |
8613
|
aaronmk
|
FOREIGN KEY (`id` )
|
1141 |
|
|
REFERENCES `taxon_observation` (`id` )
|
1142 |
8581
|
aaronmk
|
ON DELETE CASCADE
|
1143 |
|
|
ON UPDATE CASCADE,
|
1144 |
|
|
CONSTRAINT `fk_specimen_observation_specimen1`
|
1145 |
|
|
FOREIGN KEY (`specimen` )
|
1146 |
|
|
REFERENCES `specimen` (`id` )
|
1147 |
|
|
ON DELETE CASCADE
|
1148 |
|
|
ON UPDATE CASCADE)
|
1149 |
|
|
ENGINE = InnoDB
|
1150 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
1151 |
|
|
COLLATE = utf8_bin;
|
1152 |
8573
|
aaronmk
|
|
1153 |
8581
|
aaronmk
|
|
1154 |
8593
|
aaronmk
|
-- -----------------------------------------------------
|
1155 |
8598
|
aaronmk
|
-- Table `event_participant`
|
1156 |
8593
|
aaronmk
|
-- -----------------------------------------------------
|
1157 |
8632
|
aaronmk
|
DROP TABLE IF EXISTS `event_participant` ;
|
1158 |
|
|
|
1159 |
8598
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `event_participant` (
|
1160 |
8620
|
aaronmk
|
`event` VARBINARY(767) NOT NULL ,
|
1161 |
|
|
`party` VARBINARY(767) NOT NULL ,
|
1162 |
8598
|
aaronmk
|
`sort_order` INT NULL ,
|
1163 |
|
|
PRIMARY KEY (`event`, `party`) ,
|
1164 |
8612
|
aaronmk
|
INDEX `fk_event_has_party_party1_idx` (`party` ASC) ,
|
1165 |
|
|
INDEX `fk_event_has_party_event1_idx` (`event` ASC) ,
|
1166 |
8598
|
aaronmk
|
CONSTRAINT `fk_event_has_party_event1`
|
1167 |
|
|
FOREIGN KEY (`event` )
|
1168 |
|
|
REFERENCES `event` (`id` )
|
1169 |
|
|
ON DELETE CASCADE
|
1170 |
|
|
ON UPDATE CASCADE,
|
1171 |
|
|
CONSTRAINT `fk_event_has_party_party1`
|
1172 |
|
|
FOREIGN KEY (`party` )
|
1173 |
8593
|
aaronmk
|
REFERENCES `party` (`id` )
|
1174 |
|
|
ON DELETE CASCADE
|
1175 |
|
|
ON UPDATE CASCADE)
|
1176 |
|
|
ENGINE = InnoDB
|
1177 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
1178 |
|
|
COLLATE = utf8_bin;
|
1179 |
8581
|
aaronmk
|
|
1180 |
8593
|
aaronmk
|
|
1181 |
8594
|
aaronmk
|
-- -----------------------------------------------------
|
1182 |
8821
|
aaronmk
|
-- Table `specimenholder_institution`
|
1183 |
8594
|
aaronmk
|
-- -----------------------------------------------------
|
1184 |
8821
|
aaronmk
|
DROP TABLE IF EXISTS `specimenholder_institution` ;
|
1185 |
8632
|
aaronmk
|
|
1186 |
8821
|
aaronmk
|
CREATE TABLE IF NOT EXISTS `specimenholder_institution` (
|
1187 |
8620
|
aaronmk
|
`specimen` VARBINARY(767) NOT NULL ,
|
1188 |
|
|
`institution` VARBINARY(767) NOT NULL ,
|
1189 |
8597
|
aaronmk
|
`sort_order` INT NULL ,
|
1190 |
8598
|
aaronmk
|
PRIMARY KEY (`specimen`, `institution`) ,
|
1191 |
8612
|
aaronmk
|
INDEX `fk_specimen_has_organization_organization1_idx` (`institution` ASC) ,
|
1192 |
|
|
INDEX `fk_specimen_has_organization_specimen1_idx` (`specimen` ASC) ,
|
1193 |
8598
|
aaronmk
|
CONSTRAINT `fk_specimen_has_organization_specimen1`
|
1194 |
|
|
FOREIGN KEY (`specimen` )
|
1195 |
|
|
REFERENCES `specimen` (`id` )
|
1196 |
8597
|
aaronmk
|
ON DELETE CASCADE
|
1197 |
|
|
ON UPDATE CASCADE,
|
1198 |
8598
|
aaronmk
|
CONSTRAINT `fk_specimen_has_organization_organization1`
|
1199 |
|
|
FOREIGN KEY (`institution` )
|
1200 |
|
|
REFERENCES `organization` (`id` )
|
1201 |
8594
|
aaronmk
|
ON DELETE CASCADE
|
1202 |
|
|
ON UPDATE CASCADE)
|
1203 |
|
|
ENGINE = InnoDB
|
1204 |
8621
|
aaronmk
|
DEFAULT CHARACTER SET = utf8
|
1205 |
|
|
COLLATE = utf8_bin;
|
1206 |
8593
|
aaronmk
|
|
1207 |
8632
|
aaronmk
|
USE `VegCore` ;
|
1208 |
8594
|
aaronmk
|
|
1209 |
|
|
|
1210 |
8336
|
aaronmk
|
SET SQL_MODE=@OLD_SQL_MODE;
|
1211 |
|
|
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
|
1212 |
|
|
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
|