SlideShare a Scribd company logo
Introduction to Data Modeling
CS 146
What is a Data Model?
 Definition: precise description of the data content in a
system
 Types of data models:
1. Conceptual: describes WHAT the system contains
2. Logical: describes HOW the system will be implemented,
regardless of the DBMS
3. Physical: describes HOW the system will be implemented
using a specific DBMS
Why do we need to create data models?
 To aid in the development of a sound database design
that does not allow anomalies or inconsistencies
 Goal: to create database tables that do not contain
duplicate data values that can become inconsistent
Types of Data Models
 Entity-Relationship (E-R) Models
 Only addresses data and relationships
 Classic, simplest
 Best for deriving a sound table design
 Many extensions/variations exist
 Basis for most other modeling approaches
 UML (unified modeling language)
 Class models
 Goes beyond data, also models behaviors
Creating an Entity-Relationship Model
1. Identify entities
2. Identify entity attributes and primary keys
3. Specify relationships
Data Entities
 Entity
 A "thing" about which you want to store data in an
application
 Multiple examples (instances) of the entity must exist
 Goal:
 Store data about each entity in a separate table
 Do not store duplicate data in multiple tables or records
 Examples: CUSTOMER, PRODUCT
Data Model Naming Conventions
 Entity names are short, descriptive, compound word
singular nouns
 UWEC_STUDENT, CANDY_PRODUCT,
 Entity names will ultimately correspond to table names
 Why singular?
 Makes more sense when you start talking about relationships
Data Entity Instances
 Entity instance
 A specific occurrence (data value) of an entity
 An entity must have multiple entity instances or it is not
really an entity!
 Examples: Davey Jones, Celestial Cashew Crunch
ER Model Attributes
 Attribute
 A characteristic (data field) of an entity that you want to
store in the database
 Examples: CUST_ID, PROD_DESC
 Attribute value
 The value of a particular attribute for a particular entity
instance
 Examples: 42, "Nuts Not Nachos"
Data Model Naming Conventions
(continued)
 Attribute names are descriptive compound words
that correspond to the entity name
 Attribute names will ultimately correspond to field names
 Every attribute name within the database should be unique
ER Model Notation
 Represent entities as rectangles
 List attributes within the rectangle
Entity
Attributes
Primary key
Attributes Selection Issues
 Primary key
 Atomic
 Composite
 Multi-valued
 Derived
Primary Key Attributes
 Attribute whose value is unique for every entity instance
 Every entity MUST have a PK
 Designate by:
 Placing as first attribute in the entity
 Underline
 Label using "PK"
Selecting Primary Keys
 Must be values that are:
 Unique for every possible record
 Do not change
 Best practice: numeric with no blank spaces or
formatting characters
 Often you need to create a surrogate key
 ID value that serves only to identify the object in
the database
 Exception: objects with "natural" primary keys
 SKU
 ISBN
 VIN
Atomic and Composite Attributes
 Atomic attribute: represents a single data value
 15, “Daniel", 12/25/2009
 Composite attribute: can be decomposed into atomic
attributes
 "James B. Brown"
 "5580 Pinewood Road, Eau Claire, WI 54701"
 Should you ever allow a composite attribute in a database?
Composite Attributes
 Decompose into atomic components for:
 Sorting
 Searching
 Formatting
Student
Student_ID
Student_Name
Student_Address
Student_DOB
Student_Class
Student_First_Name
Student_MI
Student_Last_Name
Student_Address_Line_1
Student_Address_Line_2
Student_City
Student_State
Student_Country
Student_Postal_Code
Multi-Valued Attributes
 Can have multiple values for the same entity
Student
Student_ID (PK)
Student_First_Name
Student_Last_Name
Student_Address
Student_DOB
Student_Class
Student_Phone1
Student_Phone2
Employee
Employee_ID (PK)
Employee_First_Name
Employee_Last_Name
Employee_Address
Employee_DOB
Employee_Dependent1
Employee_Dependent2
Handling Multi-valued Attributes
 If it has a definite maximum number, leave as a repeating
attribute
 If the upper limit is variable, make a new entity
Student
Student_ID
Student_First_Name
Student_Last_Name
Student_Address
Student_DOB
Student_Class
Student_Phone1
Student_Phone2
Employee
Employee_ID
Employee_First_Name
Employee_Last_Name
Employee_Address
Employee_DOB
Employee_Dependent1
Employee_Dependent2
Dependent
Dependent_ID
Dependent_Namehas
Derived Attributes
 Value that can be derived from other attributes
 Student_Age = 22 (DOB = 11/20/1986, current date is
11/13/2009)
 Order_Total = $500 (Item 1 cost = $200, Item 2 cost = $300)
