-- MySQL dump 10.11
--
-- Host: vegbiendev.nceas.ucsb.edu    Database: VegCore
-- ------------------------------------------------------
-- Server version	5.5.31-0ubuntu0.12.04.1
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,POSTGRESQL' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table "aggregate_observation"
--

CREATE TABLE "aggregate_observation" (
  "id" varbinary(767) NOT NULL,
  "taxon_concept" varbinary(767) NOT NULL,
  "traits" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  KEY "fk_aggregate_observation_taxon_name1_idx" ("taxon_concept"),
  CONSTRAINT "fk_aggregate_observation_taxon_name1" FOREIGN KEY ("taxon_concept") REFERENCES "taxon_concept" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_aggregate_observation_taxon_occurrence1" FOREIGN KEY ("id") REFERENCES "taxon_observation" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "aggregate_observation"
--

/*!40000 ALTER TABLE "aggregate_observation" DISABLE KEYS */;
/*!40000 ALTER TABLE "aggregate_observation" ENABLE KEYS */;

--
-- Table structure for table "base_class"
--

CREATE TABLE "base_class" (
  "id" varbinary(767) NOT NULL,
  "referenced_class" varbinary(767) NOT NULL,
  PRIMARY KEY ("id"),
  KEY "fk_base_class_referenced_class1_idx" ("referenced_class"),
  CONSTRAINT "fk_base_class_referenced_class1" FOREIGN KEY ("referenced_class") REFERENCES "referenced_class" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_example_record1" FOREIGN KEY ("id") REFERENCES "record" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "base_class"
--

/*!40000 ALTER TABLE "base_class" DISABLE KEYS */;
/*!40000 ALTER TABLE "base_class" ENABLE KEYS */;

--
-- Table structure for table "collection"
--

CREATE TABLE "collection" (
  "id" varbinary(767) NOT NULL,
  "institution" varbinary(767) NOT NULL,
  "name" varbinary(767) NOT NULL,
  PRIMARY KEY ("id"),
  UNIQUE KEY "collection_unique" ("institution","name"),
  KEY "fk_collection_organization1_idx" ("institution"),
  KEY "fk_collection_source1_idx" ("id"),
  CONSTRAINT "fk_collection_organization1" FOREIGN KEY ("institution") REFERENCES "organization" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_collection_source1" FOREIGN KEY ("id") REFERENCES "record" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "collection"
--

/*!40000 ALTER TABLE "collection" DISABLE KEYS */;
/*!40000 ALTER TABLE "collection" ENABLE KEYS */;

--
-- Table structure for table "community"
--

CREATE TABLE "community" (
  "id" varbinary(767) NOT NULL,
  "name" varbinary(767) NOT NULL,
  "info" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  CONSTRAINT "fk_community_record1" FOREIGN KEY ("id") REFERENCES "record" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "community"
--

/*!40000 ALTER TABLE "community" DISABLE KEYS */;
/*!40000 ALTER TABLE "community" ENABLE KEYS */;

--
-- Table structure for table "coordinates"
--

CREATE TABLE "coordinates" (
  "id" varbinary(767) NOT NULL,
  "latitude_deg" varbinary(767) DEFAULT NULL,
  "longitude_deg" varbinary(767) DEFAULT NULL,
  PRIMARY KEY ("id")
);

--
-- Dumping data for table "coordinates"
--

/*!40000 ALTER TABLE "coordinates" DISABLE KEYS */;
/*!40000 ALTER TABLE "coordinates" ENABLE KEYS */;

--
-- Table structure for table "derived_class"
--

CREATE TABLE "derived_class" (
  "id" varbinary(767) NOT NULL,
  PRIMARY KEY ("id"),
  CONSTRAINT "fk_derived_class_base_class1" FOREIGN KEY ("id") REFERENCES "base_class" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "derived_class"
--

/*!40000 ALTER TABLE "derived_class" DISABLE KEYS */;
/*!40000 ALTER TABLE "derived_class" ENABLE KEYS */;

--
-- Table structure for table "event"
--

CREATE TABLE "event" (
  "id" varbinary(767) NOT NULL,
  "parent" varbinary(767) NOT NULL,
  "name" varbinary(767) DEFAULT NULL,
  "date_range" varbinary(767) DEFAULT NULL,
  "place" varbinary(767) DEFAULT NULL,
  "method" varbinary(767) DEFAULT NULL,
  PRIMARY KEY ("id"),
  KEY "fk_event_place1_idx" ("place"),
  KEY "fk_event1_idx" ("parent"),
  KEY "fk_event_method1_idx" ("method"),
  CONSTRAINT "fk_event1" FOREIGN KEY ("parent") REFERENCES "event" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_event_method1" FOREIGN KEY ("method") REFERENCES "method" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_event_place1" FOREIGN KEY ("place") REFERENCES "place" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_event_record1" FOREIGN KEY ("id") REFERENCES "record" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "event"
--

/*!40000 ALTER TABLE "event" DISABLE KEYS */;
/*!40000 ALTER TABLE "event" ENABLE KEYS */;

--
-- Table structure for table "event_participant"
--

CREATE TABLE "event_participant" (
  "event" varbinary(767) NOT NULL,
  "party" varbinary(767) NOT NULL,
  "sort_order" int(11) DEFAULT NULL,
  PRIMARY KEY ("event","party"),
  KEY "fk_event_has_party_party1_idx" ("party"),
  KEY "fk_event_has_party_event1_idx" ("event"),
  CONSTRAINT "fk_event_has_party_event1" FOREIGN KEY ("event") REFERENCES "event" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_event_has_party_party1" FOREIGN KEY ("party") REFERENCES "party" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "event_participant"
--

/*!40000 ALTER TABLE "event_participant" DISABLE KEYS */;
/*!40000 ALTER TABLE "event_participant" ENABLE KEYS */;

--
-- Table structure for table "geological_context"
--

CREATE TABLE "geological_context" (
  "id" varbinary(767) NOT NULL,
  "name" varbinary(767) NOT NULL,
  "info" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  CONSTRAINT "fk_geological_context_record1" FOREIGN KEY ("id") REFERENCES "record" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "geological_context"
--

/*!40000 ALTER TABLE "geological_context" DISABLE KEYS */;
/*!40000 ALTER TABLE "geological_context" ENABLE KEYS */;

--
-- Table structure for table "geovalidation"
--

CREATE TABLE "geovalidation" (
  "id" varbinary(767) NOT NULL,
  "geovalid" tinyint(1) NOT NULL,
  "lat_long_domain_valid" tinyint(1) NOT NULL,
  "lat_long_in_ranks" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  CONSTRAINT "fk_geovalidation_validatable_place1" FOREIGN KEY ("id") REFERENCES "validatable_place" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "geovalidation"
--

/*!40000 ALTER TABLE "geovalidation" DISABLE KEYS */;
/*!40000 ALTER TABLE "geovalidation" ENABLE KEYS */;

--
-- Table structure for table "individual"
--

CREATE TABLE "individual" (
  "id" varbinary(767) NOT NULL,
  "tag" varbinary(767) DEFAULT NULL,
  PRIMARY KEY ("id"),
  CONSTRAINT "fk_individual_record1" FOREIGN KEY ("id") REFERENCES "taxon_occurrence" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "individual"
--

/*!40000 ALTER TABLE "individual" DISABLE KEYS */;
/*!40000 ALTER TABLE "individual" ENABLE KEYS */;

--
-- Table structure for table "individual_observation"
--

CREATE TABLE "individual_observation" (
  "id" varbinary(767) NOT NULL,
  "individual" varbinary(767) DEFAULT NULL,
  "code" varbinary(767) DEFAULT NULL,
  "traits" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  KEY "fk_individual_observation_individual1_idx" ("individual"),
  CONSTRAINT "fk_individual_observation_individual1" FOREIGN KEY ("individual") REFERENCES "individual" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_individual_observation_taxon_occurrence1" FOREIGN KEY ("id") REFERENCES "taxon_observation" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "individual_observation"
--

/*!40000 ALTER TABLE "individual_observation" DISABLE KEYS */;
/*!40000 ALTER TABLE "individual_observation" ENABLE KEYS */;

--
-- Table structure for table "method"
--

CREATE TABLE "method" (
  "id" varbinary(767) NOT NULL,
  "parent" varbinary(767) NOT NULL,
  "info" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  KEY "fk_method_method1_idx" ("parent"),
  CONSTRAINT "fk_method_method1" FOREIGN KEY ("parent") REFERENCES "method" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_method_record1" FOREIGN KEY ("id") REFERENCES "record" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "method"
--

/*!40000 ALTER TABLE "method" DISABLE KEYS */;
/*!40000 ALTER TABLE "method" ENABLE KEYS */;

--
-- Table structure for table "organization"
--

CREATE TABLE "organization" (
  "id" varbinary(767) NOT NULL,
  "info" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  CONSTRAINT "fk_organization_party1" FOREIGN KEY ("id") REFERENCES "party" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "organization"
--

/*!40000 ALTER TABLE "organization" DISABLE KEYS */;
/*!40000 ALTER TABLE "organization" ENABLE KEYS */;

--
-- Table structure for table "parsed_taxon_assertion"
--

CREATE TABLE "parsed_taxon_assertion" (
  "id" varbinary(767) NOT NULL,
  "matched_taxon_concept" varbinary(767) DEFAULT NULL,
  "match_score" float DEFAULT NULL,
  "match_info" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  KEY "fk_parsed_taxon_assertion_taxon_name1_idx" ("matched_taxon_concept"),
  CONSTRAINT "fk_matched_taxon_qualified_taxon10" FOREIGN KEY ("id") REFERENCES "taxon_assertion" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_parsed_taxon_assertion_taxon_name1" FOREIGN KEY ("matched_taxon_concept") REFERENCES "taxon_concept" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "parsed_taxon_assertion"
--

/*!40000 ALTER TABLE "parsed_taxon_assertion" DISABLE KEYS */;
/*!40000 ALTER TABLE "parsed_taxon_assertion" ENABLE KEYS */;

--
-- Table structure for table "party"
--

CREATE TABLE "party" (
  "id" varbinary(767) NOT NULL,
  "info" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  CONSTRAINT "fk_collection_source10" FOREIGN KEY ("id") REFERENCES "record" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "party"
--

/*!40000 ALTER TABLE "party" DISABLE KEYS */;
/*!40000 ALTER TABLE "party" ENABLE KEYS */;

--
-- Table structure for table "place"
--

CREATE TABLE "place" (
  "id" varbinary(767) NOT NULL,
  "parent" varbinary(767) NOT NULL,
  "coordinates" varbinary(767) DEFAULT NULL,
  "path" varbinary(767) DEFAULT NULL,
  "locality" varbinary(767) DEFAULT NULL,
  PRIMARY KEY ("id"),
  KEY "fk_place_coordinates1_idx" ("coordinates"),
  KEY "fk_place1_idx" ("parent"),
  KEY "fk_place_place_path1_idx" ("path"),
  CONSTRAINT "fk_place1" FOREIGN KEY ("parent") REFERENCES "place" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_place_coordinates1" FOREIGN KEY ("coordinates") REFERENCES "coordinates" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_place_place_path1" FOREIGN KEY ("path") REFERENCES "place_path" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_place_record1" FOREIGN KEY ("id") REFERENCES "record" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "place"
--

/*!40000 ALTER TABLE "place" DISABLE KEYS */;
/*!40000 ALTER TABLE "place" ENABLE KEYS */;

--
-- Table structure for table "place_observation"
--

CREATE TABLE "place_observation" (
  "id" varbinary(767) NOT NULL,
  "place" varbinary(767) NOT NULL,
  "elevation_m" double DEFAULT NULL,
  "slope_incline_deg" double DEFAULT NULL,
  "slope_direction_deg_N" double DEFAULT NULL,
  "geological_context" varbinary(767) DEFAULT NULL,
  "community" varbinary(767) DEFAULT NULL,
  "observations" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  KEY "fk_place_observation_place1_idx" ("place"),
  KEY "fk_place_observation_geological_context1_idx" ("geological_context"),
  KEY "fk_place_observation_community1_idx" ("community"),
  KEY "fk_place_observation_event1_idx" ("id"),
  CONSTRAINT "fk_place_observation_community1" FOREIGN KEY ("community") REFERENCES "community" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_place_observation_event1" FOREIGN KEY ("id") REFERENCES "event" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_place_observation_geological_context1" FOREIGN KEY ("geological_context") REFERENCES "geological_context" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_place_observation_place1" FOREIGN KEY ("place") REFERENCES "place" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "place_observation"
--

/*!40000 ALTER TABLE "place_observation" DISABLE KEYS */;
/*!40000 ALTER TABLE "place_observation" ENABLE KEYS */;

--
-- Table structure for table "place_path"
--

CREATE TABLE "place_path" (
  "id" varbinary(767) NOT NULL,
  "continent" varbinary(767) DEFAULT NULL,
  "country" varbinary(767) DEFAULT NULL,
  "state_province" varbinary(767) DEFAULT NULL,
  "county" varbinary(767) DEFAULT NULL,
  "municipality" varbinary(767) DEFAULT NULL,
  "ranks" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id")
);

--
-- Dumping data for table "place_path"
--

/*!40000 ALTER TABLE "place_path" DISABLE KEYS */;
/*!40000 ALTER TABLE "place_path" ENABLE KEYS */;

--
-- Table structure for table "plot"
--

CREATE TABLE "plot" (
  "id" varbinary(767) NOT NULL,
  "name" varbinary(767) DEFAULT NULL,
  "area_m2" double DEFAULT NULL,
  "bounding_box" varbinary(767) DEFAULT NULL,
  PRIMARY KEY ("id"),
  CONSTRAINT "fk_subplot_place1" FOREIGN KEY ("id") REFERENCES "place" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "plot"
--

/*!40000 ALTER TABLE "plot" DISABLE KEYS */;
/*!40000 ALTER TABLE "plot" ENABLE KEYS */;

--
-- Table structure for table "project"
--

CREATE TABLE "project" (
  "id" varbinary(767) NOT NULL,
  "name" varbinary(767) NOT NULL,
  "info" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  CONSTRAINT "fk_project_event1" FOREIGN KEY ("id") REFERENCES "event" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "project"
--

/*!40000 ALTER TABLE "project" DISABLE KEYS */;
/*!40000 ALTER TABLE "project" ENABLE KEYS */;

--
-- Table structure for table "record"
--

CREATE TABLE "record" (
  "id" varbinary(767) NOT NULL,
  "source" varbinary(767) NOT NULL,
  "source_id_scope" varbinary(767) DEFAULT NULL,
  "source_record_id" varbinary(767) DEFAULT NULL,
  "info" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  UNIQUE KEY "record_unique" ("source","source_id_scope","source_record_id"),
  KEY "fk_record_source1_idx" ("source"),
  CONSTRAINT "fk_record_source1" FOREIGN KEY ("source") REFERENCES "source" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "record"
--

/*!40000 ALTER TABLE "record" DISABLE KEYS */;
/*!40000 ALTER TABLE "record" ENABLE KEYS */;

--
-- Table structure for table "referenced_class"
--

CREATE TABLE "referenced_class" (
  "id" varbinary(767) NOT NULL,
  PRIMARY KEY ("id"),
  CONSTRAINT "fk_example_record10" FOREIGN KEY ("id") REFERENCES "record" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "referenced_class"
--

/*!40000 ALTER TABLE "referenced_class" DISABLE KEYS */;
/*!40000 ALTER TABLE "referenced_class" ENABLE KEYS */;

--
-- Table structure for table "relationship"
--

CREATE TABLE "relationship" (
  "id" varbinary(767) NOT NULL,
  "record" varbinary(767) NOT NULL,
  "related_record" varbinary(767) NOT NULL,
  "info" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  KEY "fk_relationship_record1_idx" ("record"),
  KEY "fk_relationship_related_record_idx" ("related_record"),
  CONSTRAINT "fk_relationship_record1" FOREIGN KEY ("id") REFERENCES "record" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_relationship_record2" FOREIGN KEY ("record") REFERENCES "record" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_relationship_related_record" FOREIGN KEY ("related_record") REFERENCES "record" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "relationship"
--

/*!40000 ALTER TABLE "relationship" DISABLE KEYS */;
/*!40000 ALTER TABLE "relationship" ENABLE KEYS */;

--
-- Table structure for table "soil_observation"
--

CREATE TABLE "soil_observation" (
  "id" varbinary(767) NOT NULL,
  "observations" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  CONSTRAINT "fk_soil_observation_place_observation1" FOREIGN KEY ("id") REFERENCES "place_observation" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "soil_observation"
--

/*!40000 ALTER TABLE "soil_observation" DISABLE KEYS */;
/*!40000 ALTER TABLE "soil_observation" ENABLE KEYS */;

--
-- Table structure for table "source"
--

CREATE TABLE "source" (
  "id" varbinary(767) NOT NULL,
  "parent" varbinary(767) NOT NULL,
  "name" varbinary(767) NOT NULL,
  "first_publisher" varbinary(767) DEFAULT NULL,
  "owner" varbinary(767) DEFAULT NULL,
  "info" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  UNIQUE KEY "source_unique" ("parent","name"),
  KEY "fk_source1_idx" ("parent"),
  KEY "fk_source_party2_idx" ("first_publisher"),
  KEY "fk_source_party1_idx" ("owner"),
  CONSTRAINT "fk_source1" FOREIGN KEY ("parent") REFERENCES "source" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_source_party1" FOREIGN KEY ("owner") REFERENCES "party" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_source_party2" FOREIGN KEY ("first_publisher") REFERENCES "party" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "source"
--

/*!40000 ALTER TABLE "source" DISABLE KEYS */;
/*!40000 ALTER TABLE "source" ENABLE KEYS */;

--
-- Table structure for table "specimen"
--

CREATE TABLE "specimen" (
  "id" varbinary(767) NOT NULL,
  "individual" varbinary(767) DEFAULT NULL,
  "code_in_individual" varbinary(767) DEFAULT NULL,
  "collection_event" varbinary(767) DEFAULT NULL,
  "orig_collection" varbinary(767) DEFAULT NULL,
  "barcode" varbinary(767) DEFAULT NULL,
  "accession_number" varbinary(767) DEFAULT NULL,
  "current_collection" varbinary(767) DEFAULT NULL,
  "owner_collection" varbinary(767) DEFAULT NULL,
  PRIMARY KEY ("id"),
  UNIQUE KEY "specimen_unique_in_individual" ("individual","code_in_individual"),
  UNIQUE KEY "specimen_unique_by_collection_event" ("collection_event"),
  UNIQUE KEY "specimen_unique_in_collection_by_barcode" ("orig_collection","barcode"),
  UNIQUE KEY "specimen_unique_in_collection_by_accession_number" ("orig_collection","accession_number"),
  KEY "fk_specimen_collection1_idx" ("orig_collection"),
  KEY "fk_specimen_taxon_observation1_idx" ("collection_event"),
  KEY "fk_specimen_individual1_idx" ("individual"),
  KEY "fk_specimen_collection2_idx" ("current_collection"),
  KEY "fk_specimen_organization3_idx" ("owner_collection"),
  CONSTRAINT "fk_specimen_collection1" FOREIGN KEY ("orig_collection") REFERENCES "collection" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_specimen_collection2" FOREIGN KEY ("current_collection") REFERENCES "collection" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_specimen_individual1" FOREIGN KEY ("individual") REFERENCES "individual" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_specimen_organization3" FOREIGN KEY ("owner_collection") REFERENCES "collection" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_specimen_taxon_observation1" FOREIGN KEY ("collection_event") REFERENCES "taxon_observation" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_specimen_taxon_occurrence1" FOREIGN KEY ("id") REFERENCES "taxon_occurrence" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "specimen"
--

/*!40000 ALTER TABLE "specimen" DISABLE KEYS */;
/*!40000 ALTER TABLE "specimen" ENABLE KEYS */;

--
-- Table structure for table "specimen_observation"
--

CREATE TABLE "specimen_observation" (
  "id" varbinary(767) NOT NULL,
  "specimen" varbinary(767) NOT NULL,
  "traits" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  KEY "fk_specimen_observation_specimen1_idx" ("specimen"),
  CONSTRAINT "fk_specimen_observation_specimen1" FOREIGN KEY ("specimen") REFERENCES "specimen" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_specimen_taxon_occurrence10" FOREIGN KEY ("id") REFERENCES "taxon_observation" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "specimen_observation"
--

/*!40000 ALTER TABLE "specimen_observation" DISABLE KEYS */;
/*!40000 ALTER TABLE "specimen_observation" ENABLE KEYS */;

--
-- Table structure for table "stem"
--

CREATE TABLE "stem" (
  "id" varbinary(767) NOT NULL,
  "individual" varbinary(767) NOT NULL,
  PRIMARY KEY ("id"),
  KEY "fk_stem_individual1_idx" ("individual"),
  CONSTRAINT "fk_stem_individual1" FOREIGN KEY ("individual") REFERENCES "individual" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_stem_individual2" FOREIGN KEY ("id") REFERENCES "individual" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "stem"
--

/*!40000 ALTER TABLE "stem" DISABLE KEYS */;
/*!40000 ALTER TABLE "stem" ENABLE KEYS */;

--
-- Table structure for table "stem_observation"
--

CREATE TABLE "stem_observation" (
  "id" varbinary(767) NOT NULL,
  "individual_observation" varbinary(767) NOT NULL,
  "stem" varbinary(767) DEFAULT NULL,
  "traits" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  UNIQUE KEY "stem_observation_unique" ("individual_observation","stem"),
  KEY "fk_stem_observation_individual_observation1_idx" ("individual_observation"),
  KEY "fk_stem_observation_stem1_idx" ("stem"),
  CONSTRAINT "fk_stem_observation_individual_observation1" FOREIGN KEY ("individual_observation") REFERENCES "individual_observation" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_stem_observation_individual_observation2" FOREIGN KEY ("id") REFERENCES "individual_observation" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_stem_observation_stem1" FOREIGN KEY ("stem") REFERENCES "stem" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "stem_observation"
--

/*!40000 ALTER TABLE "stem_observation" DISABLE KEYS */;
/*!40000 ALTER TABLE "stem_observation" ENABLE KEYS */;

--
-- Table structure for table "stratum"
--

CREATE TABLE "stratum" (
  "id" varbinary(767) NOT NULL,
  "name" varbinary(767) NOT NULL,
  "info" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  CONSTRAINT "fk_place_path_record10" FOREIGN KEY ("id") REFERENCES "method" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "stratum"
--

/*!40000 ALTER TABLE "stratum" DISABLE KEYS */;
/*!40000 ALTER TABLE "stratum" ENABLE KEYS */;

--
-- Table structure for table "subplot"
--

CREATE TABLE "subplot" (
  "id" varbinary(767) NOT NULL,
  "x_m" double DEFAULT NULL,
  "y_m" double DEFAULT NULL,
  PRIMARY KEY ("id"),
  CONSTRAINT "fk_subplot_plot1" FOREIGN KEY ("id") REFERENCES "plot" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "subplot"
--

/*!40000 ALTER TABLE "subplot" DISABLE KEYS */;
/*!40000 ALTER TABLE "subplot" ENABLE KEYS */;

--
-- Table structure for table "taxon_assertion"
--

CREATE TABLE "taxon_assertion" (
  "id" varbinary(767) NOT NULL,
  "string" varbinary(767) NOT NULL,
  "taxon" varbinary(767) DEFAULT NULL,
  "cf_aff" varbinary(767) DEFAULT NULL,
  "annotations" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  KEY "fk_taxon_assertion_taxon_string1_idx" ("string"),
  KEY "fk_taxon_assertion_taxon_name1_idx" ("taxon"),
  CONSTRAINT "fk_qualified_taxon_record1" FOREIGN KEY ("id") REFERENCES "record" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_taxon_assertion_taxon_name1" FOREIGN KEY ("taxon") REFERENCES "taxon_name" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_taxon_assertion_taxon_string1" FOREIGN KEY ("string") REFERENCES "taxon_string" ("string") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "taxon_assertion"
--

/*!40000 ALTER TABLE "taxon_assertion" DISABLE KEYS */;
/*!40000 ALTER TABLE "taxon_assertion" ENABLE KEYS */;

--
-- Table structure for table "taxon_concept"
--

CREATE TABLE "taxon_concept" (
  "id" varbinary(767) NOT NULL,
  "according_to" varbinary(767) NOT NULL,
  "parent" varbinary(767) NOT NULL,
  "accepted_taxon_concept" varbinary(767) DEFAULT NULL,
  PRIMARY KEY ("id"),
  UNIQUE KEY "taxon_concept_unique_name" ("according_to"),
  KEY "fk_taxon_taxon1_idx" ("parent"),
  KEY "fk_taxon_concept_source1_idx" ("according_to"),
  KEY "fk_taxon_concept_taxon_concept1_idx" ("accepted_taxon_concept"),
  CONSTRAINT "fk_taxon_concept_source1" FOREIGN KEY ("according_to") REFERENCES "source" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_taxon_concept_taxon_concept1" FOREIGN KEY ("accepted_taxon_concept") REFERENCES "taxon_concept" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_taxon_concept_taxon_name1" FOREIGN KEY ("id") REFERENCES "taxon_name" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_taxon_taxon1" FOREIGN KEY ("parent") REFERENCES "taxon_concept" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "taxon_concept"
--

/*!40000 ALTER TABLE "taxon_concept" DISABLE KEYS */;
/*!40000 ALTER TABLE "taxon_concept" ENABLE KEYS */;

--
-- Table structure for table "taxon_determination"
--

CREATE TABLE "taxon_determination" (
  "id" varbinary(767) NOT NULL,
  "taxon_assertion" varbinary(767) NOT NULL,
  "identified_by" varbinary(767) DEFAULT NULL,
  "fit_info" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  UNIQUE KEY "taxon_determination_unique" ("taxon_assertion","identified_by"),
  KEY "fk_taxon_occurrence_has_qualified_taxon1_idx" ("taxon_assertion"),
  KEY "fk_taxon_determination_party1_idx" ("identified_by"),
  CONSTRAINT "fk_taxon_determination_party1" FOREIGN KEY ("identified_by") REFERENCES "party" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_taxon_determination_record1" FOREIGN KEY ("id") REFERENCES "taxon_observation" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_taxon_occurrence_has_qualified_taxon1" FOREIGN KEY ("taxon_assertion") REFERENCES "taxon_assertion" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "taxon_determination"
--

/*!40000 ALTER TABLE "taxon_determination" DISABLE KEYS */;
/*!40000 ALTER TABLE "taxon_determination" ENABLE KEYS */;

--
-- Table structure for table "taxon_name"
--

CREATE TABLE "taxon_name" (
  "id" varbinary(767) NOT NULL,
  "unique_name" varbinary(767) NOT NULL,
  "formal_name" varbinary(767) DEFAULT NULL,
  "taxon_name" varbinary(767) DEFAULT NULL,
  "author" varbinary(767) DEFAULT NULL,
  "common_name" varbinary(767) DEFAULT NULL,
  "rank" varbinary(767) DEFAULT NULL,
  PRIMARY KEY ("id"),
  KEY "fk_taxon_concept_taxon_string10_idx" ("unique_name"),
  CONSTRAINT "fk_taxon_concept_taxon_string10" FOREIGN KEY ("unique_name") REFERENCES "taxon_string" ("string") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_taxon_record10" FOREIGN KEY ("id") REFERENCES "record" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "taxon_name"
--

/*!40000 ALTER TABLE "taxon_name" DISABLE KEYS */;
/*!40000 ALTER TABLE "taxon_name" ENABLE KEYS */;

--
-- Table structure for table "taxon_observation"
--

CREATE TABLE "taxon_observation" (
  "id" varbinary(767) NOT NULL,
  "taxon_occurrence" varbinary(767) NOT NULL,
  "collector" varbinary(767) DEFAULT NULL,
  "collector_number" varbinary(767) DEFAULT NULL,
  "voucher" varbinary(767) DEFAULT NULL,
  "growth_form" varbinary(767) DEFAULT NULL,
  "cultivated" tinyint(1) DEFAULT NULL,
  "traits" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  KEY "fk_taxon_observation_taxon_occurrence2_idx" ("taxon_occurrence"),
  KEY "fk_taxon_observation_specimen1_idx" ("voucher"),
  KEY "fk_taxon_observation_party1_idx" ("collector"),
  CONSTRAINT "fk_taxon_observation_event1" FOREIGN KEY ("id") REFERENCES "event" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_taxon_observation_party1" FOREIGN KEY ("collector") REFERENCES "party" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_taxon_observation_specimen1" FOREIGN KEY ("voucher") REFERENCES "specimen" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_taxon_observation_taxon_occurrence2" FOREIGN KEY ("taxon_occurrence") REFERENCES "taxon_occurrence" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "taxon_observation"
--

/*!40000 ALTER TABLE "taxon_observation" DISABLE KEYS */;
/*!40000 ALTER TABLE "taxon_observation" ENABLE KEYS */;

--
-- Table structure for table "taxon_occurrence"
--

CREATE TABLE "taxon_occurrence" (
  "id" varbinary(767) NOT NULL,
  "current_determination" varbinary(767) DEFAULT NULL,
  "original_determination" varbinary(767) DEFAULT NULL,
  PRIMARY KEY ("id"),
  KEY "fk_taxon_occurrence_taxon_determination1_idx" ("original_determination"),
  KEY "fk_taxon_occurrence_taxon_determination2_idx" ("current_determination"),
  CONSTRAINT "fk_taxon_occurrence_event1" FOREIGN KEY ("id") REFERENCES "record" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_taxon_occurrence_taxon_determination1" FOREIGN KEY ("original_determination") REFERENCES "taxon_determination" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_taxon_occurrence_taxon_determination2" FOREIGN KEY ("current_determination") REFERENCES "taxon_determination" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "taxon_occurrence"
--

/*!40000 ALTER TABLE "taxon_occurrence" DISABLE KEYS */;
/*!40000 ALTER TABLE "taxon_occurrence" ENABLE KEYS */;

--
-- Table structure for table "taxon_path"
--

CREATE TABLE "taxon_path" (
  "id" varbinary(767) NOT NULL,
  "family" varbinary(767) DEFAULT NULL,
  "genus" varbinary(767) DEFAULT NULL,
  "specific_epithet" varbinary(767) DEFAULT NULL,
  "ranks" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  CONSTRAINT "fk_taxon_path_taxon_name1" FOREIGN KEY ("id") REFERENCES "taxon_name" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "taxon_path"
--

/*!40000 ALTER TABLE "taxon_path" DISABLE KEYS */;
/*!40000 ALTER TABLE "taxon_path" ENABLE KEYS */;

--
-- Table structure for table "taxon_presence"
--

CREATE TABLE "taxon_presence" (
  "id" varbinary(767) NOT NULL,
  "taxon_concept" varbinary(767) NOT NULL,
  "traits" set('hstore') COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY ("id"),
  KEY "fk_taxon_presence_taxon_name1_idx" ("taxon_concept"),
  CONSTRAINT "fk_taxon_observation_taxon_occurrence1" FOREIGN KEY ("id") REFERENCES "taxon_observation" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_taxon_presence_taxon_name1" FOREIGN KEY ("taxon_concept") REFERENCES "taxon_concept" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "taxon_presence"
--

/*!40000 ALTER TABLE "taxon_presence" DISABLE KEYS */;
/*!40000 ALTER TABLE "taxon_presence" ENABLE KEYS */;

--
-- Table structure for table "taxon_string"
--

CREATE TABLE "taxon_string" (
  "string" varbinary(767) NOT NULL,
  "parsed_taxon_assertion" varbinary(767) DEFAULT NULL,
  PRIMARY KEY ("string"),
  KEY "fk_taxon_string_parsed_taxon_assertion1_idx" ("parsed_taxon_assertion"),
  CONSTRAINT "fk_taxon_string_parsed_taxon_assertion1" FOREIGN KEY ("parsed_taxon_assertion") REFERENCES "parsed_taxon_assertion" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "taxon_string"
--

/*!40000 ALTER TABLE "taxon_string" DISABLE KEYS */;
/*!40000 ALTER TABLE "taxon_string" ENABLE KEYS */;

--
-- Table structure for table "validatable_place"
--

CREATE TABLE "validatable_place" (
  "id" varbinary(767) NOT NULL,
  "coordinates" varbinary(767) NOT NULL,
  "path" varbinary(767) NOT NULL,
  PRIMARY KEY ("id"),
  UNIQUE KEY "validatable_place_unique" ("path","coordinates"),
  KEY "fk_geovalidation_place_path1_idx" ("path"),
  KEY "fk_geovalidation_coordinates1_idx" ("coordinates"),
  CONSTRAINT "fk_geovalidation_coordinates1" FOREIGN KEY ("coordinates") REFERENCES "coordinates" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT "fk_geovalidation_place_path1" FOREIGN KEY ("path") REFERENCES "place_path" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);

--
-- Dumping data for table "validatable_place"
--

/*!40000 ALTER TABLE "validatable_place" DISABLE KEYS */;
/*!40000 ALTER TABLE "validatable_place" ENABLE KEYS */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed
