The UML data modeling profile allows you to model databases based on datamodeling stereotypes added to existing UML structures. Stereotypes added to UMLstructures such as components, packages, and classes allow you to model databases,schemas, and tables. Stereotypes added to UML associations allow you to modelrelationships. Strong relationships are modeled with the addition of stereotypes tocomposite aggregations. Finally, stereotypes added to UML operations allow you tomodel primary key constraints, foreign key constraints, unique constraints, andadditional database concepts such as check constraints, triggers, and storedprocedures. Refer to Appendix A for a listing of database concepts and the UML datamodeling profile stereotypes.Advantages of the UML <strong>Data</strong> Modeling ProfileThe UML data modeling profile has four distinct advantages consisting primarily ofits compatibility with business modeling and applications. First, the UML focuses onthe overall architecture of the system allowing you to model high-level businessprocesses, applications, and their implementation.Second, the UML separates logical and physical design, making mapping yourdatabase to your application, and change management easier. When you separate thephysical design from the logical design, you can customize the physical design toaccommodate your specific database management system (DBMS) and appropriatelevels of normalization, while the logical design remains a high-level designappropriate for an overall view of your database or application. The separate designsalso allow you to see the effect changes have on the design before the changes arecommitted. The change may be applied easily to the logical design, but specific DBMSstructures may restrict the same change when it is applied in the physical model;therefore, the change would not be acceptable for the physical design.Third, the UML addresses behavior modeling, allowing you to model operations andconstraints, including business rules.Finally, the UML is compatible with object-oriented notation. It is the difference in theobject-oriented notation for some applications and E/R notation for databases thathinders communication between the database designer and the other team members.<strong>Data</strong>base designers are isolated, often excluded from the communication of crucialdesign decisions, and not able to communicate to other team members designdecisions that they themselves make. The UML eliminates this communication failureby allowing all the team members to communicate their design decisions in the samenotation. This UML data modeling profile enables Rose to create a UML-based datamodel.Why UML for <strong>Data</strong> Modeling? 6
Advantages of Rose UML and <strong>Data</strong> ModelingRose UML offers distinct advantages when data modeling. These advantages are theintroduction of the data model diagram to Rose’s set of UML diagrams, reusability ofdata modeling elements, and <strong>Data</strong> <strong>Modeler</strong>’s engineering capabilities.The<strong>Data</strong>ModelDiagramFor each type of development model—that is business models, application models,and data models—Rose uses a specific type of diagram.■■■Business models—Use case diagram, activity diagram, sequence diagramApplication models or logical data models— Class diagramPhysical data models—<strong>Data</strong> model diagramAn advantage the data model diagram offers database designers is the ability tomodel using terms and structures already familiar to them, such as columns, tables,and relationships. Also, the data model diagram completes Rose’s set of diagrams tomodel the whole system, closing the chasm in development between databasedesigners and application developers.The data model diagram visually represents the physical data model, so to work inyour physical data model you must create a new or activate an existing data modeldiagram. Rose provides this additional diagram to reduce the confusion betweenobject model and data model items, and to support features unique only to <strong>Data</strong><strong>Modeler</strong> such as supported DBMSs, key migration, and schema migration.Advantages of Rose UML and <strong>Data</strong> Modeling 7