120 likes | 234 Views
Deriving a Relational DB Model from the AIXM CM. Automatic Generation with Rose Data Modeler. Automatic generation of table definitions straightforward Problems: Disregards stereotypes, not controllable Associations: disregards type and navigability.
E N D
Automatic Generation with Rose Data Modeler • Automatic generation of table definitions straightforward • Problems: • Disregards stereotypes, not controllable • Associations: disregards type and navigability
Relational Schema Derivation – Features and Objects • <<feature>> and <<object>> implemented as tables • artificial primary key (UID) • attribute to column
Relational Schema Derivation – Associations (1) • Association with multiplicity upper bound 1 primary/foreign key dependency
Relational Schema Derivation – Associations (2) • Association with multiplicity upper bound > 1 over additional mapping table
Relational Schema Derivation – Associations (3) • Generalization Equal primary keys of tables of general and special class
Relational Schema Derivation – Choice • <<choice>> stereotype of features/objects over mapping table (XOR: enforce one column null)
General Considerations – generic or specialized? • Generic or highly specialized approach? • One generic SegmentLeg table with type column or one table for every SegmentLeg specialization? • Consistency could still be enforced with constraints
General Considerations – codelists, enums, datatypes • Implementation of <<enumeration>> and <<codelist>> • As enum column type (if available) or as code table? • enum type strictly enforces limited value set • code table better scalable/extendable • Or: simply as string and enforce allowedvalues outside DB? • Implement data types as column typesin DB? Philosophical question: Implement all constraints in DB?!?