Handling Derived Attributes
 Store the underlying data values from which you can
derive the attribute value …
 Examples:
 DOB => Age
 CurrentPrice and UnitsSold of an item (for a sales order)
 … unless the underlying values can change!
 PRODUCT_PRICE, COURSE_CREDITS
Creating an Entity-Relationship Model
1. Identify entities
2. Identify entity attributes and primary keys
3. Specify relationships
Data Model Relationships
 Specify the number of instances of one entity that can
be associated with instances of a related entity
 Types:
 1:M
 1:1
 M:M
 “M” denotes some value greater than 1 whose upper bound
is undetermined
 This is called relationship cardinality
Example 1:M Relationship
Video_ID Video_Title Video_Format
1000 The Princess Bride DVD
1001 Sideways Bluray
1002 Just Visiting DVD
1003 Crash Bluray
Store_ID Store_Name Store_Address
1 Northside 3233 Wisconsin St.
2 Southside 4211 Golf Road
Store
Store_ID
Store_Name
Store_Address
Video
Video_ID
Video_Title
Video_Format
Rents
Example 1:1 Relationship
Spouse_ID Spouse_Name
52 Ryan, Judy
53 Redmann, Rudy
Customer_
ID
Customer_
Name
Customer_Address
1 Ryan, Paul 5454 Hyde Court
2 Myers, Mary 112 Birch Place
Customer
Customer_ID
Customer_Name
Customer_Address
Spouse
Spouse_ID
Spouse_Name
Has
Example M:M Relationship
Customer
Customer_ID
Customer_Name
Customer_Address
Video
Video_ID
Video_Title
Rents
Example ER Model
Summary: The Data Modeling
Process
 Define entities
 Define attributes
 Define relationships
 Identify relationship cardinality (1:1, 1:M, M:M)

More Related Content

PPT
Introductin to Data Modeling.
PPTX
Relational Model
PPTX
Object oriented data model
PPTX
PDF
PDF
Entity-Relationship Data Model in DBMS
PPTX
Introduction of Database Design and Development
PPT
Module 5 oodb systems semantic db systems
Introductin to Data Modeling.
Relational Model
Object oriented data model
Entity-Relationship Data Model in DBMS
Introduction of Database Design and Development
Module 5 oodb systems semantic db systems

What's hot (20)

DOCX
Bt0066 dbms
PPT
Introduction to odbms
PPTX
Object oriented database model
PPTX
Object oriented database concepts
DOCX
Object relationship mapping and hibernate
PPTX
Islamic University Previous Year Question Solution 2019 (ADBMS)
PPTX
ER Modeling and Introduction to RDBMS
PDF
Chapt 1 odbms
PPTX
Encapsulation of operations, methods & persistence
PPTX
Object oriented database
DOCX
COMPUTERS Database
PPTX
Object database standards, languages and design
PPTX
Database Design and Normalization Techniques
PPTX
PPT
Oodbms ch 20
DOCX
ICS Part 2 Computer Science Short Notes
PPTX
Relational Data Model Introduction
PPT
Entity relationship diagram for dummies
PPTX
Chapter 7 relation database language
PPT
Lecture 07 relational database management system
Bt0066 dbms
Introduction to odbms
Object oriented database model
Object oriented database concepts
Object relationship mapping and hibernate
Islamic University Previous Year Question Solution 2019 (ADBMS)
ER Modeling and Introduction to RDBMS
Chapt 1 odbms
Encapsulation of operations, methods & persistence
Object oriented database
COMPUTERS Database
Object database standards, languages and design
Database Design and Normalization Techniques
Oodbms ch 20
ICS Part 2 Computer Science Short Notes
Relational Data Model Introduction
Entity relationship diagram for dummies
Chapter 7 relation database language
Lecture 07 relational database management system
Ad

Viewers also liked (6)

PPT
1 Blue Card Estrategia
PDF
La noticia de hoy 13 febrero - 2014
PDF
Karina Martinez Olguin Red PAN
PPTX
Ppt la didáctica pedagógica
DOCX
El compuntador
PDF
Tarjeta halloween.
1 Blue Card Estrategia
La noticia de hoy 13 febrero - 2014
Karina Martinez Olguin Red PAN
Ppt la didáctica pedagógica
El compuntador
Tarjeta halloween.
Ad

Similar to Data modelingpresentation (20)

