From 8c640a262969ef44cd8bc0e0abe95e2a54f4c3f5 Mon Sep 17 00:00:00 2001 From: Marcos Magueta Date: Thu, 5 Mar 2026 23:42:15 -0300 Subject: ocaml re-migration --- docs/constraint-classification.puml | 82 ------------------------------------- 1 file changed, 82 deletions(-) delete mode 100644 docs/constraint-classification.puml (limited to 'docs/constraint-classification.puml') diff --git a/docs/constraint-classification.puml b/docs/constraint-classification.puml deleted file mode 100644 index 09094f1..0000000 --- a/docs/constraint-classification.puml +++ /dev/null @@ -1,82 +0,0 @@ -@startuml constraint-classification -!theme plain -title Constraint Classification (McGoveran Framework) - -package "Database Constraints" { - class RelationConstraints { - Which relations must/can exist - Example: referential integrity - } - - class CardinalityConstraints { - Relation size limits - Examples: - - exactly N tuples - - at most M tuples - } -} - -package "Relation Constraints" { - package "Tuple Constraints" { - class AttributeConstraints { - Domain constraints per attribute - Examples: - - age >= 18 - - salary > 0 - - name ≠ "" - } - - class TupleLevelConstraints { - Cross-attribute rules - Example: - if salary > 200k then age >= 30 - } - } - - package "Relation-Level Constraints" { - class KeyConstraints { - Uniqueness + not null - - Primary keys - - Candidate keys - - Composite keys - } - - class FunctionalDependencies { - A → B - Example: ZIP → {city, state} - } - - class ForeignKeys { - Inclusion dependencies - Example: employee.dept_id ⊆ department.id - } - } -} - -package "Transition Constraints" { - class StateTransitionRules { - Before → After constraints - Examples: - - salary (monotonic increasing) - - created_at (immutable) - } - - class TemporalConstraints { - Time-based rules - Example: end_date >= start_date - } -} - -package "Multi-Relation Constraints" { - class AggregateConstraints { - Cross-relation aggregates - Example: sum(dept_salaries) <= dept_budget - } - - class MutualExclusion { - Disjoint sets - Example: managers ∩ ICs = ∅ - } -} - -@enduml -- cgit v1.2.3