‫أكاديمية الحكومة اإللكترونية الفلسطينية‬
        The Palestinian eGovernment Academy
                         www.egovacademy.ps



Tutorial 1: Data and Business Process Modeling

                        Session 3.1
           Uniqueness Rules

                Prof. Mustafa Jarrar
               Sina Institute, University of Birzeit
                       mjarrar@birzeit.edu
                          www.jarrar.info


                          Reviewed by
           Prof. Marco Ronchetti, Trento University, Italy
                           PalGov © 2011                         1
About

This tutorial is part of the PalGov project, funded by the TEMPUS IV program of the
Commission of the European Communities, grant agreement 511159-TEMPUS-1-
2010-1-PS-TEMPUS-JPHES. The project website: www.egovacademy.ps
Project Consortium:
             Birzeit University, Palestine
                                                           University of Trento, Italy
             (Coordinator )


             Palestine Polytechnic University, Palestine   Vrije Universiteit Brussel, Belgium


             Palestine Technical University, Palestine
                                                           Université de Savoie, France

             Ministry of Telecom and IT, Palestine
                                                           University of Namur, Belgium
             Ministry of Interior, Palestine
                                                           TrueTrust, UK
             Ministry of Local Government, Palestine


Coordinator:
Dr. Mustafa Jarrar
Birzeit University, P.O.Box 14- Birzeit, Palestine
Telfax:+972 2 2982935 mjarrar@birzeit.eduPalGov © 2011
                                                                                                 2
© Copyright Notes
Everyone is encouraged to use this material, or part of it, but should properly
cite the project (logo and website), and the author of that part.


No part of this tutorial may be reproduced or modified in any form or by any
means, without prior written permission from the project, who have the full
copyrights on the material.




                   Attribution-NonCommercial-ShareAlike
                                CC-BY-NC-SA

This license lets others remix, tweak, and build upon your work non-
commercially, as long as they credit you and license their new creations
under the identical terms.

                                    PalGov © 2011                                 3
Tutorial Map


                       Intended Learning Objectives
                                                                                                                      Topic                       Time
Module 1 (Conceptual Date Modeling)
                                                                                               Module I: Conceptual Data Modeling
A: Knowledge and Understanding
11a1: Demonstrate knowledge of conceptual modeling notations and concepts                       Session 0: Outline and Introduction
11a2: Demonstrate knowledge of Object Role Modeling (ORM) methodology.                          Session 1.1: Information Modeling                 1
11a3: Explain and demonstrate the concepts of data integrity & business rules                   Session 1.2: Conceptual Data Modeling using ORM   1
B: Intellectual Skills                                                                          Session 1.3: Conceptual Analyses                  1
11b1: Analyze application and domain requirements at the conceptual level,                      Session 2: Lab- Conceptual Analyses               3
and formalize it using ORM.                                                                     Session 3.1: Uniqueness Rules                     1.5
11b2: Analyze entity identity at the application and domain levels.                             Session 3.2: Mandatory Rules                      1.5
11b4: Optimize, transform, and (re)engineer conceptual models.                                  Session 4: Lab- Uniqueness & Mandatory Rules      3
11b5: Detect &resolve contradictions & implications at the conceptual level.                    Session 5: Subtypes and Other Rules               3
C: Professional and Practical Skills                                                            Session 6: Lab- Subtypes and Other Rules          3
11c1: Using ORM modeling tools (Conceptual Modeling Tools).                                     Session 7.1: Schema Equivalence &Optimization     1.5
Module 2 (Business Process Modeling)                                                            Session 7.2: Rules Check &Schema Engineering      1.5
A: Knowledge and Understanding                                                                  Session 8: Lab- National Student Registry         3
12a1: Demonstrate knowledge of business process modeling notations and concepts.
                                                                                               Module II: Business Process Modeling
12a2: Demonstrate knowledge of business process modeling and mapping.
12a3: Demonstrate understand of business process optimization and re-engineering.               Session 9: BP Management and BPMN: An Overview    3
B: Intellectual Skills                                                                          Session 10: Lab - BP Management                   3
12b1: Identify business processes.                                                              Session 11: BPMN Fundamentals                     3
12b2: Model and map business processes.                                                         Session 12: Lab - BPMN Fundamentals               3
12b3: Optimize and re-engineer business processes.                                              Session 13: Modeling with BPMN                    3
C: Professional and Practical Skills                                                            Session 14: Lab- Modeling with BPMN               3
12c1: Using business process modeling tools, such as MS Visio.                                  Session 15: BP Management & Reengineering         3
                                                                                                Session 16: Lab- BP Management & Reengineering    3

                                                                               PalGov © 2011                                                             4
