Upload
bartholomew-anderson
View
218
Download
0
Embed Size (px)
Citation preview
Z556: Session 8
Data Modeling Entity-Relationship Diagram (ER).
Unified Modeling Language (UML). 1
Modeling
2
Cultural Model
Flow Model
Physical Model
Artifact Model
Sequence Model
E-R Diagram
What is Data Modeling?
A process for identifying, documenting & organizing
data elements based on specified requirements.
3
3
What is Data Modeling?
A design activity that is not limited to data analysis.
(Be Creative…)
4
4
What is Data Modeling?
Can be presented in many different ways.
5
E.g., Tables Entity-Relationship diagramClass diagramActivity diagram
5
Why Data Modeling?
To identify essential data elements and understand their role in supporting
business processes.
6
6
A Little Incentive to Pay Attention
Annual Mean Salary by Job Financial specialist $74,270
Information and Record Clerks $32,320
Loan officer $71,800
Network & Computer Systems administrator
$77,910
Paralegals $51,170
Database administrator $80,740
Advertising Sales Agents $57,440
Actuaries $107,7407
Bureau of Labor Statistics http://www.bls.gov/oes/current/oes_nat.htm
Data Modeling Language
Entity-Relationship (ER) Diagram
Object-Oriented (OO) Design
Unified Modeling Language (UML)
8
8
Case Study: KCCI Training Center
• KCCI training center organizes training programs for customers in three different areas: Investment, Real-Estate, & Human-Resources.
• For each program to run, there is a required minimum number of attendees.
• To enroll in a program or more, a customer fills a registration form and send it to the center.
• A training coordinator keeps track of the number of registered customers. When the minimum number is reached before the start date of the program, the coordinator contacts a trainer to run the program and then sends confirmation/invoice letters to the customers.
• If no trainer is available or the minimum number is not reached, cancelation letters are sent to the customers. 9
Case Study: KCCI Training Center
Problems: Ineffective paper-based system that fails to
meet the growing trends of the center.
Difficulty to track programs and participants.
Difficulty to locate misplaced or lost files.
Difficulty to share and access information.
Underutilized data for future planning.
10
Case Study: KCCI Training CenterSolution:
Develop a new information system for managing, storing, retrieving, and
analyzing all information related to training programs.
Purpose of data modeling: To identify essential data elements and
understand their role in supporting work processes. 11
Relationship Attribute
ER Diagram
12
o The principle data objects about which information is to be collected. E.g., person, place, document, etc.
o Entity instance: a particular occurrence of an entity.
University•Indiana University Bloomington•University of Indianapolis•University of Phoenix
Entity name
Instances
Entity
Attribute
ER Diagram
13
Entity
Real-word association among entities.
Entity Relationship Entity
Manager Manages Department
Relationship
Attribute
ER Diagram
14
Entity
o Connectivity of a relationship :Describes the constraints on the connection of the associated instance in the relationship.
Entity Relationship Entity
Entity Relationship Entity
Entity Relationship Entity1 1
1 *
**
Relationship
ER Diagram
15
Entity Relationship Attribute
o Provides descriptive detail about entities and relationships.
o An attribute value: a particular occurrence of an attribute within an entity or relationship.
Student enroll
ID
Classname
dateSection
Title
KCCI ER Diagram
16
Customeris
given by
Program Trainer
Coordinator
enrolls
is-contacted-
bycontacts
Manages
1
*
1
1*
* * **
Name
NameName CustID
Phone
CoID
TrnIDTitle
ProgID
Area
AddressDate
1
KCCI ER Diagram
17
Customeris
given by
Program Trainer
Coordinator
enrolls
is-contacted-
bycontacts
Manage
1
*
1
1*
* * **
Name
NameName CustID
Phone
CoID
TrnIDTitle
ProgID
Area
AddressDate
1
KCCI ER Diagram
18
Customeris
given by
Program Trainer
Coordinatoris-
contacted-by
contacts
Manage
1
*
1
1*
* * **
Name
NameName CustID
Phone
CoID
TrnIDTitle
ProgID
Area
AddressDate
1
Registration Form
11
Implementing
19
Entity (Customer)
Cust# Name Address Phone #
100 Peter Alex 335 10th 555-4444
Implementing
20
Attribute (address)
Entity
data instance
Cust# Name Address Phone #
100 Peter Alex 335 10th 555-4444
Many-to-Many Relationship
Cust_id F_name L_name address
1234 Mary Gray 456 Oak street
1235 Bill Dodds 789 Woodburn street
1236 Justin Moore 903 College avenue
Class_id
Price Date Class name
135 100 Oct-1-2013 Customer Service 101
136 200 Nov-1-2013 Types of Investment
137 100 Oct-31-2013 Property Evaluation
21
Registration
Many-to-Many Relationship
Registration_id Cust_id Class_id0088 1234 136
Cust_id F_name L_name Address
Class_id Price Date Class name22
CUSTOMER
REGISTRATION
PRODUCT
Generalization Hierarchy Diagram
Entities with common attributes can be generalized into a higher entity type
(Superset entity).
Subsets entities can be either disjoint (d) or overlapping (o).
23
23
Hierarchy Diagram
24
Customer TrainerCoordinator
PerID
Person
o
Name Phone
Real-EstateHuman-
ResourcesInvestment
ProgID
Program
d
StartDate
EndDate
Disjoint (d) Generalization Overlap (o) Generalization
Object-Oriented (OO) Design
Objects are the basic unit which the organization must keep track of or that participate in a business process.
A system is a set of objects that collaborate and interact with each other.
UML is a widely accepted standard incorporating OO concepts, and provides terminology and diagram
conventions.
25
25
Object-Oriented Design
26
• Properties attached to each object.
Attributes:
• Functions that could change the value of object’s attribute.
Operations :
• Procedure used to carry on the operations.
Methods:26
OO Concepts• Classes:
Categories to which an object belong to and share the same operation, methods, and attributes.
27
Class Name
Attribute 1Attribute 2Attribute 3Operation 1 ()Operation 2 ()Operation 3 ()
Customer
CustomerIDNameAddressSearchProgram()Enroll ()Pay () 27
Class Relationships in UML
Generalization: A relationship between a more general class and a more specific class.
Association: Objects in one class linked to objects in the other class.Multiplicities: 1 to 1 , 1 to * , * to *
28
Real-Estate Human-ResourcesInvestment
Program
Coordinator Program28
Class Relationships in UMLAggregation:
Relationship between a whole and its parts.
Composition: An aggregation relation in which the part belong to only one whole at a time.
29
Trainer Program
ProgramDescripton Program
PurposeTargetAudience 29
Trainer
<pk>TrainerIDNamePlaceOfWorkPhoneFaxEmailNote
Program
<pk>ProgramIDTitleTrainingAreaLocationStartDateEndDateStartTimeEndTimeCostMinAttendeesCoordinatorStatusNote
Customer
<pk>CustomerIDTitleNamePhoneFaxEmailWorkNote
Coordinator
<pk>CoordinatorIDNamePhoneEmailNote
RegistrationForm
<pk>RegFormIDDate<pk>CustomerID<pk>ProgramIDNote
Invoice
<pk>InvoiceIDDateRegistrationFormCostNote
UML Class Diagram (Attributes)
30
1..* 1..*1..*1..1
1..*
1..1
1..1
1..1Association Class
1..11..1
Trainer
AddTrainer()RemoveTrainer()isAvailable(:Boolean)
Program
AddProg ()ConfirmProg ()CancelProg()
Customer
NewCust()SignIn()FindProgram()Enroll(in enrl: Program)SendRegForm()Payment()
Coordinator
ProgStatus ()ConfirmLetter ()CanelLetter ()ContactTrainer()
RegistrationForm
AddProgram()RemoveProgram()AddCustomer()RemoveCustomer()
Invoice
Total (amnt: Dollar)
UML Class Diagram (Operation)
31
1..* 1..*1..*1..1
1..*
1..1
1..1
1..1
1..11..1
SummaryData modeling help identify essential data elements and
understand their role in supporting business processes. Data modeling simplifies communication between system
developers and end users.Data modeling supports the development of information
systems.
32
32
Develop a Data Model for Choosing a Job?
• What are the entities/classes?• What are the attributes? • What are the relationships?
33
33
Develop a Data Model for Choosing a Job?
34
ContactPerson
<pk>CP_IDNamePhoneFaxEmailNote
Job
<pk>JobID<pk>CP_ID<pk>OrgIDTitleSalaryResponsibilitiesRequirementsStartDateLocationNote
Organization
<pk>OrgIDNamePhoneFaxEmailWebsiteTypeNote
1..* 1..11..*1..1
34
The 7 Habits of Highly Effective Data Modelers
(Moody, 1996)
35
Knowledge
SkillMotivation
Habit
Moody, D. (1996) The seven habits of highly effective data modelers. Database Programming & Design, 9, 10, 57-64.
The 7 Habits of Highly Effective Data Modelers (Moody, 1996)
• See for yourself (observation—Method school of data modeling)
• Generate alternatives• Keep it simple (generalization)• Test the model (prototyping/scenario)• Know when to stop• Remember the big picture• Following through
• Contextual Inquiry 36
Object-Orientation
• Objects• An object has attributes and operations
ILS
Z5
56
37
Attributes: Color; Size
Object-Orientation
• Objects• An object has attributes and operations
ILS
Z5
56
38
Operations: Make a call
Object-Orientation
• A class is a category to which an object belongs• E.g., Smartphone is a class for Nexus and iPhone; both
share the same attributes and operations
ILS
Z5
56
39
Object-Orientation• Window is a class
that has:• Attributes of: size,
location, background color, etc. IL
S Z
556
40
Object-Orientation• Window is a class
that has:• Operations of:
open, close, resize, etc.
ILS
Z5
56
41
UML and ER
• UML class diagrams =~ ER diagrams• Classes =~ Entities
Class Name
Attribute 1Attribute 2
Operation 1()Operation 2()
42
Entity Name
Attribute 1
UML and ER
• UML class diagrams =~ ER diagrams• Classes =~ Entities
Class Name
Attribute 1Attribute 2
Operation 1()Operation 2()
Customer
<pk>Customer_id: stringCustomer_name: stringAddress: string
creditRating ()43
Example
UML and ER
• UML class diagrams =~ ER diagrams• Classes =~ Entities
Class Name
Attribute 1Attribute 2
Operation 1()Operation 2()
Customer
<pk>Customer_id: stringCustomer_name: stringAddress: string
creditRating ()44
Example
CreateReadUpdateDelete
UML: Class Diagram
45
Customer Order
Payment
Credit Cash Check
OrderDetail
nameaddress
datestatus
amount
calcTaxcalcTotalcalcTotalWeight
numbertypeexpDate
authorized
cashTendered namebankID
authorized
quantitytaxStatus
calcSubTotalcalcWeight
1 0..*
1
1..*
1..*
1
specialization
association
aggregation
line item
http://edn.embarcadero.com/article/images/31863/classdiagramno3d.gif