Skip to content

Table: ndb.lithology#

Description#

This table stores the lithologic descriptions of Collection Units.

TODO: Expand this description with: - What data does this table store? - What is the business/research purpose? - How is this data collected or generated? - Are there any important caveats or data quality issues?

Table Structure#

Visual Schema

Schema: ndb | Table Comment: This table stores the lithologic descriptions of Collection Units.

Statistics#

Metric Value
Row Count 33,455
Total Size 7048 kB
Table Size 3496 kB
Indexes Size 3520 kB

Relationships#

Primary Key: lithologyid

Foreign Keys:

Referenced By:

TODO: Document which tables reference this table (will be auto-detected in validation).

Data Dictionary#

Column Type Nullable Default Constraints Description
lithologyid integer nextval('ndb.seq_lithology_... PRIMARY KEY An arbitrary identification number for a lithologic unit.
collectionunitid integer - FOREIGN KEY Collection Unit identification number. Field links to the CollectionUnits table.
depthtop double precision - - Depth of the top of the lithologic unit in cm.
depthbottom double precision - - Depth of the bottom of the lithologic unit in cm.
lowerboundary character varying(255) - -
description text - - Description of the lithologic unit. These can be quite detailed, with Munsell color or Troels-Smith descriptions. Some examples:
interbedded gray silt and peat
marly fine-detritus copropel
humified sedge and Sphagnum peat
sedge peat 5YR 5/4
gray sandy loam with mammoth and other animal bones
grey-green gyttja, oxidizing to gray-brown
Ag 3, Ga 1, medium gray, firm, elastic
nig3, strf0, elas2, sicc0; Th2 T12 Tb+
Ld°4, Ga+, Dg+, Dh+
recdatecreated timestamp without time zone timezone('UTC'::text, now()) -
recdatemodified timestamp without time zone - -

TODO: Review column descriptions and add comments where missing.

Usage Examples#

Example 1: Basic Selection#

-- Get recent records from lithology
SELECT *
FROM lithology
ORDER BY lithologyid DESC
LIMIT 10;

Purpose: Retrieve the 10 most recent records from lithology

Example 2: Count Records#

-- Count total records
SELECT COUNT(*) as total_records
FROM lithology;

Purpose: Get the total number of records in lithology

Example 3: Filter by Date Range#

-- Get records within a date range
SELECT *
FROM lithology
WHERE recdatecreated >= '2024-01-01'
  AND recdatecreated < '2025-01-01'
ORDER BY recdatecreated DESC;

Purpose: Retrieve records from lithology within a specific date range

Example 4: Join with collectionunits#

-- Join with related table
SELECT 
    t1.*,
    t2.*
FROM lithology t1
INNER JOIN collectionunits t2 
    ON t1.collectionunitid = t2.collectionunitid
LIMIT 100;

Purpose: Retrieve lithology records with related data from collectionunits

Example 5: Aggregate Data#

-- Aggregate records by collectionunitid
SELECT 
    collectionunitid,
    COUNT(*) as count
FROM lithology
GROUP BY collectionunitid
ORDER BY count DESC
LIMIT 10;

Purpose: Count records grouped by collectionunitid

TODO: Add more specific examples relevant to common research questions or operational tasks.

Data Quality Notes#

TODO: Document: - Known data quality issues - Validation rules - Expected data ranges - Update frequency and mechanisms - Any ETL processes that populate this table

Maintenance#

  • Data Owner: TODO: Assign owner
  • Update Frequency: TODO: Document frequency
  • Last Major Schema Change: TODO: Document when schema last changed

TODO: Link to: - Related API endpoints - Data collection procedures - Analysis notebooks or reports that use this table - External ontologies or standards