Since its adoption by the Object Management Group as a language for object-oriented analysis and design, the Unified Modeling Language (UML) has become widely used for designing object-oriented code. However, UML has had only minimal adoption among practitioners for the purposes of information analysis and database design. One main reason for this is that the class diagrams used in UML for data modeling provide only weak, and awkward, support for the kinds of business rules found in data-intensive applications. Moreover, UML’s graphical language does not lend itself readily to verbalization and multiple instantiation for validating data models with domain experts. These defects can be remedied by using a fact-oriented approach for information analysis, from which UML class diagrams may be derived. Object-Role Modeling (ORM) is currently the most popular fact-oriented modeling approach. This chapter examines the relative strengths and weaknesses of UML and ORM for conceptual data modeling, and indicates how models in one notation can be translated into the other.