Transcript
Improve Your Data Modeling Skills
Data professionals should know that improving their data modeling skills
increases productivity and efficiency. Certifications can demonstrate these
skills, which also improves your marketability.
Motivation
o Essential data modeling skills:
-
basic understanding of how to create and read data models
-
fundamental data design techniques
Data Modeling
o process of analyzing data-oriented structures
o includes variety of specific model types
-
types range from models for physical data to models for high-level
concepts
o similar to class modeling for object-oriented (OO) design -
data modelers versus OO developers:
. model entity types versus classes
. assign attributes to entity types versus attributes and
operations to classes
. associations between entities versus between classes in OO
design: similar
Entity types
o understanding entity types is fundamental skill for data models
o entity types represent:
-
collection of similar objects (such as people, places, and things)
-
non-physical concepts (such as events)
-
example: in order entry database: Customer, Order, and Item are
common entity types
o entity types only represent data whereas classes also describe
object’s behavior
Attributes
o entity types have at least one attribute
o example: attributes for entity type Customer typically include attributes
First Name and Last Name
o developers typically implement attributes as columns in database tables
-
achieving optimum level of detail is often challenging
o expressing single attributes with multiple columns: -
can provide greater control over data
-
incurs development and maintenance costs
o example: phone number in North America -
has three components: Area Code, Prefix, and Line Number
-
rarely need to assign each component to separate columns
Naming Conventions
o naming conventions for data modeling:
-
typically maintained by enterprise administrators
-
essential for making code easy to understand and modify
-
physical and logical data models typically have different naming
conventions since they have different purposes
o example: -
for logical data models: give greater priority to human readability
-
for physical models: focus more on technical considerations
Relationships
o relationships between entities:
-
key requirement for developing data modeling skills
-
conceptually identical to associations between objects in OO
programming -
example: order entry system:
. Customers place Orders, so placement is typical relationship
between customers and orders
. Customers live at Address, and Zip Code is part of Address
o naming relationships often becomes unnecessary when specifying
entities’ role in relationships with sufficient clarity
Key Assignment
o data modeling uses two basic strategies to assign keys to tables:
-
assigning natural key:
. usually best option when table has at least one attribute that is
unique to table’s business concept -
create surrogate key:
. data modelers need to add new column for tables without such
attribute
~ no business meaning
~ merely serves to identify entity type
. example:
~ addresses do not have obvious natural key because needs entire
address to identify it
~ data modelers often identify addresses with surrogate key called
something like Address Identifier
Normalization
o process of organizing data within data models
o make entity types of data models more cohesive
o generally involves reducing data redundancy
-
highly beneficial for application development
-
storing objects in relational databases becomes much easier when
information about those objects is maintained in only one place
o first three levels of normalization are most common
o higher levels are possible
o progressive hierarchy: next level meets all requirements of
previous level
o example: -
entity type in first normal form (1NF):
. does not contain repeating data groups -
entity type in second normal form (2NF)
. in 1NF
. its non-key attributes fully dependent on its primary key -
entity type is in third normal form (3NF):
. in 2NF
. its attributes directly dependent on primary key
o incurs performance cost -
denormalization also important skill for data modelers
-
data models often bear little resemblance to their normalized
schema
In addition to proper training, the key to improving data modeling skills
is practice.
For more information, please refer to Whitepaper : Improve Your Data Modeling Skills.
See Also:
- Whitepaper: Agile Data Modeling: Not an Option, but Essential
- Whitepaper: Enterprise Data Modeling for Business Intelligence Applications
- Whitepaper: Improve Your Data Modeling Skills
- Whitepaper: Is your Data Modeling Workflow Agile or Fragile?
- Whitepaper: Mastering Data Modeling for Master Data Domains
- Whitepaper: Model Behavior: An Introduction to Data Models
- Whitepaper: The ROI of Data Modeling
- Webcast: A Perfect Ten: The Data Model
- Webcast: A Photographer and a Data Modeler Walk Into a Bar…
- Webcast: Agile Data Management vs. Agile Data Modeling
- Webcast: Becoming a Better Data Modeler: Part 1 (Data Modeling Certification)
- Webcast: Becoming a Better Data Modeler: Part 2 (Faulty Design Patterns)
- Webcast: Data Modeling and Blockchain
- Webcast: The Importance of Data Model Change Management
- Webcast: You’ve Just Inherited a Data Model – Now What?
- Webcast: Principles of Data Modeling
- Webcast: Put Together the Pieces of your Data Model Puzzle
- Webcast: SQL Server Data Modeling Best Practices
- Infographic: Data Modeling and Collaboration with ER/Studio
Topics : Data Governance,Data Modeling,
Products : ER/Studio Data Architect,ER/Studio Enterprise Team Edition,
Infographic : ER/Studio Data Architect
Improve Your Data Modeling Skills
Data professionals should know that improving their data modeling skills increases productivity
and efficiency. Certifications can demonstrate these skills, which also improves your
marketability. Learning the skills discussed here will help achieve the success you want by
allowing you to become a sought-after data modeler. Data modeling skills include a basic
understanding of how to create and read such a model. Fundamental data design techniques are
also essential skills for data modelers.
ER/Studio Data Architect enables you to efficiently catalog your current data assets and sources across different platforms and track end-to-end data lineage. Simplify your data architecture with a common language leveraging consistent naming standards and data definitions. Easily specify the sensitive data objects that need heightened protection, to withstand audit scrutiny.