PPT
Free video lectures for mca
PDF
Unit 2-Data Modeling.pdf
PDF
3. Chapter Three.pdf
PPTX
dbms ppt parul university dbms course for
PPTX
Entity-Relationship Model.pptx data modeling
PPTX
Database design
PPT
ERD_01.ppt
PPT
ERD_01.ppt
PPT
ERD merupakan suatu diagram yang berisi komponen- komponen himpunan entitas ...
PPT
Entity Relationships using Unified Modelling.ppt
PPTX
DBMS_Data Model,Keys,Attributes,Relationship.pptx
PPT
ERD_01B=DBMS DATA BASE MANAGEMENT SYSTEM.ppt
PDF
Sq lite module3
PPTX
Database week 5 lecture includes spexiafix
PPTX
DATA MODEL PRESENTATION UNIT I-BCA I.pptx
PPTX
E r model
PPT
Lecture-13-ER Modeling using web architecture
PPTX
Data Modeling PPT
PPTX
Database management systems 3 - Data Modelling
PDF
Advance database system(part 4)
Free video lectures for mca
Unit 2-Data Modeling.pdf
3. Chapter Three.pdf
dbms ppt parul university dbms course for
Entity-Relationship Model.pptx data modeling
Database design
ERD_01.ppt
ERD_01.ppt
ERD merupakan suatu diagram yang berisi komponen- komponen himpunan entitas ...
Entity Relationships using Unified Modelling.ppt
DBMS_Data Model,Keys,Attributes,Relationship.pptx
ERD_01B=DBMS DATA BASE MANAGEMENT SYSTEM.ppt
Sq lite module3
Database week 5 lecture includes spexiafix
DATA MODEL PRESENTATION UNIT I-BCA I.pptx
E r model
Lecture-13-ER Modeling using web architecture
Data Modeling PPT
Database management systems 3 - Data Modelling
Advance database system(part 4)

Recently uploaded (20)

PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PDF
01-Introduction-to-Information-Management.pdf
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
Presentation on HIE in infants and its manifestations
PPTX
Cell Types and Its function , kingdom of life
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
Institutional Correction lecture only . . .
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
STATICS OF THE RIGID BODIES Hibbelers.pdf
202450812 BayCHI UCSC-SV 20250812 v17.pptx
O5-L3 Freight Transport Ops (International) V1.pdf
O7-L3 Supply Chain Operations - ICLT Program
Microbial diseases, their pathogenesis and prophylaxis
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Final Presentation General Medicine 03-08-2024.pptx
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
human mycosis Human fungal infections are called human mycosis..pptx
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
01-Introduction-to-Information-Management.pdf
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Presentation on HIE in infants and its manifestations
Cell Types and Its function , kingdom of life
VCE English Exam - Section C Student Revision Booklet
Institutional Correction lecture only . . .
Chinmaya Tiranga quiz Grand Finale.pdf

