120 likes | 242 Vues
This document explores the automatic generation of relational database model tables from AIXM Conceptual Model (CM) utilizing Rose Data Modeler. It discusses the generation process, highlighting challenges including the disregard for stereotypes and associations. Key features such as the conversion of features and objects into tables, primary key generation, and how associations are handled with different multiplicity constraints are examined. General considerations on making a generic or specialized approach, including handling codelists and enumerations, are also discussed, raising philosophical questions about implementing constraints within the database.
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?!?