Session ILOs

After completing this session students will be able to:

   11a3: Explain and demonstrate the concepts of data integrity and
   business rules.


   11b1: Analyze application and domain requirements at the
   conceptual level, and formalize it using ORM.


   11b2: Analyze entity identity at the application and domain levels.




                                PalGov © 2011                            5
Conceptual Schema Design Steps

1. From examples to elementary facts

2. Draw fact types and apply population check

3. Combine entity types

4. Add uniqueness constraints

5. Add mandatory constraints

6. Add set, subtype, & frequency constraints

7. Final checks, & schema engineering issues
                   PalGov © 2011                6
Uniqueness Constraint




For each state taken individually, each person has at most one weight.


How can we record such information without redundancy?
                                PalGov © 2011                            7
Uniqueness on Unary Fact Types




       Is their any problem with this schema?

How can we prevent people from adding such redundant information?




                          PalGov © 2011                         8
Uniqueness on Unary Fact Types


                              The uniqueness constraint
                              ensures entities are
                              unique (no duplicates)




              PalGov © 2011                               9
Uniqueness on Binary Fact Types




 Each Politician was born
  in at most one Country




    Each Politician heads
   government of at most
            one Country
   Each Country has at
most one head Politician
                            PalGov © 2011   10
Uniqueness on Binary Fact Types

                    Means many to many




It is possible that the same Politician visited more than one Country
   and that the same Country was visited by more than one Politician


               Who can give more examples?
                             PalGov © 2011                              11
Uniqueness on Binary Fact Types


What is unique here?




                       PalGov © 2011   12
Uniqueness on Binary Fact Types


What is unique here?




                       PalGov © 2011   13
Uniqueness on Binary Fact Types

The four uniqueness constraint patterns for a binary fact type:

                          No duplicates are allowed in a's column
                          Each a R's at most one b


                          No duplicates are allowed in b's column
                          Each b is R'd by at most one a


                          Both the foregoing constraints apply



                          No duplicate (a,b) rows are allowed
                          Each a may R many bs and vice versa

                             PalGov © 2011                          14
How to think about Uniqueness




    Is the population significant?
                                           Adding counterexamples
                                            to test the constraints




                                PalGov © 2011                         15
Uniqueness on Binary Fact Types




         Which is more realistic?




                PalGov © 2011       16
Uniqueness on Ternary Fact Types

What are the uniqueness constraints?




      Each (Person, Subject) combination is unique.

                       PalGov © 2011                  17
Uniqueness on Ternary Fact Types

Allowed basic uniqueness constraints for a ternary fact type:




                            PalGov © 2011                       18
Uniqueness on Ternary Fact Types




What does this uniqueness mean?

                PalGov © 2011       19
Uniqueness on Ternary Fact Types


Allowed uniqueness constraint combinations for a ternary fact type:




                              PalGov © 2011                      20
Uniqueness on Ternary Fact Types


Which of these constraint patterns is illegal? Why?



           


           


           

                       PalGov © 2011                  21
Example of Uniqueness on n-ary fact types




Each (a,c,d) combination occurs in at most one row.


                    PalGov © 2011                     22
Uniqueness with Nested Fact Types


                          This constraint is particularly
                          important! Why?




        Explain what is unique
               PalGov © 2011                                23
What is the difference between these?




        Explain the joins
        Do we need uniqueness?
                 PalGov © 2011          24
External Uniqueness constraints




What is missing?



                             u




                        PalGov © 2011      25
External Uniqueness constraints




The meaning of the External Uniqueness

 Each (b,c) combination is paired with at most one a


 Each population R join S has bc unique
 (where “join” denotes “conceptual inner join”)

                        PalGov © 2011                  26
Example with nest fact types




               PalGov © 2011   27
Key Length Check




                                    What is wrong?




               Splits into


                             Each UC in an elementary
                                n-ary relationship must
                                 span at least n-1 roles


             PalGov © 2011                             28
Key Length Check




                             What is wrong?




               Splits into




             PalGov © 2011                29
Discussion



Summarize what you learnt until now?


Problems of uniqueness in your daily life?


Compare the uniqueness constraint in ORM
with the cardinality constraints in UML and EER?



                    PalGov © 2011                  30
