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
Download Code
Copy to Clipboard