Data modelingpresentation

  • 1. Introduction to Data Modeling CS 146
  • 2. What is a Data Model?  Definition: precise description of the data content in a system  Types of data models: 1. Conceptual: describes WHAT the system contains 2. Logical: describes HOW the system will be implemented, regardless of the DBMS 3. Physical: describes HOW the system will be implemented using a specific DBMS
  • 3. Why do we need to create data models?  To aid in the development of a sound database design that does not allow anomalies or inconsistencies  Goal: to create database tables that do not contain duplicate data values that can become inconsistent
  • 4. Types of Data Models  Entity-Relationship (E-R) Models  Only addresses data and relationships  Classic, simplest  Best for deriving a sound table design  Many extensions/variations exist  Basis for most other modeling approaches  UML (unified modeling language)  Class models  Goes beyond data, also models behaviors
  • 5. Creating an Entity-Relationship Model 1. Identify entities 2. Identify entity attributes and primary keys 3. Specify relationships
  • 6. Data Entities  Entity  A "thing" about which you want to store data in an application  Multiple examples (instances) of the entity must exist  Goal:  Store data about each entity in a separate table  Do not store duplicate data in multiple tables or records  Examples: CUSTOMER, PRODUCT
  • 7. Data Model Naming Conventions  Entity names are short, descriptive, compound word singular nouns  UWEC_STUDENT, CANDY_PRODUCT,  Entity names will ultimately correspond to table names  Why singular?  Makes more sense when you start talking about relationships
  • 8. Data Entity Instances  Entity instance  A specific occurrence (data value) of an entity  An entity must have multiple entity instances or it is not really an entity!  Examples: Davey Jones, Celestial Cashew Crunch
  • 9. ER Model Attributes  Attribute  A characteristic (data field) of an entity that you want to store in the database  Examples: CUST_ID, PROD_DESC  Attribute value  The value of a particular attribute for a particular entity instance  Examples: 42, "Nuts Not Nachos"
  • 10. Data Model Naming Conventions (continued)  Attribute names are descriptive compound words that correspond to the entity name  Attribute names will ultimately correspond to field names  Every attribute name within the database should be unique
  • 11. ER Model Notation  Represent entities as rectangles  List attributes within the rectangle Entity Attributes Primary key
  • 12. Attributes Selection Issues  Primary key  Atomic  Composite  Multi-valued  Derived
  • 13. Primary Key Attributes  Attribute whose value is unique for every entity instance  Every entity MUST have a PK  Designate by:  Placing as first attribute in the entity  Underline  Label using "PK"
  • 14. Selecting Primary Keys  Must be values that are:  Unique for every possible record  Do not change  Best practice: numeric with no blank spaces or formatting characters  Often you need to create a surrogate key  ID value that serves only to identify the object in the database  Exception: objects with "natural" primary keys  SKU  ISBN  VIN
  • 15. Atomic and Composite Attributes  Atomic attribute: represents a single data value  15, “Daniel", 12/25/2009  Composite attribute: can be decomposed into atomic attributes  "James B. Brown"  "5580 Pinewood Road, Eau Claire, WI 54701"  Should you ever allow a composite attribute in a database?
  • 16. Composite Attributes  Decompose into atomic components for:  Sorting  Searching  Formatting Student Student_ID Student_Name Student_Address Student_DOB Student_Class Student_First_Name Student_MI Student_Last_Name Student_Address_Line_1 Student_Address_Line_2 Student_City Student_State Student_Country Student_Postal_Code
  • 17. Multi-Valued Attributes  Can have multiple values for the same entity Student Student_ID (PK) Student_First_Name Student_Last_Name Student_Address Student_DOB Student_Class Student_Phone1 Student_Phone2 Employee Employee_ID (PK) Employee_First_Name Employee_Last_Name Employee_Address Employee_DOB Employee_Dependent1 Employee_Dependent2
  • 18. Handling Multi-valued Attributes  If it has a definite maximum number, leave as a repeating attribute  If the upper limit is variable, make a new entity Student Student_ID Student_First_Name Student_Last_Name Student_Address Student_DOB Student_Class Student_Phone1 Student_Phone2 Employee Employee_ID Employee_First_Name Employee_Last_Name Employee_Address Employee_DOB Employee_Dependent1 Employee_Dependent2 Dependent Dependent_ID Dependent_Namehas
  • 19. Derived Attributes  Value that can be derived from other attributes  Student_Age = 22 (DOB = 11/20/1986, current date is 11/13/2009)  Order_Total = $500 (Item 1 cost = $200, Item 2 cost = $300)
  • 20. Handling Derived Attributes  Store the underlying data values from which you can derive the attribute value …  Examples:  DOB => Age  CurrentPrice and UnitsSold of an item (for a sales order)  … unless the underlying values can change!  PRODUCT_PRICE, COURSE_CREDITS
  • 21. Creating an Entity-Relationship Model 1. Identify entities 2. Identify entity attributes and primary keys 3. Specify relationships
  • 22. Data Model Relationships  Specify the number of instances of one entity that can be associated with instances of a related entity  Types:  1:M  1:1  M:M  “M” denotes some value greater than 1 whose upper bound is undetermined  This is called relationship cardinality
  • 23. Example 1:M Relationship Video_ID Video_Title Video_Format 1000 The Princess Bride DVD 1001 Sideways Bluray 1002 Just Visiting DVD 1003 Crash Bluray Store_ID Store_Name Store_Address 1 Northside 3233 Wisconsin St. 2 Southside 4211 Golf Road Store Store_ID Store_Name Store_Address Video Video_ID Video_Title Video_Format Rents
  • 24. Example 1:1 Relationship Spouse_ID Spouse_Name 52 Ryan, Judy 53 Redmann, Rudy Customer_ ID Customer_ Name Customer_Address 1 Ryan, Paul 5454 Hyde Court 2 Myers, Mary 112 Birch Place Customer Customer_ID Customer_Name Customer_Address Spouse Spouse_ID Spouse_Name Has
  • 27. Summary: The Data Modeling Process  Define entities  Define attributes  Define relationships  Identify relationship cardinality (1:1, 1:M, M:M)