References

1. Information Modeling and Relational Databases: From
   Conceptual Analysis to Logical Design, Terry Halpin (ISBN 1-
   55860-672-6) – Chapter 4.




                               PalGov © 2011                      31

Pal gov.tutorial1.session3 1.uniquenessrules

  • 1.
    ‫أكاديمية الحكومة اإللكترونيةالفلسطينية‬ The Palestinian eGovernment Academy www.egovacademy.ps Tutorial 1: Data and Business Process Modeling Session 3.1 Uniqueness Rules Prof. Mustafa Jarrar Sina Institute, University of Birzeit mjarrar@birzeit.edu www.jarrar.info Reviewed by Prof. Marco Ronchetti, Trento University, Italy PalGov © 2011 1
  • 2.
    About This tutorial ispart of the PalGov project, funded by the TEMPUS IV program of the Commission of the European Communities, grant agreement 511159-TEMPUS-1- 2010-1-PS-TEMPUS-JPHES. The project website: www.egovacademy.ps Project Consortium: Birzeit University, Palestine University of Trento, Italy (Coordinator ) Palestine Polytechnic University, Palestine Vrije Universiteit Brussel, Belgium Palestine Technical University, Palestine Université de Savoie, France Ministry of Telecom and IT, Palestine University of Namur, Belgium Ministry of Interior, Palestine TrueTrust, UK Ministry of Local Government, Palestine Coordinator: Dr. Mustafa Jarrar Birzeit University, P.O.Box 14- Birzeit, Palestine Telfax:+972 2 2982935 mjarrar@birzeit.eduPalGov © 2011 2
  • 3.
    © Copyright Notes Everyoneis encouraged to use this material, or part of it, but should properly cite the project (logo and website), and the author of that part. No part of this tutorial may be reproduced or modified in any form or by any means, without prior written permission from the project, who have the full copyrights on the material. Attribution-NonCommercial-ShareAlike CC-BY-NC-SA This license lets others remix, tweak, and build upon your work non- commercially, as long as they credit you and license their new creations under the identical terms. PalGov © 2011 3
  • 4.
    Tutorial Map Intended Learning Objectives Topic Time Module 1 (Conceptual Date Modeling) Module I: Conceptual Data Modeling A: Knowledge and Understanding 11a1: Demonstrate knowledge of conceptual modeling notations and concepts Session 0: Outline and Introduction 11a2: Demonstrate knowledge of Object Role Modeling (ORM) methodology. Session 1.1: Information Modeling 1 11a3: Explain and demonstrate the concepts of data integrity & business rules Session 1.2: Conceptual Data Modeling using ORM 1 B: Intellectual Skills Session 1.3: Conceptual Analyses 1 11b1: Analyze application and domain requirements at the conceptual level, Session 2: Lab- Conceptual Analyses 3 and formalize it using ORM. Session 3.1: Uniqueness Rules 1.5 11b2: Analyze entity identity at the application and domain levels. Session 3.2: Mandatory Rules 1.5 11b4: Optimize, transform, and (re)engineer conceptual models. Session 4: Lab- Uniqueness & Mandatory Rules 3 11b5: Detect &resolve contradictions & implications at the conceptual level. Session 5: Subtypes and Other Rules 3 C: Professional and Practical Skills Session 6: Lab- Subtypes and Other Rules 3 11c1: Using ORM modeling tools (Conceptual Modeling Tools). Session 7.1: Schema Equivalence &Optimization 1.5 Module 2 (Business Process Modeling) Session 7.2: Rules Check &Schema Engineering 1.5 A: Knowledge and Understanding Session 8: Lab- National Student Registry 3 12a1: Demonstrate knowledge of business process modeling notations and concepts. Module II: Business Process Modeling 12a2: Demonstrate knowledge of business process modeling and mapping. 12a3: Demonstrate understand of business process optimization and re-engineering. Session 9: BP Management and BPMN: An Overview 3 B: Intellectual Skills Session 10: Lab - BP Management 3 12b1: Identify business processes. Session 11: BPMN Fundamentals 3 12b2: Model and map business processes. Session 12: Lab - BPMN Fundamentals 3 12b3: Optimize and re-engineer business processes. Session 13: Modeling with BPMN 3 C: Professional and Practical Skills Session 14: Lab- Modeling with BPMN 3 12c1: Using business process modeling tools, such as MS Visio. Session 15: BP Management & Reengineering 3 Session 16: Lab- BP Management & Reengineering 3 PalGov © 2011 4
  • 5.
    Session ILOs After completingthis session students will be able to: 11a3: Explain and demonstrate the concepts of data integrity and business rules. 11b1: Analyze application and domain requirements at the conceptual level, and formalize it using ORM. 11b2: Analyze entity identity at the application and domain levels. PalGov © 2011 5
  • 6.
    Conceptual Schema DesignSteps 1. From examples to elementary facts 2. Draw fact types and apply population check 3. Combine entity types 4. Add uniqueness constraints 5. Add mandatory constraints 6. Add set, subtype, & frequency constraints 7. Final checks, & schema engineering issues PalGov © 2011 6
  • 7.
    Uniqueness Constraint For eachstate taken individually, each person has at most one weight. How can we record such information without redundancy? PalGov © 2011 7
  • 8.
    Uniqueness on UnaryFact Types Is their any problem with this schema? How can we prevent people from adding such redundant information? PalGov © 2011 8
  • 9.
    Uniqueness on UnaryFact Types The uniqueness constraint ensures entities are unique (no duplicates) PalGov © 2011 9
  • 10.
    Uniqueness on BinaryFact Types Each Politician was born in at most one Country Each Politician heads government of at most one Country Each Country has at most one head Politician PalGov © 2011 10
  • 11.
    Uniqueness on BinaryFact Types Means many to many It is possible that the same Politician visited more than one Country and that the same Country was visited by more than one Politician Who can give more examples? PalGov © 2011 11
  • 12.
    Uniqueness on BinaryFact Types What is unique here? PalGov © 2011 12
  • 13.
    Uniqueness on BinaryFact Types What is unique here? PalGov © 2011 13
  • 14.
    Uniqueness on BinaryFact Types The four uniqueness constraint patterns for a binary fact type: No duplicates are allowed in a's column Each a R's at most one b No duplicates are allowed in b's column Each b is R'd by at most one a Both the foregoing constraints apply No duplicate (a,b) rows are allowed Each a may R many bs and vice versa PalGov © 2011 14
  • 15.
    How to thinkabout Uniqueness Is the population significant? Adding counterexamples to test the constraints  PalGov © 2011 15
  • 16.
    Uniqueness on BinaryFact Types Which is more realistic? PalGov © 2011 16
  • 17.
    Uniqueness on TernaryFact Types What are the uniqueness constraints? Each (Person, Subject) combination is unique. PalGov © 2011 17
  • 18.
    Uniqueness on TernaryFact Types Allowed basic uniqueness constraints for a ternary fact type: PalGov © 2011 18
  • 19.
    Uniqueness on TernaryFact Types What does this uniqueness mean? PalGov © 2011 19
  • 20.
    Uniqueness on TernaryFact Types Allowed uniqueness constraint combinations for a ternary fact type: PalGov © 2011 20
  • 21.
    Uniqueness on TernaryFact Types Which of these constraint patterns is illegal? Why?    PalGov © 2011 21
  • 22.
    Example of Uniquenesson n-ary fact types Each (a,c,d) combination occurs in at most one row. PalGov © 2011 22
  • 23.
    Uniqueness with NestedFact Types This constraint is particularly important! Why?  Explain what is unique PalGov © 2011 23
  • 24.
    What is thedifference between these?  Explain the joins  Do we need uniqueness? PalGov © 2011 24
  • 25.
    External Uniqueness constraints Whatis missing? u PalGov © 2011 25
  • 26.
    External Uniqueness constraints Themeaning of the External Uniqueness Each (b,c) combination is paired with at most one a Each population R join S has bc unique (where “join” denotes “conceptual inner join”) PalGov © 2011 26
  • 27.
    Example with nestfact types PalGov © 2011 27
  • 28.
    Key Length Check What is wrong? Splits into Each UC in an elementary n-ary relationship must span at least n-1 roles PalGov © 2011 28
  • 29.
    Key Length Check What is wrong? Splits into PalGov © 2011 29
  • 30.
    Discussion Summarize what youlearnt until now? Problems of uniqueness in your daily life? Compare the uniqueness constraint in ORM with the cardinality constraints in UML and EER? PalGov © 2011 30
  • 31.
    References 1. Information Modelingand Relational Databases: From Conceptual Analysis to Logical Design, Terry Halpin (ISBN 1- 55860-672-6) – Chapter 4. PalGov © 2011 31