Project

General

Profile

1 537 aaronmk
-- Existing tables
2
3 596 aaronmk
CREATE TABLE role
4 537 aaronmk
(
5
  role_id int(11) NOT NULL AUTO_INCREMENT,
6
  rolecode character varying(30) NOT NULL,
7
  roledescription character varying(200),
8 596 aaronmk
  CONSTRAINT role_pkey PRIMARY KEY (role_id )
9 537 aaronmk
);
10
11
CREATE TABLE reference
12
(
13
  reference_id int(11) NOT NULL AUTO_INCREMENT,
14
  shortname character varying(250),
15
  fulltext__ text,
16
  referencetype character varying(250)
17
);
18
19
CREATE TABLE party
20
(
21
  party_id int(11) NOT NULL AUTO_INCREMENT,
22
  salutation character varying(20),
23
  givenname character varying(50),
24
  middlename character varying(50),
25
  surname character varying(50),
26
  organizationname character varying(100)
27
);
28
29
CREATE TABLE plantname
30
(
31
  plantname_id int(11) NOT NULL AUTO_INCREMENT,
32
  plantname character varying(255) NOT NULL,
33
  reference_id int(11),
34 599 aaronmk
  dateentered timestamp NULL DEFAULT now(),
35 537 aaronmk
  CONSTRAINT plantname_pkey PRIMARY KEY (plantname_id ),
36
  CONSTRAINT plantname_reference_id FOREIGN KEY (reference_id)
37
      REFERENCES reference (reference_id) MATCH SIMPLE
38
      ON UPDATE CASCADE ON DELETE CASCADE
39
);
40
41
CREATE TABLE plantconcept
42
(
43
  plantconcept_id int(11) NOT NULL AUTO_INCREMENT,
44
  plantname_id int(11) NOT NULL,
45 599 aaronmk
  reference_id int(11),
46 537 aaronmk
  plantcode character varying(23),
47
  plantdescription text,
48
  d_obscount int(11),
49
  d_currentaccepted int(1),
50
  accessioncode character varying(255),
51
  CONSTRAINT plantconcept_pkey PRIMARY KEY (plantconcept_id ),
52
  CONSTRAINT plantconcept_plantname_id FOREIGN KEY (plantname_id)
53
      REFERENCES plantname (plantname_id) MATCH SIMPLE
54
      ON UPDATE CASCADE ON DELETE CASCADE,
55
  CONSTRAINT plantconcept_reference_id FOREIGN KEY (reference_id)
56
      REFERENCES reference (reference_id) MATCH SIMPLE
57
      ON UPDATE CASCADE ON DELETE CASCADE
58
);
59
60 592 aaronmk
CREATE TABLE stratummethod
61
(
62
  stratummethod_id int(11) NOT NULL AUTO_INCREMENT,
63
  reference_id int(11),
64
  stratummethodname character varying(30) NOT NULL,
65
  stratummethoddescription text,
66
  stratumassignment character varying(50),
67
  accessioncode character varying(255),
68
  CONSTRAINT stratummethod_pkey PRIMARY KEY (stratummethod_id ),
69
  CONSTRAINT stratummethod_reference_id FOREIGN KEY (reference_id)
70
      REFERENCES reference (reference_id) MATCH SIMPLE
71
      ON UPDATE CASCADE ON DELETE CASCADE
72
);
73
74
CREATE TABLE stratumtype
75
(
76
  stratumtype_id int(11) NOT NULL AUTO_INCREMENT,
77
  stratummethod_id int(11) NOT NULL,
78
  stratumindex character varying(10),
79
  stratumname character varying(30),
80
  stratumdescription text,
81
  CONSTRAINT stratumtype_pkey PRIMARY KEY (stratumtype_id ),
82
  CONSTRAINT stratumtype_stratummethod_id FOREIGN KEY (stratummethod_id)
83
      REFERENCES stratummethod (stratummethod_id) MATCH SIMPLE
84
      ON UPDATE CASCADE ON DELETE CASCADE
85
);
86
87 537 aaronmk
CREATE TABLE namedplace
88
(
89
  namedplace_id int(11) NOT NULL AUTO_INCREMENT,
90
  placesystem character varying(50),
91
  placename character varying(100) NOT NULL,
92
  placedescription text,
93
  placecode character varying(15),
94
  owner character varying(100),
95
  reference_id int(11),
96
  d_obscount int(11),
97
  accessioncode character varying(255),
98
  CONSTRAINT namedplace_pkey PRIMARY KEY (namedplace_id ),
99
  CONSTRAINT namedplace_reference_id FOREIGN KEY (reference_id)
100
      REFERENCES reference (reference_id) MATCH SIMPLE
101
      ON UPDATE CASCADE ON DELETE CASCADE,
102
  CONSTRAINT namedplace_keys UNIQUE (placesystem , placename )
103
);
104
105 566 aaronmk
CREATE TABLE locationplace
106 552 aaronmk
(
107
  locationplace_id int(11) NOT NULL AUTO_INCREMENT,
108
  location_id int(11) NOT NULL,
109
  calculated int(1),
110
  namedplace_id int(11) NOT NULL,
111 566 aaronmk
  CONSTRAINT locationplace_pkey PRIMARY KEY (locationplace_id ),
112
  CONSTRAINT locationplace_location_id FOREIGN KEY (location_id)
113 552 aaronmk
      REFERENCES location (location_id) MATCH SIMPLE
114
      ON UPDATE CASCADE ON DELETE CASCADE,
115 566 aaronmk
  CONSTRAINT locationplace_namedplace_id FOREIGN KEY (namedplace_id)
116 552 aaronmk
      REFERENCES namedplace (namedplace_id) MATCH SIMPLE
117
      ON UPDATE CASCADE ON DELETE CASCADE,
118 566 aaronmk
  CONSTRAINT locationplace_keys UNIQUE (location_id , namedplace_id )
119 552 aaronmk
);
120
121 537 aaronmk
CREATE TABLE project
122
(
123
  project_id int(11) NOT NULL AUTO_INCREMENT,
124
  projectname character varying(150) NOT NULL,
125
  projectdescription text,
126 578 aaronmk
  startdate timestamp NULL,
127
  stopdate timestamp NULL,
128 537 aaronmk
  d_obscount int(11),
129 578 aaronmk
  d_lastlocationaddeddate timestamp NULL,
130 537 aaronmk
  accessioncode character varying(255),
131
  CONSTRAINT project_pkey PRIMARY KEY (project_id ),
132
  CONSTRAINT project_keys UNIQUE (projectname , startdate , stopdate )
133
);
134
135
-- New tables
136
137 536 aaronmk
CREATE TABLE location
138
(
139
  location_id int(11) NOT NULL AUTO_INCREMENT,
140 582 aaronmk
  authorlocationcode character varying(30),
141 536 aaronmk
  reference_id int(11),
142
  parent_id int(11),
143 582 aaronmk
  reallatitude double precision,
144
  reallongitude double precision,
145 536 aaronmk
  locationaccuracy double precision,
146 575 aaronmk
  confidentialitystatus int(11) NOT NULL DEFAULT 0,
147 536 aaronmk
  confidentialityreason character varying(200),
148 580 aaronmk
  publiclatitude double precision,
149
  publiclongitude double precision,
150 561 aaronmk
  `... (truncated) ...` int(11),
151 536 aaronmk
  accessioncode character varying(255),
152
  sublocationxposition double precision,
153
  sublocationyposition double precision,
154
  namedplace_id int(11),
155
  CONSTRAINT location_pkey PRIMARY KEY (location_id ),
156
  CONSTRAINT location_namedplace_id FOREIGN KEY (namedplace_id)
157
      REFERENCES namedplace (namedplace_id) MATCH SIMPLE
158
      ON UPDATE CASCADE ON DELETE CASCADE,
159
  CONSTRAINT location_parent_id FOREIGN KEY (parent_id)
160
      REFERENCES location (location_id) MATCH SIMPLE
161
      ON UPDATE CASCADE ON DELETE CASCADE,
162
  CONSTRAINT location_reference_id FOREIGN KEY (reference_id)
163
      REFERENCES reference (reference_id) MATCH SIMPLE
164
      ON UPDATE CASCADE ON DELETE CASCADE,
165 582 aaronmk
  CONSTRAINT location_keys_code UNIQUE (reference_id , authorlocationcode ),
166
  CONSTRAINT location_keys_coords UNIQUE (reference_id , reallatitude , reallongitude ),
167
  CONSTRAINT location_keys_subplot_code UNIQUE (parent_id , authorlocationcode ),
168
  CONSTRAINT location_keys_subplot_coords UNIQUE (parent_id , sublocationxposition , sublocationyposition )
169 536 aaronmk
);
170
171
CREATE TABLE locationevent -- VegBank's observation table.
172
(
173
  locationevent_id int(11) NOT NULL AUTO_INCREMENT,
174
  previous_id int(11),
175 605 aaronmk
  location_id int(11),
176 536 aaronmk
  project_id int(11),
177 570 aaronmk
  authoreventcode character varying(30),
178 561 aaronmk
  `... (truncated) ...` int(11),
179 536 aaronmk
  accessioncode character varying(255),
180 586 aaronmk
  sourceaccessioncode character varying(100),
181 536 aaronmk
  CONSTRAINT locationevent_pkey PRIMARY KEY (locationevent_id ),
182
  CONSTRAINT locationevent_location_id FOREIGN KEY (location_id)
183
      REFERENCES location (location_id) MATCH SIMPLE
184
      ON UPDATE CASCADE ON DELETE CASCADE,
185
  CONSTRAINT locationevent_project_id FOREIGN KEY (project_id)
186
      REFERENCES project (project_id) MATCH SIMPLE
187
      ON UPDATE CASCADE ON DELETE CASCADE,
188 586 aaronmk
  CONSTRAINT locationevent_keys_accessioncode UNIQUE (location_id , project_id , sourceaccessioncode ),
189
  CONSTRAINT locationevent_keys_code UNIQUE (location_id , project_id , authoreventcode )
190 536 aaronmk
);
191
192
CREATE TABLE taxonoccurrence -- VegBank's taxonobservation table.
193
(
194
  taxonoccurrence_id int(11) NOT NULL AUTO_INCREMENT,
195 605 aaronmk
  locationevent_id int(11),
196 536 aaronmk
  authorplantname character varying(255),
197
  reference_id int(11),
198
  taxoninferencearea double precision,
199
  emb_taxonoccurrence int(11),
200 561 aaronmk
  `... (truncated) ...` int(11),
201 536 aaronmk
  accessioncode character varying(255),
202
  CONSTRAINT taxonoccurrence_pkey PRIMARY KEY (taxonoccurrence_id ),
203
  CONSTRAINT taxonoccurrence_locationevent_id FOREIGN KEY (locationevent_id)
204
      REFERENCES locationevent (locationevent_id) MATCH SIMPLE
205
      ON UPDATE CASCADE ON DELETE CASCADE,
206
  CONSTRAINT taxonoccurrence_reference_id FOREIGN KEY (reference_id)
207
      REFERENCES reference (reference_id) MATCH SIMPLE
208
      ON UPDATE CASCADE ON DELETE CASCADE
209
);
210
211
CREATE TABLE aggregateoccurrence -- VegBank's taxonimportance table.
212
(
213
  aggregateoccurrence_id int(11) NOT NULL AUTO_INCREMENT,
214
  taxonoccurrence_id int(11) NOT NULL,
215 584 aaronmk
  taxonbinmethod_id int(11),
216 536 aaronmk
  cover double precision,
217
  basalarea double precision,
218
  biomass double precision,
219
  inferencearea double precision,
220
  stratumbase double precision,
221
  stratumheight double precision,
222
  emb_aggregateoccurrence int(11),
223
  covercode character varying(10),
224 607 aaronmk
  count int(11),
225 536 aaronmk
  accessioncode character varying(255),
226 586 aaronmk
  sourceaccessioncode character varying(100),
227 671 aaronmk
  plantobservation_id int(11),
228 536 aaronmk
  CONSTRAINT aggregateoccurrence_pkey PRIMARY KEY (aggregateoccurrence_id ),
229 671 aaronmk
  CONSTRAINT aggregateoccurrence_plantobservation_id FOREIGN KEY (plantobservation_id)
230
      REFERENCES plantobservation (plantobservation_id) MATCH SIMPLE
231 666 aaronmk
      ON UPDATE CASCADE ON DELETE CASCADE,
232 584 aaronmk
  CONSTRAINT aggregateoccurrence_taxonbinmethod_id FOREIGN KEY (taxonbinmethod_id)
233
      REFERENCES taxonbinmethod (taxonbinmethod_id) MATCH SIMPLE
234 536 aaronmk
      ON UPDATE CASCADE ON DELETE CASCADE,
235
  CONSTRAINT aggregateoccurrence_taxonoccurrence_id FOREIGN KEY (taxonoccurrence_id)
236
      REFERENCES taxonoccurrence (taxonoccurrence_id) MATCH SIMPLE
237
      ON UPDATE CASCADE ON DELETE CASCADE,
238 586 aaronmk
  CONSTRAINT aggregateoccurrence_keys_accessioncode UNIQUE (taxonoccurrence_id , sourceaccessioncode ),
239
  CONSTRAINT aggregateoccurrence_keys_method UNIQUE (taxonoccurrence_id , taxonbinmethod_id )
240 536 aaronmk
);
241
242 674 aaronmk
CREATE TABLE plant -- A physical, tagged plant.
243
(
244
  plant_id int(11) NOT NULL AUTO_INCREMENT,
245
  CONSTRAINT plant_pkey PRIMARY KEY (plant_id )
246
);
247
248
CREATE TABLE planttag
249
(
250
  planttag_id int(11) NOT NULL AUTO_INCREMENT,
251
  plant_id int(11) NOT NULL,
252
  tag character varying(255) NOT NULL,
253
  CONSTRAINT planttag_pkey PRIMARY KEY (planttag_id ),
254
  CONSTRAINT planttag_plant_id FOREIGN KEY (plant_id)
255
      REFERENCES plant (plant_id) MATCH SIMPLE
256
      ON UPDATE CASCADE ON DELETE CASCADE,
257
  CONSTRAINT planttag_keys UNIQUE (plant_id , tag )
258
);
259
260 671 aaronmk
CREATE TABLE plantobservation -- VegBank's stemcount table.
261 536 aaronmk
(
262 671 aaronmk
  plantobservation_id int(11) NOT NULL AUTO_INCREMENT,
263 536 aaronmk
  aggregateoccurrence_id int(11) NOT NULL,
264 563 aaronmk
  overallheight double precision,
265
  overallheightaccuracy double precision,
266 671 aaronmk
  emb_plantobservation int(11),
267 570 aaronmk
  authorplantcode character varying(20),
268 536 aaronmk
  accessioncode character varying(255),
269
  stemcount int(11),
270 586 aaronmk
  sourceaccessioncode character varying(100),
271 674 aaronmk
  plant_id int(11),
272 671 aaronmk
  CONSTRAINT plantobservation_pkey PRIMARY KEY (plantobservation_id ),
273
  CONSTRAINT plantobservation_aggregateoccurrence_id FOREIGN KEY (aggregateoccurrence_id)
274 536 aaronmk
      REFERENCES aggregateoccurrence (aggregateoccurrence_id) MATCH SIMPLE
275
      ON UPDATE CASCADE ON DELETE CASCADE,
276 674 aaronmk
  CONSTRAINT plantobservation_plant_id FOREIGN KEY (plant_id)
277
      REFERENCES plant (plant_id) MATCH SIMPLE
278
      ON UPDATE CASCADE ON DELETE CASCADE,
279 671 aaronmk
  CONSTRAINT plantobservation_aggregateoccurrence_id_1_to_1 UNIQUE (aggregateoccurrence_id )
280 536 aaronmk
);
281
282 673 aaronmk
CREATE TABLE stemobservation -- VegBank's stemlocation table.
283 536 aaronmk
(
284 673 aaronmk
  stemobservation_id int(11) NOT NULL AUTO_INCREMENT,
285 671 aaronmk
  plantobservation_id int(11) NOT NULL,
286 570 aaronmk
  authorstemcode character varying(20),
287 536 aaronmk
  xposition double precision,
288
  yposition double precision,
289
  health character varying(50),
290 673 aaronmk
  emb_stemobservation int(11),
291 536 aaronmk
  diameter double precision,
292
  height double precision,
293
  heightaccuracy double precision,
294
  age double precision,
295
  accessioncode character varying(255),
296 556 aaronmk
  diameteraccuracy double precision,
297 586 aaronmk
  sourceaccessioncode character varying(100),
298 673 aaronmk
  CONSTRAINT stemobservation_pkey PRIMARY KEY (stemobservation_id ),
299
  CONSTRAINT stemobservation_plantobservation_id FOREIGN KEY (plantobservation_id)
300 671 aaronmk
      REFERENCES plantobservation (plantobservation_id) MATCH SIMPLE
301 536 aaronmk
      ON UPDATE CASCADE ON DELETE CASCADE,
302 673 aaronmk
  CONSTRAINT stemobservation_keys_accessioncode UNIQUE (plantobservation_id , sourceaccessioncode ),
303
  CONSTRAINT stemobservation_keys_code UNIQUE (plantobservation_id , authorstemcode )
304 536 aaronmk
);
305
306 670 aaronmk
CREATE TABLE specimen -- A physical specimen collected from a plant. Used to link replicates of the same specimen together.
307 669 aaronmk
(
308
  specimen_id int(11) NOT NULL AUTO_INCREMENT,
309
  CONSTRAINT specimen_pkey PRIMARY KEY (specimen_id )
310
);
311
312 670 aaronmk
CREATE TABLE specimenreplicate -- A herbarium's replicate of a specimen. Contains Darwin Core specimen data.
313 537 aaronmk
(
314 668 aaronmk
  specimenreplicate_id int(11) NOT NULL AUTO_INCREMENT,
315 537 aaronmk
  reference_id int(11) NOT NULL,
316 668 aaronmk
  collectioncode_dwc character varying(255), -- The code for the collection that the specimenreplicate is from.
317 537 aaronmk
  catalognumber_dwc character varying(255),
318 578 aaronmk
  collectiondate timestamp NULL,
319 537 aaronmk
  museum_id int(11),
320 586 aaronmk
  sourceaccessioncode character varying(100),
321 537 aaronmk
  accessioncode character varying(255),
322 576 aaronmk
  taxonoccurrence_id int(11) NOT NULL,
323 613 aaronmk
  verbatimcollectorname character varying(255),
324 668 aaronmk
  collectionnumber character varying(255), -- The number of the specimenreplicate within the collection.
325 669 aaronmk
  specimen_id int(11),
326 668 aaronmk
  CONSTRAINT specimenreplicate_pkey PRIMARY KEY (specimenreplicate_id ),
327
  CONSTRAINT specimenreplicate_museum_id FOREIGN KEY (museum_id)
328 537 aaronmk
      REFERENCES party (party_id) MATCH SIMPLE
329
      ON UPDATE CASCADE ON DELETE CASCADE,
330 668 aaronmk
  CONSTRAINT specimenreplicate_reference_id_fkey FOREIGN KEY (reference_id)
331 537 aaronmk
      REFERENCES reference (reference_id) MATCH SIMPLE
332
      ON UPDATE CASCADE ON DELETE CASCADE,
333 669 aaronmk
  CONSTRAINT specimenreplicate_specimen_id FOREIGN KEY (specimen_id)
334
      REFERENCES specimen (specimen_id) MATCH SIMPLE
335
      ON UPDATE CASCADE ON DELETE CASCADE,
336 668 aaronmk
  CONSTRAINT specimenreplicate_taxonoccurrence_id FOREIGN KEY (taxonoccurrence_id)
337 537 aaronmk
      REFERENCES taxonoccurrence (taxonoccurrence_id) MATCH SIMPLE
338
      ON UPDATE CASCADE ON DELETE CASCADE,
339 668 aaronmk
  CONSTRAINT specimenreplicate_keys_accessioncode UNIQUE (reference_id , collectioncode_dwc , sourceaccessioncode ),
340
  CONSTRAINT specimenreplicate_keys_catalognumber UNIQUE (reference_id , collectioncode_dwc , catalognumber_dwc ),
341 672 aaronmk
  CONSTRAINT specimenreplicate_keys_collectionnumber UNIQUE (reference_id , collectioncode_dwc , collectionnumber )
342 537 aaronmk
);
343
344 544 aaronmk
CREATE TABLE voucher
345
(
346
  voucher_id int(11) NOT NULL AUTO_INCREMENT,
347 545 aaronmk
  taxonoccurrence_id int(11) NOT NULL,
348 668 aaronmk
  specimenreplicate_id int(11) NOT NULL,
349 544 aaronmk
  accessioncode character varying(255),
350
  CONSTRAINT voucher_pkey PRIMARY KEY (voucher_id ),
351 668 aaronmk
  CONSTRAINT voucher_specimenreplicate_id FOREIGN KEY (specimenreplicate_id)
352
      REFERENCES specimenreplicate (specimenreplicate_id) MATCH SIMPLE
353 544 aaronmk
      ON UPDATE CASCADE ON DELETE CASCADE,
354
  CONSTRAINT voucher_taxonoccurrence_id FOREIGN KEY (taxonoccurrence_id)
355
      REFERENCES taxonoccurrence (taxonoccurrence_id) MATCH SIMPLE
356
      ON UPDATE CASCADE ON DELETE CASCADE,
357 668 aaronmk
  CONSTRAINT voucher_keys UNIQUE (taxonoccurrence_id , specimenreplicate_id )
358 544 aaronmk
);
359
360 536 aaronmk
CREATE TABLE taxondetermination -- VegBank's taxoninterpretation table.
361
(
362
  taxondetermination_id int(11) NOT NULL AUTO_INCREMENT,
363
  taxonoccurrence_id int(11) NOT NULL,
364
  plantconcept_id int(11) NOT NULL,
365 575 aaronmk
  party_id int(11),
366 536 aaronmk
  role_id int(11) NOT NULL,
367
  determinationtype character varying(30),
368
  reference_id int(11),
369 632 aaronmk
  isoriginal int(1) NOT NULL DEFAULT false,
370
  iscurrent int(1) NOT NULL DEFAULT false,
371 536 aaronmk
  taxonfit character varying(50),
372
  taxonconfidence character varying(50),
373
  grouptype character varying(20),
374
  notes text,
375
  notespublic int(1),
376
  notesmgt int(1),
377
  revisions int(1),
378 591 aaronmk
  determinationdate timestamp NULL,
379 536 aaronmk
  emb_taxondetermination int(11),
380
  accessioncode character varying(255),
381
  CONSTRAINT taxondetermination_pkey PRIMARY KEY (taxondetermination_id ),
382
  CONSTRAINT taxondetermination_party_id FOREIGN KEY (party_id)
383
      REFERENCES party (party_id) MATCH SIMPLE
384
      ON UPDATE CASCADE ON DELETE CASCADE,
385
  CONSTRAINT taxondetermination_plantconcept_id FOREIGN KEY (plantconcept_id)
386
      REFERENCES plantconcept (plantconcept_id) MATCH SIMPLE
387
      ON UPDATE CASCADE ON DELETE CASCADE,
388
  CONSTRAINT taxondetermination_reference_id FOREIGN KEY (reference_id)
389
      REFERENCES reference (reference_id) MATCH SIMPLE
390
      ON UPDATE CASCADE ON DELETE CASCADE,
391
  CONSTRAINT taxondetermination_role_id FOREIGN KEY (role_id)
392 596 aaronmk
      REFERENCES role (role_id) MATCH SIMPLE
393 536 aaronmk
      ON UPDATE CASCADE ON DELETE CASCADE,
394
  CONSTRAINT taxondetermination_taxonoccurrence_id FOREIGN KEY (taxonoccurrence_id)
395
      REFERENCES taxonoccurrence (taxonoccurrence_id) MATCH SIMPLE
396
      ON UPDATE CASCADE ON DELETE CASCADE
397
);
398
399 552 aaronmk
CREATE TABLE stratum
400
(
401
  stratum_id int(11) NOT NULL AUTO_INCREMENT,
402
  locationevent_id int(11) NOT NULL,
403
  stratumtype_id int(11) NOT NULL,
404
  stratumheight double precision,
405
  stratumbase double precision,
406
  stratumcover double precision,
407
  CONSTRAINT stratum_pkey PRIMARY KEY (stratum_id ),
408
  CONSTRAINT stratum_locationevent_id FOREIGN KEY (locationevent_id)
409
      REFERENCES locationevent (locationevent_id) MATCH SIMPLE
410 592 aaronmk
      ON UPDATE CASCADE ON DELETE CASCADE,
411
  CONSTRAINT stratum_stratumtype_id FOREIGN KEY (stratumtype_id)
412
      REFERENCES stratumtype (stratumtype_id) MATCH SIMPLE
413 559 aaronmk
      ON UPDATE CASCADE ON DELETE CASCADE
414 552 aaronmk
);
415
416 537 aaronmk
CREATE TABLE sizeclass -- A range of size measurements used to aggregate organisms.
417 536 aaronmk
(
418 537 aaronmk
  sizeclass_id int(11) NOT NULL AUTO_INCREMENT,
419
  mindiameter double precision,
420
  minheight double precision,
421
  maxdiameter double precision,
422
  maxheight double precision,
423 536 aaronmk
  accessioncode character varying(255),
424 537 aaronmk
  CONSTRAINT sizeclass_pkey PRIMARY KEY (sizeclass_id )
425 536 aaronmk
);
426
427 592 aaronmk
CREATE TABLE taxonbinmethod
428 536 aaronmk
(
429 584 aaronmk
  taxonbinmethod_id int(11) NOT NULL,
430 592 aaronmk
  label character varying(255),
431
  stratumtype_id int(11),
432 536 aaronmk
  sizeclass_id int(11),
433
  coverindex_id int(11),
434
  accessioncode character varying(255),
435 584 aaronmk
  CONSTRAINT taxonbinmethod_pkey PRIMARY KEY (taxonbinmethod_id ),
436
  CONSTRAINT taxonbinmethod_sizeclass_id FOREIGN KEY (sizeclass_id)
437 536 aaronmk
      REFERENCES sizeclass (sizeclass_id) MATCH SIMPLE
438 583 aaronmk
      ON UPDATE CASCADE ON DELETE CASCADE,
439 592 aaronmk
  CONSTRAINT taxonbinmethod_stratumtype_id FOREIGN KEY (stratumtype_id)
440
      REFERENCES stratumtype (stratumtype_id) MATCH SIMPLE
441
      ON UPDATE CASCADE ON DELETE CASCADE
442 536 aaronmk
);