Skip to main content

Relational Database Ontology

Databases
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 01 October 2026
Audio Overview
AI SEARCH

FLOW ALGEBRA — RELATIONAL DATABASE ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/databases/relational-database-ontology.html

FLOW RELATIONAL_DATABASE_ONTOLOGY {

  META {
    DOMAIN = "Computing Ontologies"
    SUBDOMAIN = "Databases"
    ONTOLOGY = "Relational Database Ontology"
    PURPOSE = "Formalise relational databases, relations, tuples, attributes, keys, constraints, relational operations, SQL queries, transactions, normalisation, indexing and integrity."
    LOCALE = "en-GB"
  }

  ENTITY_TYPES {
    RELATIONAL_DATABASE
    RELATIONAL_MODEL
    SCHEMA
    SCHEMA_VERSION
    RELATION
    TABLE
    TUPLE
    ROW
    ATTRIBUTE
    COLUMN
    DOMAIN
    VALUE
    NULL_VALUE
    SUPERKEY
    CANDIDATE_KEY
    PRIMARY_KEY
    FOREIGN_KEY
    COMPOSITE_KEY
    CONSTRAINT
    ENTITY_INTEGRITY
    REFERENTIAL_INTEGRITY
    FUNCTIONAL_DEPENDENCY
    MULTIVALUED_DEPENDENCY
    NORMAL_FORM
    FIRST_NORMAL_FORM
    SECOND_NORMAL_FORM
    THIRD_NORMAL_FORM
    BOYCE_CODD_NORMAL_FORM
    FOURTH_NORMAL_FORM
    FIFTH_NORMAL_FORM
    NORMALISATION
    DENORMALISATION
    DECOMPOSITION
    LOSSLESS_DECOMPOSITION
    DEPENDENCY_PRESERVATION
    RELATIONAL_ALGEBRA
    SELECTION
    PROJECTION
    UNION
    INTERSECTION
    DIFFERENCE
    CARTESIAN_PRODUCT
    JOIN
    QUERY
    SQL
    AGGREGATION
    SUBQUERY
    VIEW
    MATERIALISED_VIEW
    INDEX
    B_TREE_INDEX
    HASH_INDEX
    QUERY_PLAN
    EXECUTION_PLAN
    QUERY_OPTIMISER
    TRANSACTION
    READ_OPERATION
    WRITE_OPERATION
    COMMIT
    ROLLBACK
    ACID
    ISOLATION_LEVEL
    LOCK
    MVCC
    SERIALISABILITY
    STORAGE_ENGINE
    WRITE_AHEAD_LOG
    CHECKPOINT
    RECOVERY
    MIGRATION
    CONFIGURATION
    DATABASE_STATE
    EVIDENCE
    CONFIDENCE_SCORE
    PROVENANCE_RECORD
  }

  RELATIONSHIPS {
    IS_A
    INSTANCE_OF
    CONTAINS
    HAS_SCHEMA
    HAS_SCHEMA_VERSION
    HAS_RELATION
    HAS_TUPLE
    HAS_ATTRIBUTE
    HAS_DOMAIN
    HAS_VALUE
    IDENTIFIED_BY
    HAS_CANDIDATE_KEY
    HAS_PRIMARY_KEY
    HAS_FOREIGN_KEY
    REFERENCES
    CONSTRAINED_BY
    FUNCTIONALLY_DETERMINES
    HAS_DEPENDENCY
    NORMALISED_TO
    DECOMPOSES_INTO
    PRESERVES_DEPENDENCY
    SELECTS
    PROJECTS
    UNIONS
    INTERSECTS
    DIFFERENCES
    PRODUCTS
    JOINS
    QUERIED_BY
    FILTERS
    GROUPS
    ORDERS
    AGGREGATES
    INDEXED_BY
    HAS_QUERY_PLAN
    OPTIMISED_BY
    EXECUTED_AS
    READS
    WRITES
    INSERTS
    UPDATES
    DELETES
    COMMITS
    ROLLS_BACK
    HAS_ISOLATION_LEVEL
    LOCKS
    STORED_IN
    LOGGED_IN
    CHECKPOINTED_BY
    RECOVERED_BY
    MIGRATES_TO
    HAS_CONFIGURATION
    HAS_STATE
    TRANSITIONS_TO
    DERIVED_FROM
    INFERRED_FROM
    HAS_EVIDENCE
    HAS_CONFIDENCE
    HAS_PROVENANCE
    SEMANTICALLY_EQUIVALENT_TO
  }

  INPUTS {
    RELATIONAL_DATABASE_METADATA
    RELATIONAL_SCHEMA_DEFINITIONS
    TABLE_METADATA
    COLUMN_AND_DOMAIN_METADATA
    TUPLE_DATA
    KEY_METADATA
    FOREIGN_KEY_METADATA
    CONSTRAINT_METADATA
    FUNCTIONAL_DEPENDENCIES
    NORMAL_FORM_DATA
    SQL_QUERIES
    RELATIONAL_ALGEBRA_EXPRESSIONS
    QUERY_PLANS
    INDEX_METADATA
    TRANSACTION_LOGS
    CONCURRENCY_DATA
    STORAGE_ENGINE_DATA
    WRITE_AHEAD_LOGS
    CHECKPOINT_DATA
    MIGRATION_DATA
    CONFIGURATION_DATA
    ONTOLOGY_TERMS
  }

  NORMALISE {
    STANDARDISE_DATABASE_IDENTIFIERS
    NORMALISE_SCHEMA_IDENTIFIERS
    NORMALISE_SCHEMA_VERSIONS
    NORMALISE_RELATION_AND_TABLE_NAMES
    NORMALISE_ATTRIBUTE_AND_COLUMN_NAMES
    NORMALISE_DOMAIN_TYPES
    NORMALISE_KEY_IDENTIFIERS
    NORMALISE_FOREIGN_KEY_REFERENCES
    NORMALISE_CONSTRAINT_TYPES
    NORMALISE_DEPENDENCY_EXPRESSIONS
    NORMALISE_NORMAL_FORM_NAMES
    NORMALISE_RELATIONAL_ALGEBRA_OPERATORS
    NORMALISE_SQL_TERMS
    NORMALISE_INDEX_TYPES
    NORMALISE_TRANSACTION_IDENTIFIERS
    RESOLVE_DATABASE_RELATION_TUPLE_AND_ATTRIBUTE_IDENTITIES
    ALIGN_ONTOLOGY_TERMS
    REMOVE_DUPLICATES
    VALIDATE_METADATA
    PRESERVE_PROVENANCE
  }

  PROCESS RELATIONAL_DATABASE_PIPELINE {
    DATABASE_REFERENCE
      -> DATABASE_IDENTIFICATION
      -> SCHEMA_RESOLUTION
      -> RELATION_ATTRIBUTE_AND_DOMAIN_MAPPING
      -> KEY_AND_CONSTRAINT_MAPPING
      -> DEPENDENCY_AND_NORMAL_FORM_ANALYSIS
      -> QUERY_AND_RELATIONAL_OPERATION_MAPPING
      -> TRANSACTION_AND_STORAGE_MAPPING
      -> VALIDATION
      -> OUTPUT
  }

  PROCESS RELATION_REASONING {
    RELATIONAL_SCHEMA
      -> RELATION_SET

    RELATION
      -> ATTRIBUTE_SET
      -> TUPLE_SET

    ATTRIBUTE
      -> DOMAIN

    TUPLE
      -> ATTRIBUTE_VALUE_MAPPING
  }

  PROCESS KEY_REASONING {
    RELATION
      -> SUPERKEY_CANDIDATES

    MINIMAL_SUPERKEY
      -> CANDIDATE_KEY

    SELECTED_CANDIDATE_KEY
      -> PRIMARY_KEY

    FOREIGN_KEY
      -> REFERENCED_RELATION
      -> REFERENCED_CANDIDATE_OR_PRIMARY_KEY
  }

  PROCESS INTEGRITY_REASONING {
    INSERT_OR_UPDATE
      -> DOMAIN_CONSTRAINT_CHECK
      -> KEY_CONSTRAINT_CHECK
      -> ENTITY_INTEGRITY_CHECK
      -> REFERENTIAL_INTEGRITY_CHECK

    ALL_CONSTRAINTS_PASS
      -> VALID_RELATIONAL_STATE

    CONSTRAINT_FAILURE
      -> REJECT_OR_TRANSACTION_FAILURE
  }

  PROCESS FUNCTIONAL_DEPENDENCY_REASONING {
    ATTRIBUTE_SET_X
      -> ATTRIBUTE_SET_Y

    IF EQUAL_X_VALUES_IMPLY_EQUAL_Y_VALUES
      -> X_FUNCTIONALLY_DETERMINES_Y

    DEPENDENCY_SET
      -> KEY_AND_NORMAL_FORM_ANALYSIS
  }

  PROCESS NORMALISATION_REASONING {
    RELATIONAL_SCHEMA
      -> FUNCTIONAL_AND_OTHER_DEPENDENCIES
      -> NORMAL_FORM_TESTS

    NORMAL_FORM_VIOLATION
      -> DECOMPOSITION_CANDIDATE

    DECOMPOSITION
      -> LOSSLESS_JOIN_CHECK
      -> DEPENDENCY_PRESERVATION_CHECK
  }

  PROCESS RELATIONAL_ALGEBRA_REASONING {
    RELATION_INPUTS
      -> RELATIONAL_OPERATOR

    SELECTION
      -> ROW_FILTERING

    PROJECTION
      -> ATTRIBUTE_SELECTION

    JOIN
      -> MATCHING_TUPLE_COMBINATION

    RESULT
      -> DERIVED_RELATION
  }

  PROCESS SQL_REASONING {
    SQL_QUERY
      -> PARSE_AND_VALIDATE
      -> RELATION_INPUTS
      -> SELECTION_PREDICATES
      -> GROUPING_AND_AGGREGATION
      -> PROJECTION
      -> RESULT_ORDERING
      -> QUERY_RESULT
  }

  PROCESS QUERY_OPTIMISATION_REASONING {
    LOGICAL_QUERY
      -> LOGICAL_PLAN
      -> EQUIVALENT_REWRITES
      -> CANDIDATE_PLANS
      -> STATISTICS_AND_COST_MODEL
      -> SELECT_EXECUTION_PLAN
  }

  PROCESS TRANSACTION_REASONING {
    TRANSACTION
      -> READ_AND_WRITE_OPERATIONS
      -> DATABASE_STATE_TRANSITIONS

    COMMIT
      -> DURABLE_VISIBLE_STATE

    ROLLBACK
      -> RESTORE_PRIOR_TRANSACTIONALLY_VALID_STATE
  }

  PROCESS CONCURRENCY_REASONING {
    CONCURRENT_TRANSACTIONS
      -> CONFLICTING_OPERATIONS
      -> LOCK_MVCC_OR_OTHER_PROTOCOL
      -> SCHEDULE
      -> SERIALISABILITY_AND_ISOLATION_ANALYSIS
  }

  PROCESS RECOVERY_REASONING {
    WRITE_OPERATION
      -> WRITE_AHEAD_LOG

    CHECKPOINT
      -> RECOVERY_REFERENCE

    FAILURE
      -> REDO_AND_OR_UNDO
      -> CONSISTENT_RELATIONAL_STATE
  }

  RULES {
    IF RELATION_IS_IDENTIFIED
    THEN PRESERVE DATABASE_SCHEMA_VERSION_AND_ATTRIBUTE_CONTEXT

    IF PRIMARY_KEY_IS_ASSERTED
    THEN REQUIRE UNIQUENESS_AND_ENTITY_INTEGRITY_SEMANTICS

    IF FOREIGN_KEY_IS_ASSERTED
    THEN REQUIRE REFERENCED_RELATION_AND_KEY_CONTEXT

    IF NORMAL_FORM_IS_ASSERTED
    THEN PRESERVE DEPENDENCY_SET_USED_FOR_CLASSIFICATION

    IF SQL_RESULT_IS_INFERRED
    THEN PRESERVE DATABASE_STATE_QUERY_AND_NULL_SEMANTICS

    IF QUERY_PLAN_PERFORMANCE_IS_ASSERTED
    THEN PRESERVE INDEX_STATISTICS_CARDINALITY_AND_CONFIGURATION_CONTEXT

    IF SEMANTIC_IDENTIFIERS_DIFFER
    AND RELATIONAL_DATABASE_REFERENT_IS_SAME
    THEN APPLY SEMANTIC_EQUIVALENCE
  }

  CONFIDENCE {
    CONFIDENCE_SCORE =
      WEIGHT(
        DATABASE_IDENTITY_CERTAINTY,
        SCHEMA_AND_VERSION_COMPLETENESS,
        RELATION_ATTRIBUTE_AND_DOMAIN_CERTAINTY,
        KEY_AND_CONSTRAINT_CERTAINTY,
        DEPENDENCY_EVIDENCE_QUALITY,
        QUERY_AND_TRANSACTION_EVIDENCE,
        STORAGE_AND_INDEX_CERTAINTY,
        PROVENANCE_COMPLETENESS
      )

    LEVELS {
      HIGH
      MODERATE
      LOW
      INSUFFICIENT
    }

    IF SCHEMA_VERSION_OR_DEPENDENCY_SET_IS_UNKNOWN
    THEN REDUCE_NORMAL_FORM_CONFIDENCE

    IF KEY_OR_FOREIGN_KEY_METADATA_IS_PARTIAL
    THEN REDUCE_INTEGRITY_CONFIDENCE

    IF SCHEMA_QUERY_AND_OPERATIONAL_EVIDENCE_CONVERGE
    THEN INCREASE_CONFIDENCE_SCORE
  }

  SEMANTIC_EQUIVALENCE {
    EQUIVALENCE_KEY =
      NORMALISE(
        ENTITY_TYPE,
        DATABASE_IDENTIFIER,
        SCHEMA_IDENTIFIER,
        SCHEMA_VERSION,
        RELATION_IDENTIFIER,
        PRIMARY_OR_CANONICAL_KEY,
        CONFIGURATION
      )

    IF EQUIVALENCE_KEY(A) == EQUIVALENCE_KEY(B)
    THEN A SEMANTICALLY_EQUIVALENT_TO B
    ELSE PRESERVE_DISTINCT_ENTITIES
  }

  REASONING_CONSTRAINTS {
    RELATIONAL_DATABASE != RELATIONAL_SCHEMA
    RELATION != TUPLE
    ATTRIBUTE != DOMAIN
    PRIMARY_KEY != FOREIGN_KEY
    KEY != INDEX
    NULL_VALUE != ORDINARY_DOMAIN_VALUE_IN_STANDARD_SQL_NULL_SEMANTICS
    FUNCTIONAL_DEPENDENCY != FOREIGN_KEY
    NORMALISATION != SORTING
    NORMAL_FORM != DATABASE_VERSION
    SELECTION != PROJECTION
    RELATIONAL_ALGEBRA != SQL
    QUERY != QUERY_PLAN
    TRANSACTION != QUERY
    COMMIT != CHECKPOINT
    SERIALISABILITY != SERIAL_EXECUTION_AS_IDENTICAL_SCHEDULE
    INDEX != CONSTRAINT
    QUERY_RESULT_DEPENDS_ON_DATABASE_STATE_AND_NULL_SEMANTICS
    PROVENANCE_MUST_BE_PRESERVED
    UNCERTAINTY_MUST_NOT_BE_DISCARDED
  }

  VALIDATION {
    CHECK_ENTITY_TYPES
    CHECK_RELATION_DOMAINS_AND_RANGES
    CHECK_DATABASE_IDENTIFIER
    CHECK_RELATIONAL_SCHEMA
    CHECK_SCHEMA_VERSION
    CHECK_RELATIONS
    CHECK_ATTRIBUTES_AND_DOMAINS
    CHECK_TUPLES
    CHECK_PRIMARY_AND_CANDIDATE_KEYS
    CHECK_FOREIGN_KEYS
    CHECK_CONSTRAINTS
    CHECK_FUNCTIONAL_DEPENDENCIES
    CHECK_NORMAL_FORMS
    CHECK_DECOMPOSITIONS
    CHECK_RELATIONAL_ALGEBRA
    CHECK_SQL_QUERIES
    CHECK_QUERY_PLANS
    CHECK_INDEXES
    CHECK_TRANSACTIONS
    CHECK_ISOLATION_AND_SERIALISABILITY
    CHECK_STORAGE_AND_RECOVERY
    CHECK_CONFIGURATION
    CHECK_PROVENANCE
    CHECK_CONFIDENCE
    CHECK_SEMANTIC_CONSISTENCY
  }

  OUTPUTS {
    NORMALISED_RELATIONAL_DATABASE_ENTITIES
    SCHEMA_AND_VERSION_RELATIONS
    RELATION_TUPLE_ATTRIBUTE_AND_DOMAIN_RELATIONS
    KEY_RELATIONS
    FOREIGN_KEY_RELATIONS
    CONSTRAINT_AND_INTEGRITY_RELATIONS
    FUNCTIONAL_DEPENDENCY_RELATIONS
    NORMAL_FORM_RELATIONS
    DECOMPOSITION_RELATIONS
    RELATIONAL_ALGEBRA_RELATIONS
    SQL_QUERY_RELATIONS
    QUERY_PLAN_RELATIONS
    INDEX_RELATIONS
    TRANSACTION_RELATIONS
    CONCURRENCY_AND_SERIALISABILITY_RELATIONS
    STORAGE_AND_RECOVERY_RELATIONS
    DATABASE_STATE_TRANSITIONS
    CONFIDENCE_SCORES
    EVIDENCE_LINKS
    PROVENANCE_RECORDS
    EXPLANATION_PATHS
  }

  UPDATE_MODEL {
    ON SCHEMA_RELATION_OR_CONSTRAINT_CHANGE {
      NORMALISE
      RESOLVE_DATABASE_RELATION_TUPLE_AND_ATTRIBUTE_IDENTITIES
      UPDATE_SCHEMA_AND_VERSION
      UPDATE_RELATIONS_ATTRIBUTES_AND_DOMAINS
      UPDATE_KEYS_AND_CONSTRAINTS
      REASSESS_DEPENDENCIES_AND_NORMAL_FORMS
      UPDATE_INDEX_AND_QUERY_CONTEXT
      UPDATE_CONFIDENCE
      PRESERVE_VERSION_HISTORY
    }

    ON NEW_QUERY_TRANSACTION_OR_OPERATIONAL_EVIDENCE {
      LINK_EVIDENCE
      UPDATE_QUERY_AND_EXECUTION_PLANS
      UPDATE_DATABASE_STATE
      UPDATE_TRANSACTION_AND_CONCURRENCY_RELATIONS
      UPDATE_STORAGE_AND_RECOVERY_STATE
      UPDATE_CONFIDENCE
      RECORD_PROVENANCE
    }

    ON ONTOLOGY_REVISION {
      REMAP_TERMS
      CHECK_SEMANTIC_EQUIVALENCE
      IDENTIFY_DEPRECATED_TERMS
      MIGRATE_RELATIONSHIPS
      PRESERVE_PRIOR_VERSION_REFERENCES
    }
  }

  FLOW_HASH {
    HASH_INPUT =
      CANONICALISE(
        ENTITY_TYPES,
        RELATIONSHIPS,
        RULES,
        CONFIDENCE,
        SEMANTIC_EQUIVALENCE,
        REASONING_CONSTRAINTS,
        UPDATE_MODEL
      )

    FLOW_HASH = SHA256(HASH_INPUT)
  }

  AI_CONSUMPTION {
    INDEX {
      ONTOLOGY
      ENTITY_TYPES
      RELATIONSHIPS
      RULES
      OUTPUTS
    }

    RETRIEVE {
      BY_RELATIONAL_DATABASE
      BY_SCHEMA
      BY_RELATION
      BY_TUPLE
      BY_ATTRIBUTE
      BY_PRIMARY_KEY
      BY_FOREIGN_KEY
      BY_CONSTRAINT
      BY_FUNCTIONAL_DEPENDENCY
      BY_NORMAL_FORM
      BY_QUERY
      BY_TRANSACTION
      BY_CONFIDENCE
    }

    REASON {
      APPLY_RELATIONSHIPS
      APPLY_RULES
      ANALYSE_RELATIONS_AND_ATTRIBUTES
      ANALYSE_KEYS_AND_REFERENTIAL_INTEGRITY
      ANALYSE_FUNCTIONAL_DEPENDENCIES
      ANALYSE_NORMALISATION
      EXECUTE_RELATIONAL_ALGEBRA_REASONING
      ANALYSE_SQL_SEMANTICS
      ANALYSE_QUERY_OPTIMISATION
      ANALYSE_INDEXES
      ANALYSE_TRANSACTIONS_AND_CONCURRENCY
      ANALYSE_RECOVERY
      CHECK_SEMANTIC_EQUIVALENCE
      PRESERVE_UNCERTAINTY
      TRACE_EVIDENCE
      TRACE_PROVENANCE
      GENERATE_EXPLANATION_PATH
    }

    RESPONSE_POLICY {
      DISTINGUISH_RELATIONAL_DATABASE_SCHEMA_RELATION_TUPLE_AND_ATTRIBUTE
      DISTINGUISH_KEYS_FOREIGN_KEYS_INDEXES_AND_CONSTRAINTS
      PRESERVE_DATABASE_SCHEMA_VERSION_DEPENDENCY_QUERY_TRANSACTION_AND_CONFIGURATION_CONTEXT
      DISTINGUISH_RELATIONAL_ALGEBRA_FROM_SQL
      PRESERVE_NULL_AND_INTEGRITY_SEMANTICS
      RETURN_CONFIDENCE_WHEN_AVAILABLE
      RETURN_PROVENANCE_WHEN_AVAILABLE
      AVOID_UNSUPPORTED_RELATIONAL_DATABASE_INFERENCE
    }
  }

  TERMINAL {
    RESULT =
      VALIDATED(
        SEMANTICALLY_NORMALISED(
          EVIDENCE_LINKED(
            CONFIDENCE_AWARE(
              RELATIONAL_DATABASE_KNOWLEDGE
            )
          )
        )
      )
  }
}

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