{- ============================== Copyright (c) 2024 SysFEAT - Systemic Framework for Enterprise Architecture & Transformation This work is released under the MIT License. framework.sysfeat.com Relational Entity: A Relational Entity is a relational data structure that is either a Table or a Table View.A Relational Entity is accessible by means of a primary key, and if necessary foreign keys; it is described by an ordered sequence of Columns. - ============================== -} {-# OPTIONS --cubical --guardedness #-} {-# OPTIONS --cubical-compatible #-} module 362f3ca45b3b234b where -- ========== Relational Entity open import Agda.Primitive open import Relation.Binary.PropositionalEquality open import Data.Product renaming (_×_ to _⊗_) open import 762582bb5f6bd659 public -- Physical Data Entity open import 7731894d62166495 public -- Relational Data bLOCK open import 137d21d35ee2c7f3 public -- Column Type postulate RelationalEntity : ClassOfClassOfBoundedIndividual postulate -- RelationalEntity is subTypeOf PhysicalDataEntity st-137d24225ee2cfa3 : RelationalEntity ⊏⋆ₑ PhysicalDataEntity postulate -- RelationalEntity is subTypeOf RelationalDatabLOCK st-77318b7d62167bbb : RelationalEntity ⊏ₘₑ RelationalDatabLOCK -- == Relationships ======================= {- Column: A Column is the basic component of a relational Relational Entity (Table or Table View). A Column is derived from the Attribute of a Logical Data Entity or an Association. It can be connected to the Index or the Key that it constitutes. -} -- Aggregate Member : Column postulate Column : ClassOfClassOfIndividual postulate -- NestingRelation: Membership of -Column- membershipOfColumn-nestingbinding : RelationalEntity ⊏ₑ LexicalScope {lsuc(lzero)} membershipOfColumn : classOfNestingRelation {ct = Column} membershipOfColumn-nestingbinding postulate -- Relation: Aggregation of -Column Type (Column) - aggregationOfColumnTypeColumn : classOfOrderedRelation Column ColumnType -- Relation derived from the composability of Column, by mathematical composition column : classOfOrderedRelation RelationalEntity ColumnType column = membershipOfColumn ∘ aggregationOfColumnTypeColumn