Navigating the Database #
The tables in the AKVEG Database can be broadly classified into data tables, referenced tables, and metadata tables.
Data tables contain information on vegetation, environmental, and soils characteristics, as well as information about the plots at which these data were collected (e.g., plot coordinates, dimensions).
Referenced tables are referenced by the data tables to constrain the
set of allowable values in a field. For example, the cover type id
field in the vegetation_cover table references the cover_type table. The cover_type table specifies the types of methods that can be used to
collect cover data.
Finally, metadata tables contain information about the database itself:
- database_schema: Information on the structure of the database, including field descriptions, relationships between tables, and specification of null values.
- database_dictionary: List and definitions of constrained values.
As with all tables, the metadata tables can be accessed at any time by running the following query: sql: SELECT * FROM table_name;
The AKVEG Database follows the Minimum Standards for Field Observation of Vegetation and Related Properties developed by the Alaska Vegetation Working Group (VWG). The Minimum Standards for Field Observation provide additional information on data collection standards and how the fields relate to data tiers.
Overview #
There are 13 data tables in the AKVEG Database:
Project & Site
- Project
- Site
- Site Visit
- Photos (not part of database structure)
Vegetation
- Vegetation Cover
- Abiotic Top Cover
- Whole Tussock Cover
- Ground Cover
- Structural Group Cover
- Tree Structure
- Shrub Structure
Environment
- Environment
- Soil Metrics
- Soil Horizons
Tables 1, 2, and 3 contain general information on the sites at which data were collected and the project the sites belong to. The remaining tables contain information on vegetation, environmental, and soils characteristics.
The Photos table is still under development and is not currently included in the AKVEG database.
Project & Site Schema #
Below is a simplified diagram that illustrates how the project, site, and site_visit tables are related to each other.
The site_visit_code
, first specified in the site_visit table, is
the field that all subsequent tables (Tables 5-14) refer to.
In contrast, the site and project tables are not referred
to beyond these initial three tables. You will likely want to consult
the Site and Project to obtain coordinates and plot dimensions (in the
Site table) and for general information on the projects that the data
belong to (in the Project table).
erDiagram direction RL project { varchar project_code } site { varchar establishing_project_code varchar site_code } site_visit { varchar project_code varchar site_code varchar site_visit_code } site_visit }o--|| project : " " site_visit }o--|| site : " " site }o--|| project : ""
Project Table #
The project table provides information about the overall projects that
the data were collected for. This table includes information on the
organization(s) that collected the data (originator_id
) and
funded the project (funder_id
), as well as the years during which
the data collection took place (year_start
, year_end
), a short
description of the purpose of the project (project_description
),
and whether the data is publicly available (private
). Only public
data is included in the AKVEG Database that is available to the public.
This table references the following metadata tables: organization, personnel, and completion.
erDiagram direction TB project { varchar project_code PK varchar project_name UK smallint originator_id FK smallint funder_id FK smallint manager_id FK smallint completion_id FK smallint year_start smallint year_end varchar project_description boolean private } project }o--|| organization : originator_id project }o--|| organization : funder_id project }o--|| personnel : manager_id project }o--|| completion : completion_id
Site Table #
The site table provides information about the site at which data were
collected. In addition to the site_code
, which is used to identify
unique sites, the table contains information on:
- Perspective (ground or aerial)
- Cover method (e.g., visual estimate, line-point intercept)
- Plot coordinates
- Plot dimensions
All fields except for the site_code
field refer to constrained values
that are specified in the project table or in the following metadata
tables: perspective, cover_method, plot_dimensions, h_datum,
positional_accuracy, location_type.
There is only one possible value for h_datum_epsg
: 4269 (NAD83). All coordinates are converted to this datum prior to ingestion in the database.
Open Site table in fullscreen for larger viewing.
erDiagram direction TB site { varchar site_code PK varchar establishing_project_code FK smallint perspective_id FK smallint cover_method_id FK smallint plot_dimensions_id FK integer h_datum_epsg FK decimal latitude_dd decimal longitude_dd decimal h_error_m smallint positional_accuracy_id FK smallint location_type_id FK } site }o--|| project : establishing_project_code site }o--|| perspective : perspective_id site }o--|| cover_method : cover_method_id site }o--|| plot_dimensions : plot_dimensions_id site }o--|| h_datum : h_datum_epsg site }o--|| positional_accuracy : positional_accuracy_id site }o--|| location_type : location_type_id
Site Visit Table #
The site visit table contains the
site_visit_code
, which identifies unique site visits. This
site visit code is used as a foreign key in all subsequent tables
(Tables 5-14). The site visit table also includes information on the
taxonomic scope of the survey, the date of the site visit, the personnel
that were involved, and the dominant vegetation class at the time of the
visit.
To simplify the diagram, we do not show all of the relationships between the site visit table and the Scope and Personnel tables. Fields with the ‘scope’ prefix refer to the scope table. Fields that refer to people (i.e., that include the word ‘observer’ or ‘recorder’) refer to the personnel table.
erDiagram direction TB site_visit { varchar site_visit_code PK varchar project_code FK varchar site_code FK smallint data_tier_id FK smallint scope_vascular_id FK smallint scope_bryophyte_id FK smallint scope_lichen_id FK varchar observe_date smallint veg_observer_id FK smallint veg_recorder_id FK smallint env_observer_id FK smallint soils_observer_id FK varchar structural_class_code FK boolean homogeneous } site_visit }o--|| project : project_code site_visit }o--|| site : site_code site_visit }o--|| data_tier : data_tier_id site_visit }o--|| scope : scope_vascular_id site_visit }o--|| personnel : veg_observer_id site_visit }o--|| structural_class : structural_class_code
Cover Tables #
Vegetation Cover #
The vegetation cover table contains data on the vegetation (vascular plants, bryophytes, and lichens) encountered
during site visits. Both the original taxonomic name that was recorded in the
source data (name_original
) and the accepted taxonomic code (code_adjudicated
) are provided.
There are two instances where a site visit will contain multiple entries for the same accepted taxonomic code:
- If the taxon was encountered in both ‘dead’ and ’live’ forms. In these
cases, the taxon will have two entries that will differ on the basis
of
dead_status
. - If there were different original names provided that now refer to the
same accepted name. In these cases, the taxon will
have two entries that will differ on the basis of
name_original
.
Join the vegetation_cover table with cover_type on cover_type_id
to retrieve the descriptive names of each cover‑type method, and with taxon_all on code_adjudicated
to retrieve the taxonomic name. We also recommend joining taxon_all with taxon_accepted on taxon_accepted_code
to retrieve the current accepted names in the event that the taxonomy has changed since the dataset was processed. Refer to the Vegetation Cover SQL query for a ready-made implementation.
erDiagram direction TB vegetation_cover { serial vegetation_cover_id PK varchar site_visit_code FK smallint cover_type_id FK varchar name_original varchar code_adjudicated FK decimal cover_percent boolean dead_status } vegetation_cover }o--|| site_visit : site_visit_code vegetation_cover }o--|| cover_type : cover_type_id vegetation_cover }o--|| taxon_all : code_adjudicated
Abiotic Top Cover #
The abiotic top cover table records the percent top cover for each abiotic element class within a plot. Abiotic top cover is defined as the proportional area covered by the abiotic element and not overtopped by any vegetation (i.e., visible from an aerial perspective). The sum of all abiotic top cover measurements within a plot cannot exceed 100%.
The abiotic element code references the ground_element table because the abiotic elements are a subset of ground elements. Join the abiotic_top_cover table with ground_element to obtain the descriptive names of the abiotic/ground element codes. Refer to the Abiotic Top Cover SQL query for a ready-made implementation.
erDiagram direction LR abiotic_top_cover { serial abiotic_cover_id PK varchar site_visit_code FK varchar abiotic_element_code FK decimal abiotic_top_cover_percent } abiotic_top_cover }o--|| site_visit : site_visit_code abiotic_top_cover }o--|| ground_element : abiotic_element_code
Whole Tussock Cover #
The whole tussock cover table records the proportional ground area covered by tussock structures within each plot. Whole tussock cover includes both live and dead plant material and the tussock base. It can only be reported as either absolute canopy cover or top canopy cover.
Join the whole_tussock_cover table with cover_type on cover_type_id
to retrieve the descriptive names of each cover‑type method. Refer to the Whole Tussock Cover SQL query for a ready-made implementation.
erDiagram direction LR whole_tussock_cover { serial tussock_id PK varchar site_visit_code FK smallint cover_type_id FK decimal cover_percent } whole_tussock_cover }o--|| site_visit : site_visit_code whole_tussock_cover }o--|| cover_type : cover_type_id
Ground Cover #
The ground cover table records the percent cover for each ground element within a plot. Ground cover percent is defined as the proportional area of ground covered by the ground element at the soil surface. The sum of all ground cover measurements must equal 100%.
Join the ground_cover table with ground_element on ground_element_code
to retrieve the descriptive names of each ground element. Refer to the Ground Cover SQL query for a ready-made implementation.
erDiagram direction LR ground_cover { serial ground_cover_id PK varchar site_visit_code FK varchar ground_element_code FK decimal ground_cover_percent } ground_cover }o--|| site_visit : site_visit_code ground_cover }o--|| ground_element : ground_element_code
Structure Tables #
Structural Group Cover #
The structural group cover table records the percent cover of each structural group within a plot. Cover type must be either absolute foliar cover or absolute canopy cover. Top cover types are invalid because measurements represent vegetation structure, which includes multiple canopy strata - not just the top stratum.
Join the structural_group_cover table with cover_type on cover_type_id
to retrieve the descriptive names of each cover‑type method. Join structural_group_cover with structural_group on structural_group_id
to retrieve the descriptive names of each structural group element. Refer to the Structural Group SQL query for a ready-made implementation.
erDiagram direction TB structural_group_cover { serial structural_cover_id PK varchar site_visit_code FK smallint cover_type_id FK smallint structural_group_id FK decimal cover_percent } structural_group_cover }o--|| site_visit : site_visit_code structural_group_cover }o--|| cover_type : cover_type_id structural_group_cover }o--|| structural_group : structural_group_id
Tree Structure #
The tree structure table records characteristics for tree species that occur within a plot and within a crown class stratum. Top cover types are invalid for this table as the measurements represent woody vegetation structure across all strata, rather than just the top stratum. Field definitions are provided in Section X. Tree Structure in the Minimum Standards for Field Observation (second mention).
Note: As of 2025-08-20, there are no records in the Tree Structure table.
erDiagram direction TB tree_structure { serial tree_structure_id PK varchar site_visit_code FK varchar name_original varchar code_adjudicated FK smallint crown_class_id FK smallint height_type_id FK decimal height_cm smallint cover_type_id FK decimal cover_percent decimal mean_dbh_cm smallint number_stems smallint mean_tree_age_y decimal tree_subplot_area_m2 } tree_structure }o--|| site_visit : site_visit_code tree_structure }o--|| taxon_all : code_adjudicated tree_structure }o--|| crown_class : crown_class_id tree_structure }o--|| height_type : height_type_id tree_structure }o..|| cover_type : cover_type_id
Shrub Structure #
The shrub structure table records characteristics for shrub species that occur within a plot and within a shrub class stratum. Top cover types are invalid for this table as the measurements represent woody vegetation structure across all strata, rather than just the top stratum. Field definitions are provided in Section XI. Shrub Structure in the Minimum Standards for Field Observation (second mention).
Refer to the Shrub Structure SQL query for a ready‑to‑use statement that joins the related foreign‑key tables to the shrub structure table.
erDiagram direction TB shrub_structure { serial shrub_structure_id PK varchar site_visit_code FK varchar name_original varchar code_adjudicated FK smallint shrub_class_id FK smallint height_type_id FK decimal height_cm smallint cover_type_id FK decimal cover_percent decimal mean_diameter_cm smallint number_stems decimal shrub_subplot_area_m2 } shrub_structure }o--|| site_visit : site_visit_code shrub_structure }o--|| taxon_all : code_adjudicated shrub_structure }o--|| shrub_class : shrub_class_id shrub_structure }o--|| height_type : height_type_id shrub_structure }o..|| cover_type : cover_type_id
Environment Table #
The environment table records various environmental characteristics of a plot at the time of the site visit. Data on a plot’s physical geography, soil-hydrologic regime, and primary disturbance process are included.
Here, we show a simplified diagram of the environment table that omits most of the relationships between this table and the referenced tables. The omitted relationships are straightforward: Fields that end in _id are foreign keys. The referenced table has the same name as the field, minus the _id suffix. For example, the microtopography_id
refers to the microtopography table, while the disturbance_severity_id
refers to the disturbance_severity table. The join field in the referenced table is the same as the foreign key. Refer the Environment SQL query for a ready‑to‑use statement that joins the related foreign‑key tables to the environment table. You can also view all relationships by opening the Environment table in fullscreen.
erDiagram direction LR environment { serial environment_id PK varchar site_visit_code FK smallint physiography_id FK smallint geomorphology_id FK smallint macrotopography_id FK smallint microtopography_id FK decimal microrelief_cm smallint drainage_id FK smallint moisture_id FK decimal depth_water_cm decimal depth_moss_duff_cm decimal depth_restrictive_layer_cm smallint restrictive_type_id FK smallint disturbance_id FK smallint disturbance_severity_id FK smallint disturbance_time_y boolean surface_water smallint soil_class_id FK boolean cryoturbation varchar dominant_texture_40_cm_code FK decimal depth_15_percent_coarse_fragments_cm } environment }o--|| site_visit : site_visit_code environment }o--|| physiography : physiography_id environment }o--|| restrictive_type : restrictive_type_id environment }o..|| soil_texture : dominant_texture_40_cm_code
Soils Tables #
Soil Metrics #
The soil metrics table records measurements on pH, conductivity, and temperature within a plot. Where the water table is at or above the soil surface, the water can be measured instead. In these cases, the value of the water_measurement
field is True.
Refer to the Soil Metrics SQL query for a ready‑to‑use statement that joins the related foreign‑key tables to the soil metrics table.
erDiagram direction TB soil_metrics { serial soil_metric_id PK varchar site_visit_code FK boolean water_measurement decimal measure_depth_cm decimal ph decimal conductivity_mus decimal temperature_deg_c } soil_metrics }o--|| site_visit : site_visit_code
Soil Horizons #
The soil horizons table records a soil horizon’s position and its physical characteristics within a plot. Both quantitative and qualitative data are recorded, including horizon depth, thickness, color, and texture. Measurements on pH, conductivity, and temperature are included in the soil metrics table, rather than the soil horizons table.
Here, we show a simplified diagram of the environment table that omits most of the relationships between this table and the referenced tables. The horizon_primary_code
and horizon_secondary_code
both refer to the soil_horizon_type table. Fields starting with horizon_suffix
refer to the soil_horizon_suffix table. The texture_code
and structure_code
foreign keys refer to the soil_texture and soil_structure tables, respectively.
Refer to the Soil Horizons SQL query for a ready‑to‑use statement that joins the related foreign‑key tables to the soil horizons table. You can also view all relationships by opening the Soil Horizons table in fullscreen.
erDiagram direction LR soil_horizons { serial soil_horizon_id PK varchar site_visit_code FK smallint horizon_order decimal thickness_cm decimal depth_upper_cm decimal depth_lower_cm boolean depth_extend varchar horizon_primary_code FK varchar horizon_suffix_1_code FK varchar horizon_suffix_2_code FK varchar horizon_secondary_code FK varchar horizon_suffix_3_code FK varchar horizon_suffix_4_code FK varchar texture_code FK decimal clay_percent decimal total_coarse_fragment_percent decimal gravel_percent decimal cobble_percent decimal stone_percent decimal boulder_percent varchar structure_code FK varchar matrix_hue_code FK decimal matrix_value smallint matrix_chroma varchar nonmatrix_feature_code FK varchar nonmatrix_hue_code FK decimal nonmatrix_value smallint nonmatrix_chroma } soil_horizons }o--|| site_visit : site_visit_code soil_horizons }o..|| soil_horizon_type : horizon_primary_code soil_horizons }o..|| soil_horizon_suffix : horizon_suffix_1_code soil_horizons }o..|| soil_hue : matrix_hue_code soil_horizons }o..|| soil_nonmatrix_features : nonmatrix_feature_code soil_horizons }o..|| soil_hue : nonmatrix_hue_code