U of MN, IDSc 4431, ADVANCED DATABASE DESIGN - 2017 Spring.
Raise your database design skills to a whole new level; a real career booster.
DESCRIPTION: Good information system design and development depends on a well-designed database. This course presents a fact-oriented data modeling scheme called Object Role Modeling (ORM). Students gain practical experience developing data models using ORM and its supporting open source CASE tool, the Natural ORM Architect (NORMA). Topics include: review of the basics of Entity-Relationship Diagrams (ERD), relational database modeling, and the principles of data normalization; a comprehensive taxonomy and comparison of data modeling schemes; advanced constructs in database design - subtypes and supertypes, ternary relationships, integrity constraints; capturing and representing facts and advanced business rule semantics in a data model; presentation and verbalization of a data model diagram for human understanding and validation; conducting a data modeling project; and mapping an ORM data model to a relational data model. In the course you will learn something useful and have fun doing it in an engaging lecture environment! The skills are mastered through a series of exercises.
WHAT STUDENTS SAY: - very highly rated (to see testimonials, click on "Students say").
LEARNING OUTCOMES -- After successful completion of this course, a student will be able to:
* Develop a correct ER/relational data model for a variety of information semantics.
* Recognize a poorly designed database; identify and correct violations of the rules of normalization.
* Use a data modeling tool to develop a "conceptual" fact oriented data model using ORM, check the validity of the model, correct errors, then generate the logical data model as relational tables and the DDL script for some target DBMS.
* Recognize and correctly model subtype-supertype relationships, a most important construct for the data modeler.
* Transform an ORM fact-oriented diagram into an equivalent relational table design.
* Plan and conduct a successful database design project with the business users and domain experts.
* Produce and present data model documentation which business users can understand and validate.
About Data Modeling and ORM
Data modeling is the foundation of information systems development—if you don't get the database design "right,” then the systems you build will be like a house of cards, collapsing under the weight of inevitable future forces for revision, enhancement, integration, and quality improvement. ORM fact modeling enables data modelers to produce models which are semantically rich and a clear representation of the user’s domain of discourse – information requirements and business rules. Traditional “record-based” data modeling schemes, such as Entity-Relationship (ER) Diagrams and relational tables, use three constructs: Entities, Attributes, and Relationships. ORM is rooted in natural language where an elementary fact sentence uses two constructs: Objects (nouns) and Relationships (the verbs or predicates). ORM facilitates capturing and expressing business semantics and business rules, for better human communication, understanding, and validation. It is a new way of thinking that avoids the pitfalls of “table think” which is not helpful nor necessary as the first step in conceptual data modeling (see note on "Tableitis").
AUDIENCE: For the student or practicing IS professional who wants to learn how to do a good job of designing databases which capture information requirements and business rules. This course emphasizes the fundamentals of data modeling for any data modeling scheme, whether relational, ER, or Fact Modeling. With a solid understanding of the basics, you can tackle the most difficult modeling problems with confidence.
TEXT: Terry Halpin and Tony Morgan, Information Modeling and Relational Databases, Morgan-Kaufmann, 2008. Optional is: Terry Halpin, Object-Role Modeling Fundamentals, Technics Publications, 2015, which focuses on the use of NORMA, the ORM data modeling tool.
PREREQUISITES: (at U of MN) IDSc 3103, or CSci 4707/5707 Database Systems, or equivalent, or permission -- that recognizes:
(1) a meaningful level of hands-on experience using some DBMS to define and populate a database, and to query using SQL, and (2) a basic understanding of traditional data modeling (ER Diagrams and relational databases)
SPRING 2017 OFFERING INFORMATION (available for working professionals, and for both graduate and undergraduate credit.) It is available wholly online (lectures, assignments, exams). Local students can attend 15 weekly review sessions, Thursdays, beginning Jan. 19 (to May 4 plus final exam), 4:30-6:15 pm, Room CSOM 1-114 on the West Bank. All review sessions are recorded and put online for the remote students, and those unable to attend any weekly review session.
REGISTRATION: For non-Uof MN students, go to Registration for the steps to follow. Current UMN students go to MyU.umn.edu, click on Academics tab > Registration > Register. Enter courseID #54504, for IDSc 4431, section 001, and 2 credits (undergrad, or graduate if desired, the only difference being the tuition).
To access general information for students go to: http://onestop.umn.edu.
For problems or questions about registration call Carlson Office of Undergraduate Studies, 612-624-3313 or email advisBSB@umn.edu.
About the Instructor
Dr. Gordon C. Everest is Professor Emeritus of MIS and Database in the Carlson School of Management at the University of Minnesota and continues to teach as an adjunct at the University. He has published a textbook with McGraw-Hill entitled “Database Management: Objectives, System Functions, and Administration.” Besides his teaching, Dr. Everest has helped many organizations and government agencies design their databases. His approach transfers expertise to professional data architects within those organizations by having them participate in and observe the conduct of database design project meetings with the business domain experts. For questions or more information contact < email@example.com >.