Download presentation
Presentation is loading. Please wait.
Published byScot Cooper Modified over 9 years ago
1
Unit 3 Conceptual Data Modeling
2
Key Concepts Conceptual data modeling process Classes and objects Attributes Identifiers, candidate keys, and primary keys Multivalued attributes Composite attributes Relationships Unary, binary, and ternary relationships Cardinality and multiplicity Associations Aggregation and composition Composite structure diagrams Generalization
3
What Is a Conceptual Data Model? A detailed model that shows the overall structure of organizational data Independent of any database management system or other implementation considerations. Represented by UML class diagrams
4
Use cases are key inputs to conceptual data modeling.
5
Conceptual model sets the stage for more detailed model, and ultimately system design
6
Conceptual Data Model Elements Classes Attributes Identifiers Associations, aggregations, compositions Generalizations Time dimensions Integrity rules Security controls
7
What Is an Object? An entity that encapsulates data and behavior Product Employee Order Line item Class – a set of objects that share the same attributes, operations, relationships, and semantics (abstract) Instance – a single object (concrete)
8
Class Instance s
9
What is an Attribute? A named property of a class that describes a range of values that instances of the attribute may hold
10
UML Class symbol has three parts: 1)Name 2)List of attributes 3)List of operations
11
Types of Attributes Simple attributes contain single data item Salary Age Identifiers connect unique key value Social security number StudentID Multivalued attributes contain multiple values simultaneously Phone numbers Dependents Composite attributes group of related attributes Address
12
Stereotypes in Class Diagrams Stereotype – a construct that extends the UML vocabulary Examples: Identifier stereotype > for primary key Multivalued stereotype > Derived stereotype > for values calculated based on other attributes
13
Primary key is a unique identifier; no two Student instances will have the same studentId value.
14
Identifiers and Keys Identifier – an attribute or combination of attributes that is selected as the unique characteristic for a class Candidate key – an attribute or combination of attributes that uniquely identifies each object of a class Primary key – a candidate key that is selected as the unique identifier of the class
15
Choosing a Primary Key Identifiers ExtensionName SSNEmployeeID Candidate keys SSNEmployeeID Primary key EmployeeID
16
Multivalued attribute can contain multiple values; a student may have several phone numbers
17
Composite attributes have multiple sections (subattributes). They are treated as separate classes in conceptual data models.
18
What Is a Relationship? A semantic connection between objects of one or more classes In UML, represented as a line connecting two or more class boxes (or connecting one class to itself)
19
Roles identify the purpose of each class in the relationship.
20
What Is Relationship Degree? The number of classes that participate in a relationship Main degrees: Unary – a relationship between objects of the same class Binary – a relationship between objects of two different classes Ternary – a relationship between objects of three different classes
21
Unary relationships exist between instances of the same class
22
This is a binary relationship, which indicates that an employee works in a department.
23
Note: a ternary relationship is not the same as three binary relationships. It is a relationship that links three separate classes simultaneously.
24
What Is Relationship Multiplicity? The range of the number of objects in Class A that can or must be associated with each object of Class B. A multiplicity is made up of: A minimum cardinality – the minimum number of Class A objects possible A maximum cardinality – the maximum number of Class A objects possible
25
Relationship Multiplicity Relationships can be: One – to – one One – to – many Many – to – many
26
Multiplicity notation is: min..max This shows that one movie can be stocked as any number of videotapes, or none at all
27
Fixed cardinality involves an actual number instead of the generic n This indicates that the maximum number of sections an instructor can teach is 6
28
Roles make it clearer to see which should be on the one side and which should be on the many side of the relationship.
30
What Is an Associative Class? A many-to-many association that the data modeler chooses to model as a class Particularly useful if the association contains attributes of its own Represented as a class connected to an association with a dotted line
31
A Certificate represents a relationship between an employee and a course, and has an attribute pertaining to that relationship
32
Sometimes associative classes have their own relationships with other classes.
33
Types of Associations Association No object is subordinate to any other. Aggregation One class represents the whole The other represents the part It is a loose coupling Composition An aggregation with a tight coupling. The whole and the part cannot exist without each other.
34
Closed diamond indicates composition (course line item cannot exist without course registration) Open diamond indicates aggregation (A player is part of a team, but could also exist without being part of a team)
35
What Is a Composite Structure Diagram? A diagram that shows how a whole is made up of its parts, especially in cases where the whole has a large number of interrelated parts Useful to reduce clutter in diagrams with many associations Introduced in UML 2
37
Generalization and Inheritance GeneralizationInheritance A superclass – subclass relationship in which one class forms a broader category in which the other class is a sub- category A subclass inherits all the attributes and operations of its superclass An instance of the subclass contains all the same information (plus more) as an instance of the superclass. Inheritance is an “is-a” relationship
40
Multiple inheritance is complicated and not supported by all object-oriented programming languages.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.