SlideShare a Scribd company logo
Data Modeling
March-2005 Data Modeling | 2.15.02
Objectives
• The participants will be able to :
– Explain Data Modeling
– Know uses of Data Modeling
– Describe the Basic Components of a Data Model
– Know Data Modeler/ABAP Dictionary
Terminology
– Know about Optionality and Cardinality
– Use SAP Graphic Notation and SAP Text Notation
– Explain Data Model Hierarchies and the SAP EDM
– Link a data model to dictionary objects
March-2005 Data Modeling | 2.15.02 2
What is Data Modeling?
March-2005 Data Modeling | 2.15.02 3
Data Dictionary
Real World
DataData
DictionaryDictionary
Data Model
Uses of a Data Model
March-2005 Data Modeling | 2.15.02 4
Basic Components of a Data Model
March-2005 Data Modeling | 2.15.02 5
EntityEntity
Customer
AttributeAttribute
30 S. 17th St.
Entity TypeEntity Type
Order
Entity
March-2005 Data Modeling | 2.15.02 6
Customer
Order
Product
Attribute
March-2005 Data Modeling | 2.15.02 7
J. ElkinsJ. Elkins
Customer
30 S. 17th St.30 S. 17th St.30 S. 17th St.30 S. 17th St.
215-555-8000215-555-8000215-555-8000215-555-8000
Entity Type
March-2005 Data Modeling | 2.15.02 8
Order
Customer
Product
Data Modeler / ABAP Dictionary
Terminology
Data Modeler ABAP
Dictionary
Customer: entity record
Customer address: attribute
field
Customers: entity type table
March-2005 Data Modeling | 2.15.02 9
Relationships between Entities
March-2005 Data Modeling | 2.15.02 10
Customer
Order
Cardinality
March-2005 Data Modeling | 2.15.02 11
One - to - Many
Many - to - Many
One - to - One
Many-to-Many Relationships
March-2005 Data Modeling | 2.15.02 12
Order
Order Lines
1 1 A26
Order # Qty Part #
1 3 C589
2 1 A26
Primary Key: Order Number
Primary Key: Product Number
Primary Keys: Order Number
Product Number
Optionality
March-2005 Data Modeling | 2.15.02 13
?
Customer Order
?Customer
Referenced and Dependent Entity
Types
March-2005 Data Modeling | 2.15.02 14
Dependent Entity Type
Referenced Entity Type
Customer ID Name Address . . .
Order ID Date of Order Customer ID . . .
Customer
Order
Referenced
Dependent
SAP Graphic Notation
March-2005 Data Modeling | 2.15.02 15
Example Using Graphic Notation
March-2005 Data Modeling | 2.15.02 16
Customers Orders
Practice Using Graphic Notation I
March-2005 Data Modeling | 2.15.02 17
Professors
Students
Practice Using Graphic Notation II
March-2005 Data Modeling | 2.15.02 18
Professors
Students
Practice Using Graphic Notation III
March-2005 Data Modeling | 2.15.02 19
Students
Enrolment
Records
Courses
SAP Graphic Notation with Text
Notation
March-2005 Data Modeling | 2.15.02 20
1
C
N
CN
SAP Text Notation
March-2005 Data Modeling | 2.15.02 21
1
C
N
CN
1
C
N
CN
1
C
1
C
nn :: mmnn :: mm
Example Using Text Notation
March-2005 Data Modeling | 2.15.02 22
Customers Orders
1 CN:
Practice Using Text Notation I
March-2005 Data Modeling | 2.15.02 23
Students
Professors
:
Practice Using Text Notation II
March-2005 Data Modeling | 2.15.02 24
Students
Professors
:
Practice Using Text Notation III
March-2005 Data Modeling | 2.15.02 25
Students
Enrolment
Records
Courses
:
Category
March-2005 Data Modeling | 2.15.02 26
Referential
Hierarchical
Aggregating
?
Conditional-Referential
Specialisation
Relationship Category:
Hierarchical
March-2005 Data Modeling | 2.15.02 27
Department
Key:
Department Number
Course
Key:
Department Number
Course Number
Relationship Category:
Aggregating
March-2005 Data Modeling | 2.15.02 28
Student
Key:
Student ID Number Enrollment Record
Key:
Student ID Number
Course NumberCourse
Key:
Course Number
Relationship Category: Referential
March-2005 Data Modeling | 2.15.02 29
Department
Key:
Department Number
Professor
Key:
Professor Number
Relationship Category: Conditional-
Referential
March-2005 Data Modeling | 2.15.02 30
Department
Key:
Department Number
Professor
Key:
Professor Number
Relationship Category:
Specialization
March-2005 Data Modeling | 2.15.02 31
Business Customer
Key:
ID Number
Customer
Key:
ID Number
Data Model Hierarchies and the
SAP EDM
March-2005 Data Modeling | 2.15.02 32
General
Accounting
Chart of
Accounts
Currency
FI
. . .
.
.
.
.
.
.
Linking a Data Model to ABAP
Dictionary Objects
March-2005 Data Modeling | 2.15.02 33
DataData
DictionaryDictionary
Data Model
Summary
•A data model is a graphical representation of
the information that is to be stored and
processed by a system.
•SAP comes with its own data model, called the
Enterprise Data Model (EDM), that describes
the data design of the SAP system.
•The basic components of a data model are
Entities, Attributes & Entity types.
•The cardinality of a relationship describes the
number of entities of one type that relate toMarch-2005 Data Modeling | 2.15.02 34
Questions
•What is a data model ?
•What is SAP's data model called ?
•What are the basic components of a data
model ?
March-2005 Data Modeling | 2.15.02 35

More Related Content

What's hot

ABAP Material 04
ABAP Material 04ABAP Material 04
ABAP Material 04
warcraft_c
 
Chapter 01 overview of abap dictionary1
Chapter 01 overview of abap dictionary1Chapter 01 overview of abap dictionary1
Chapter 01 overview of abap dictionary1
Kranthi Kumar
 
Chapter 06 abap repository information system1
Chapter 06 abap  repository information system1Chapter 06 abap  repository information system1
Chapter 06 abap repository information system1
Kranthi Kumar
 
Chapter 07 abap dictionary changes1
Chapter 07 abap dictionary changes1Chapter 07 abap dictionary changes1
Chapter 07 abap dictionary changes1
Kranthi Kumar
 
table maintenance generator1
 table maintenance generator1 table maintenance generator1
table maintenance generator1
Kranthi Kumar
 
Mr Funny's Toy Store Database Assessment
Mr Funny's Toy Store Database AssessmentMr Funny's Toy Store Database Assessment
Mr Funny's Toy Store Database Assessment
Lynette Trombas
 
Chapter 08 abap dictionary objects views1
Chapter 08 abap dictionary objects views1Chapter 08 abap dictionary objects views1
Chapter 08 abap dictionary objects views1
Kranthi Kumar
 
MS Bi Portfolio Gregory Lee
MS Bi Portfolio Gregory LeeMS Bi Portfolio Gregory Lee
MS Bi Portfolio Gregory Lee
keeperx99
 
ASP.NET MVC4 Tutorial
ASP.NET MVC4 TutorialASP.NET MVC4 Tutorial
ASP.NET MVC4 Tutorial
jenglung
 
CSAII - 6.01 Research Report - Pietras
CSAII - 6.01 Research Report - PietrasCSAII - 6.01 Research Report - Pietras
CSAII - 6.01 Research Report - Pietras
pietr1cr
 
ETL Microsoft Material
ETL Microsoft MaterialETL Microsoft Material
ETL Microsoft Material
Ahmed Hashem
 
Word to student doc
Word to student docWord to student doc
Ssis sql ssrs_sp_ssas_mdx_hb_li
Ssis sql ssrs_sp_ssas_mdx_hb_liSsis sql ssrs_sp_ssas_mdx_hb_li
Ssis sql ssrs_sp_ssas_mdx_hb_li
Hong-Bing Li
 
Rodney Matejek Portfolio
Rodney Matejek PortfolioRodney Matejek Portfolio
Rodney Matejek Portfolio
rmatejek
 
Reports Dashboards SQL Demo
Reports Dashboards SQL DemoReports Dashboards SQL Demo
Reports Dashboards SQL Demo
Hong-Bing Li
 
Queries in SAP: Introduction
Queries in SAP: IntroductionQueries in SAP: Introduction
Queries in SAP: Introduction
Jonathan Eemans
 
Pentaho: Reporting Solution Development
Pentaho: Reporting Solution DevelopmentPentaho: Reporting Solution Development
Pentaho: Reporting Solution Development
pentaho Content
 

What's hot (17)

ABAP Material 04
ABAP Material 04ABAP Material 04
ABAP Material 04
 
Chapter 01 overview of abap dictionary1
Chapter 01 overview of abap dictionary1Chapter 01 overview of abap dictionary1
Chapter 01 overview of abap dictionary1
 
Chapter 06 abap repository information system1
Chapter 06 abap  repository information system1Chapter 06 abap  repository information system1
Chapter 06 abap repository information system1
 
Chapter 07 abap dictionary changes1
Chapter 07 abap dictionary changes1Chapter 07 abap dictionary changes1
Chapter 07 abap dictionary changes1
 
table maintenance generator1
 table maintenance generator1 table maintenance generator1
table maintenance generator1
 
Mr Funny's Toy Store Database Assessment
Mr Funny's Toy Store Database AssessmentMr Funny's Toy Store Database Assessment
Mr Funny's Toy Store Database Assessment
 
Chapter 08 abap dictionary objects views1
Chapter 08 abap dictionary objects views1Chapter 08 abap dictionary objects views1
Chapter 08 abap dictionary objects views1
 
MS Bi Portfolio Gregory Lee
MS Bi Portfolio Gregory LeeMS Bi Portfolio Gregory Lee
MS Bi Portfolio Gregory Lee
 
ASP.NET MVC4 Tutorial
ASP.NET MVC4 TutorialASP.NET MVC4 Tutorial
ASP.NET MVC4 Tutorial
 
CSAII - 6.01 Research Report - Pietras
CSAII - 6.01 Research Report - PietrasCSAII - 6.01 Research Report - Pietras
CSAII - 6.01 Research Report - Pietras
 
ETL Microsoft Material
ETL Microsoft MaterialETL Microsoft Material
ETL Microsoft Material
 
Word to student doc
Word to student docWord to student doc
Word to student doc
 
Ssis sql ssrs_sp_ssas_mdx_hb_li
Ssis sql ssrs_sp_ssas_mdx_hb_liSsis sql ssrs_sp_ssas_mdx_hb_li
Ssis sql ssrs_sp_ssas_mdx_hb_li
 
Rodney Matejek Portfolio
Rodney Matejek PortfolioRodney Matejek Portfolio
Rodney Matejek Portfolio
 
Reports Dashboards SQL Demo
Reports Dashboards SQL DemoReports Dashboards SQL Demo
Reports Dashboards SQL Demo
 
Queries in SAP: Introduction
Queries in SAP: IntroductionQueries in SAP: Introduction
Queries in SAP: Introduction
 
Pentaho: Reporting Solution Development
Pentaho: Reporting Solution DevelopmentPentaho: Reporting Solution Development
Pentaho: Reporting Solution Development
 

Viewers also liked

0104 abap dictionary
0104 abap dictionary0104 abap dictionary
0104 abap dictionary
vkyecc1
 
05 internal tables
05 internal tables05 internal tables
05 internal tables
Brahmaiah Punati
 
Ale Idoc
Ale IdocAle Idoc
Ale Idoc
Amit Khari
 
Lecture02 abap on line
Lecture02 abap on lineLecture02 abap on line
Lecture02 abap on line
Milind Patil
 
cardinality1
cardinality1cardinality1
cardinality1
Kranthi Kumar
 
0106 debugging
0106 debugging0106 debugging
0106 debugging
vkyecc1
 
Sujith ~ cross applications
Sujith ~ cross applicationsSujith ~ cross applications
Sujith ~ cross applications
Kranthi Kumar
 
Bapi jco[1]
Bapi jco[1]Bapi jco[1]
Bapi jco[1]
mateenjambagi
 
Abap function module help
Abap function module helpAbap function module help
Abap function module help
Kranthi Kumar
 
Abap course chapter 3 basic concepts
Abap course   chapter 3 basic conceptsAbap course   chapter 3 basic concepts
Abap course chapter 3 basic concepts
Milind Patil
 
control techniques
control techniquescontrol techniques
control techniques
Kranthi Kumar
 
abap list viewer (alv)
abap list viewer (alv)abap list viewer (alv)
abap list viewer (alv)
Kranthi Kumar
 
Step by-step creation of a bapi in detailed steps with scr…
Step by-step creation of a bapi in detailed steps with scr…Step by-step creation of a bapi in detailed steps with scr…
Step by-step creation of a bapi in detailed steps with scr…
sapsarath612
 
Dialog Programming Overview
Dialog Programming OverviewDialog Programming Overview
Dialog Programming Overview
sapdocs. info
 
Ale edi i_doc.sapdb.info
Ale edi i_doc.sapdb.infoAle edi i_doc.sapdb.info
Ale edi i_doc.sapdb.info
Ivs Naresh
 
Workflow Part1 1
Workflow Part1 1Workflow Part1 1
Workflow Part1 1
evil66_in
 
Module pool programming
Module pool programmingModule pool programming
Module pool programming
Subhojit- Opekkhay
 

Viewers also liked (17)

0104 abap dictionary
0104 abap dictionary0104 abap dictionary
0104 abap dictionary
 
05 internal tables
05 internal tables05 internal tables
05 internal tables
 
Ale Idoc
Ale IdocAle Idoc
Ale Idoc
 
Lecture02 abap on line
Lecture02 abap on lineLecture02 abap on line
Lecture02 abap on line
 
cardinality1
cardinality1cardinality1
cardinality1
 
0106 debugging
0106 debugging0106 debugging
0106 debugging
 
Sujith ~ cross applications
Sujith ~ cross applicationsSujith ~ cross applications
Sujith ~ cross applications
 
Bapi jco[1]
Bapi jco[1]Bapi jco[1]
Bapi jco[1]
 
Abap function module help
Abap function module helpAbap function module help
Abap function module help
 
Abap course chapter 3 basic concepts
Abap course   chapter 3 basic conceptsAbap course   chapter 3 basic concepts
Abap course chapter 3 basic concepts
 
control techniques
control techniquescontrol techniques
control techniques
 
abap list viewer (alv)
abap list viewer (alv)abap list viewer (alv)
abap list viewer (alv)
 
Step by-step creation of a bapi in detailed steps with scr…
Step by-step creation of a bapi in detailed steps with scr…Step by-step creation of a bapi in detailed steps with scr…
Step by-step creation of a bapi in detailed steps with scr…
 
Dialog Programming Overview
Dialog Programming OverviewDialog Programming Overview
Dialog Programming Overview
 
Ale edi i_doc.sapdb.info
Ale edi i_doc.sapdb.infoAle edi i_doc.sapdb.info
Ale edi i_doc.sapdb.info
 
Workflow Part1 1
Workflow Part1 1Workflow Part1 1
Workflow Part1 1
 
Module pool programming
Module pool programmingModule pool programming
Module pool programming
 

Similar to data modelling1

Metrics-Based Process Mapping: An Excel-Based Solution
Metrics-Based Process Mapping: An Excel-Based SolutionMetrics-Based Process Mapping: An Excel-Based Solution
Metrics-Based Process Mapping: An Excel-Based Solution
TKMG, Inc.
 
Digital apprenticeships community event
Digital apprenticeships community eventDigital apprenticeships community event
Digital apprenticeships community event
James Clay
 
Sapbpc nw 10.0 transactional data load guide v1
Sapbpc nw 10.0 transactional data load guide v1Sapbpc nw 10.0 transactional data load guide v1
Sapbpc nw 10.0 transactional data load guide v1
Satya
 
External Academic Audit (2012-2013)-R.D.Sivakumar
External Academic Audit (2012-2013)-R.D.SivakumarExternal Academic Audit (2012-2013)-R.D.Sivakumar
External Academic Audit (2012-2013)-R.D.Sivakumar
Sivakumar R D .
 
Advanced Excel 2013 2016 Tips and Tricks by Spark Training
Advanced Excel 2013 2016 Tips and Tricks by Spark TrainingAdvanced Excel 2013 2016 Tips and Tricks by Spark Training
Advanced Excel 2013 2016 Tips and Tricks by Spark Training
Ahmed Yasir Khan
 
Implementing BIM for Owners
Implementing BIM for OwnersImplementing BIM for Owners
Implementing BIM for Owners
DLT Solutions
 
Working with COUNTER Release 5 reports in JUSP - 30 April 2019
Working with COUNTER Release 5 reports in JUSP - 30 April 2019Working with COUNTER Release 5 reports in JUSP - 30 April 2019
Working with COUNTER Release 5 reports in JUSP - 30 April 2019
JUSPSTATS
 
BITA Introduction Slides.pdf
BITA Introduction Slides.pdfBITA Introduction Slides.pdf
BITA Introduction Slides.pdf
Mark Kor
 
Work progress GIS.pptx
Work progress GIS.pptxWork progress GIS.pptx
Work progress GIS.pptx
swatitiwari9616
 
Local Waste Service Standards Front End Integration Workshop
Local Waste Service Standards Front End Integration WorkshopLocal Waste Service Standards Front End Integration Workshop
Local Waste Service Standards Front End Integration Workshop
Department for Communities and Local Government Local Digital Campaign
 
BITA Introduction Slides
BITA Introduction SlidesBITA Introduction Slides
BITA Introduction Slides
Mark Kor
 
19 11-13 MS Ignite The Tour Paris - Surfing Microsoft 365 waves
19 11-13 MS Ignite The Tour Paris -  Surfing Microsoft 365 waves19 11-13 MS Ignite The Tour Paris -  Surfing Microsoft 365 waves
19 11-13 MS Ignite The Tour Paris - Surfing Microsoft 365 waves
Patrick Guimonet
 
Enhanced Unifier Reporting with BI Publisher: On Prem and Cloud
Enhanced Unifier Reporting with BI Publisher: On Prem and CloudEnhanced Unifier Reporting with BI Publisher: On Prem and Cloud
Enhanced Unifier Reporting with BI Publisher: On Prem and Cloud
p6academy
 
Primavera unifier reporting with bipublisher on premandcloud
Primavera unifier reporting with bipublisher on premandcloudPrimavera unifier reporting with bipublisher on premandcloud
Primavera unifier reporting with bipublisher on premandcloud
Campin Chou
 
ML, Statistics, and Spark with Databricks for Maximizing Revenue in a Delayed...
ML, Statistics, and Spark with Databricks for Maximizing Revenue in a Delayed...ML, Statistics, and Spark with Databricks for Maximizing Revenue in a Delayed...
ML, Statistics, and Spark with Databricks for Maximizing Revenue in a Delayed...
Databricks
 
Advanced excel brochure
Advanced excel   brochureAdvanced excel   brochure
Advanced excel brochure
Zabeel Institute
 
Eng Cal Reduced2
Eng Cal Reduced2Eng Cal Reduced2
Eng Cal Reduced2
rtmote
 
Jessica Cinquanta Resume
Jessica Cinquanta ResumeJessica Cinquanta Resume
Jessica Cinquanta Resume
Jessica Cinquanta
 
UNIT 2.pptx BI
UNIT 2.pptx BIUNIT 2.pptx BI
UNIT 2.pptx BI
vobine5379
 
BITA Induction Slides oct 2021
BITA Induction Slides oct 2021BITA Induction Slides oct 2021
BITA Induction Slides oct 2021
Mark Kor
 

Similar to data modelling1 (20)

Metrics-Based Process Mapping: An Excel-Based Solution
Metrics-Based Process Mapping: An Excel-Based SolutionMetrics-Based Process Mapping: An Excel-Based Solution
Metrics-Based Process Mapping: An Excel-Based Solution
 
Digital apprenticeships community event
Digital apprenticeships community eventDigital apprenticeships community event
Digital apprenticeships community event
 
Sapbpc nw 10.0 transactional data load guide v1
Sapbpc nw 10.0 transactional data load guide v1Sapbpc nw 10.0 transactional data load guide v1
Sapbpc nw 10.0 transactional data load guide v1
 
External Academic Audit (2012-2013)-R.D.Sivakumar
External Academic Audit (2012-2013)-R.D.SivakumarExternal Academic Audit (2012-2013)-R.D.Sivakumar
External Academic Audit (2012-2013)-R.D.Sivakumar
 
Advanced Excel 2013 2016 Tips and Tricks by Spark Training
Advanced Excel 2013 2016 Tips and Tricks by Spark TrainingAdvanced Excel 2013 2016 Tips and Tricks by Spark Training
Advanced Excel 2013 2016 Tips and Tricks by Spark Training
 
Implementing BIM for Owners
Implementing BIM for OwnersImplementing BIM for Owners
Implementing BIM for Owners
 
Working with COUNTER Release 5 reports in JUSP - 30 April 2019
Working with COUNTER Release 5 reports in JUSP - 30 April 2019Working with COUNTER Release 5 reports in JUSP - 30 April 2019
Working with COUNTER Release 5 reports in JUSP - 30 April 2019
 
BITA Introduction Slides.pdf
BITA Introduction Slides.pdfBITA Introduction Slides.pdf
BITA Introduction Slides.pdf
 
Work progress GIS.pptx
Work progress GIS.pptxWork progress GIS.pptx
Work progress GIS.pptx
 
Local Waste Service Standards Front End Integration Workshop
Local Waste Service Standards Front End Integration WorkshopLocal Waste Service Standards Front End Integration Workshop
Local Waste Service Standards Front End Integration Workshop
 
BITA Introduction Slides
BITA Introduction SlidesBITA Introduction Slides
BITA Introduction Slides
 
19 11-13 MS Ignite The Tour Paris - Surfing Microsoft 365 waves
19 11-13 MS Ignite The Tour Paris -  Surfing Microsoft 365 waves19 11-13 MS Ignite The Tour Paris -  Surfing Microsoft 365 waves
19 11-13 MS Ignite The Tour Paris - Surfing Microsoft 365 waves
 
Enhanced Unifier Reporting with BI Publisher: On Prem and Cloud
Enhanced Unifier Reporting with BI Publisher: On Prem and CloudEnhanced Unifier Reporting with BI Publisher: On Prem and Cloud
Enhanced Unifier Reporting with BI Publisher: On Prem and Cloud
 
Primavera unifier reporting with bipublisher on premandcloud
Primavera unifier reporting with bipublisher on premandcloudPrimavera unifier reporting with bipublisher on premandcloud
Primavera unifier reporting with bipublisher on premandcloud
 
ML, Statistics, and Spark with Databricks for Maximizing Revenue in a Delayed...
ML, Statistics, and Spark with Databricks for Maximizing Revenue in a Delayed...ML, Statistics, and Spark with Databricks for Maximizing Revenue in a Delayed...
ML, Statistics, and Spark with Databricks for Maximizing Revenue in a Delayed...
 
Advanced excel brochure
Advanced excel   brochureAdvanced excel   brochure
Advanced excel brochure
 
Eng Cal Reduced2
Eng Cal Reduced2Eng Cal Reduced2
Eng Cal Reduced2
 
Jessica Cinquanta Resume
Jessica Cinquanta ResumeJessica Cinquanta Resume
Jessica Cinquanta Resume
 
UNIT 2.pptx BI
UNIT 2.pptx BIUNIT 2.pptx BI
UNIT 2.pptx BI
 
BITA Induction Slides oct 2021
BITA Induction Slides oct 2021BITA Induction Slides oct 2021
BITA Induction Slides oct 2021
 

More from Kranthi Kumar

Exercise in alv
Exercise in alvExercise in alv
Exercise in alv
Kranthi Kumar
 
Dynamic binding
Dynamic bindingDynamic binding
Dynamic binding
Kranthi Kumar
 
Data binding
Data bindingData binding
Data binding
Kranthi Kumar
 
Creating simple comp
Creating simple compCreating simple comp
Creating simple comp
Kranthi Kumar
 
Creating messages
Creating messagesCreating messages
Creating messages
Kranthi Kumar
 
Creating a comp
Creating a compCreating a comp
Creating a comp
Kranthi Kumar
 
Controllers and context programming
Controllers and context programmingControllers and context programming
Controllers and context programming
Kranthi Kumar
 
Context at design
Context at designContext at design
Context at design
Kranthi Kumar
 
Binding,context mapping,navigation exercise
Binding,context mapping,navigation exerciseBinding,context mapping,navigation exercise
Binding,context mapping,navigation exercise
Kranthi Kumar
 
Alv for web
Alv for webAlv for web
Alv for web
Kranthi Kumar
 
Web(abap introduction)
Web(abap introduction)Web(abap introduction)
Web(abap introduction)
Kranthi Kumar
 
Abap faq
Abap faqAbap faq
Abap faq
Kranthi Kumar
 
Sap abap material
Sap abap materialSap abap material
Sap abap material
Kranthi Kumar
 
Crm technical
Crm technicalCrm technical
Crm technical
Kranthi Kumar
 
Chapter 07 debugging sap scripts
Chapter 07 debugging sap scriptsChapter 07 debugging sap scripts
Chapter 07 debugging sap scripts
Kranthi Kumar
 
Chapter 06 printing sap script forms
Chapter 06 printing sap script formsChapter 06 printing sap script forms
Chapter 06 printing sap script forms
Kranthi Kumar
 
Chapter 05 sap script - configuration
Chapter 05 sap script - configurationChapter 05 sap script - configuration
Chapter 05 sap script - configuration
Kranthi Kumar
 
Chapter 04 sap script - output program
Chapter 04 sap script - output programChapter 04 sap script - output program
Chapter 04 sap script - output program
Kranthi Kumar
 
Chapter 02 sap script forms
Chapter 02 sap script formsChapter 02 sap script forms
Chapter 02 sap script forms
Kranthi Kumar
 
sap script overview
sap script overviewsap script overview
sap script overview
Kranthi Kumar
 

More from Kranthi Kumar (20)

Exercise in alv
Exercise in alvExercise in alv
Exercise in alv
 
Dynamic binding
Dynamic bindingDynamic binding
Dynamic binding
 
Data binding
Data bindingData binding
Data binding
 
Creating simple comp
Creating simple compCreating simple comp
Creating simple comp
 
Creating messages
Creating messagesCreating messages
Creating messages
 
Creating a comp
Creating a compCreating a comp
Creating a comp
 
Controllers and context programming
Controllers and context programmingControllers and context programming
Controllers and context programming
 
Context at design
Context at designContext at design
Context at design
 
Binding,context mapping,navigation exercise
Binding,context mapping,navigation exerciseBinding,context mapping,navigation exercise
Binding,context mapping,navigation exercise
 
Alv for web
Alv for webAlv for web
Alv for web
 
Web(abap introduction)
Web(abap introduction)Web(abap introduction)
Web(abap introduction)
 
Abap faq
Abap faqAbap faq
Abap faq
 
Sap abap material
Sap abap materialSap abap material
Sap abap material
 
Crm technical
Crm technicalCrm technical
Crm technical
 
Chapter 07 debugging sap scripts
Chapter 07 debugging sap scriptsChapter 07 debugging sap scripts
Chapter 07 debugging sap scripts
 
Chapter 06 printing sap script forms
Chapter 06 printing sap script formsChapter 06 printing sap script forms
Chapter 06 printing sap script forms
 
Chapter 05 sap script - configuration
Chapter 05 sap script - configurationChapter 05 sap script - configuration
Chapter 05 sap script - configuration
 
Chapter 04 sap script - output program
Chapter 04 sap script - output programChapter 04 sap script - output program
Chapter 04 sap script - output program
 
Chapter 02 sap script forms
Chapter 02 sap script formsChapter 02 sap script forms
Chapter 02 sap script forms
 
sap script overview
sap script overviewsap script overview
sap script overview
 

data modelling1

Editor's Notes

  1. A data model is a graphical representation of the information that is to be stored and processed by a system. It is composed of the entities about which you will store information (e.g., customers) and the relationships among those entities. It serves as a road map that documents information stored in the data dictionary. Data modeling is the process of analysing a real-world activity, determining the information necessary for performing that activity, and documenting that information in a data model. Any process that involves data transfer (such as the placing of an order) is a strong candidate for data modeling.
  2. A data model can be used: As a basis for application design (this is an example of “top-down”data modeling) As a road map when creating objects in the data dictionary (this is also “top-down” data modeling) As documentation for an existing system (this is called “bottom-up”data modeling) It is good practice to create and maintain a data model for a system. However, in most systems (and in SAP), it is not necessary to create a data model in order to create objects in the dictionary. SAP comes with its own data model, called the Enterprise Data Model (EDM), that describes the data design of the SAP system. SAP also comes with its own data modeling tool, the SAP Data Modeler, with which you can view the EDM or create your own data models. SAP calls the EDM the “commercially-oriented model of the real world”. We will learn more about data modeling in general, and the SAP Data Modeler in particular, throughout the remainder of this chapter.
  3. The basic components of a data model are: Entities Attributes Entity types
  4. An entity is a uniquely identifiable object for which information is to be collected. Examples of entities might be customers, products and orders.
  5. An attribute is a characteristic of an entity. Examples of attributes might be a customer’s name, address and telephone number.
  6. An entity type is a set of entities with common attributes. Examples of entity types might be the sets of all customers, all products and all orders.
  7. The above slide demonstrates how data modeling and data dictionaryterminology coincide. An additional term that is important to learn is primary key: A primary key is that attribute or combination of attributes that uniquely identifies an entity of a particular type. A customer ID number might serve as the primary key of the customers entity type. Although the concept of a primary key is important to understanding the SAP Data Modeler, you can’t actually specify which attributes make up the primary key when building a data model. When building tables in the dictionary, however, you can and must specify a primary key.
  8. In addition to representing information about entities, data models also represent the relationships between entities. For example, a business is not only interested in customers, orders and products, but also which customers place which orders and which orders are for which products. These relationships represent the business rules that indicate how data is to be stored and processed (such as whether customers can place a second order before paying for the first one). Relationships between entities can be classified in several ways: In terms of cardinality In terms of optionality In terms of category
  9. The cardinality of a relationship describes the number of entities of one type that relate to entities of other types. For example: There is likely to be a one-to-many relationship between customers and orders. In other words, a customer may place several orders, but each order belongs to a single customer. There is likely to be a many-to-many relationship between orders and products. In other words, an order may consist of several products, and each product may be referenced in more than one order. There is likely to be a one-to-one relationship between consultants and laptop computers. In other words, a consultant possesses one laptop computer, and a laptop computer belongs to a single consultant.
  10. There is a problem with many-to-many relationships. It is not possible to directly represent those relationships in a normalised relational database. A discussion of normalisation is beyond the scope of this course, but what you need to know is that many-to-many relationships are represented in normalised relational databases by being “broken apart” into two one-to-many relationships with an intermediate entity type. Let’s take the example of orders and products. In order to represent this many-to-many relationship, we would first create an intermediate entity type, such as “order lines”. There would be a separate order line for each product. Next, we would create a one-to-many relationship between orders and order lines (an order can have many lines, but each line belongs to exactly one order). Finally, we would create a one-to-many relationship between products and order lines (a product can be referenced by many lines, but each line refers to exactly one product). This has the same effect as creating a many-to-many relationship between orders and products. You can see what this would look like in a data model in the above slide.
  11. The optionality of a relationship describes whether or not entities of one type must refer to entities of another type. For example, an order must belong to a customer. It does not make sense to have an order on file that was not placed by a customer. A customer, however, does not have to have an order. Every business wants to keep a record of its customers, whether or not they currently have orders outstanding. In this example, the relationship from orders to customers would be mandatory, but the relationship from customers to orders would be optional.
  12. When representing entity relationships, it is necessary to give one entity type additional attributes that refer back to the primary key of the other entity type. Only one entity type in the relationship contains the additional attributes. For example, the orders entity type would have an attribute for customer ID, indicating which customer had placed the order. Since a customer could place many orders, however, the customer entity would not contain an attribute for order ID. The entity type that contains the additional attributes is the “child”, or dependent, entity type. The other entity type is the “parent”, or referenced, entity type. In one-to-many relationships, the entity type that is on the “many” side of the relationship is always the dependent entity type. In one-to-one relationships, you may choose which entity type you would like to make as the dependent entity type. The concept of referenced and dependent entity types is necessary to fully understand the notation SAP uses to represent cardinality and optionality.
  13. SAP groups the terms cardinality and optionality together and calls them both cardinality. The above slide indicates the graphical notation that SAP uses torepresent cardinality. In the SAP Data Modeler, the graphical notation is only shown for one direction (from the referenced entity type to the dependent entity type). For practice and clarity, however, we will do some examples and exercises using the notation in both directions.
  14. A customer may have zero, one or many orders. An order must refer to exactly one customer.
  15. Fill in the appropriate graphical notation on the above slide: A professor may advise multiple students. A student must have exactly one professor as an adviser.
  16. Fill in the appropriate graphical notation on the above slide: A professor may advise multiple students. A student may have a professor assigned as an adviser.
  17. Fill in the appropriate graphical notation on the above slide: Students may enroll in many courses. A course may have many students enrolled. Enrolment records must refer to valid students and valid courses.
  18. The above slide indicates the text notation that SAP uses to represent cardinality. When specifying the cardinality of a relationship in the Data Modeler or in the ABAP Dictionary, you must use the text notation listed above, in the format: n : m The left-hand side of the colon refers to the relationship (the arrow) from the dependent entity type to the referenced entity type. This is called the n side of the relationship. The right-hand side of the colon refers to the relationship from the referenced entity type to the dependent entity type. This is called the m side ofthe relationship. You may find the text notation easier to understand if you first draw the relationship using graphical notation and then use the above slide to “translate” the graphical notation to text notation.
  19. Here are the possible values for each side of the n:m notation. For the left side: n = 1Each dependent entity refers to exactly onereferenced entity. n = CEach dependent entity refers to zero or onereferenced entities. For the right side: m = 1Each referenced entity has exactly onedependent entity. m = CEach referenced entity has zero or onedependent entities. m = NEach referenced entity has at least onedependent entity. m = CNEach referenced entity has zero, one or many dependent entities.
  20. A customer may have zero, one or many orders. An order must refer to exactly one customer.
  21. Fill in the appropriate text notation on the above slide: A professor may advise multiple students. A student must have exactly one professor as an adviser.
  22. Fill in the appropriate text notation on the above slide: A professor may advise multiple students. A student may have a professor assigned as an adviser.
  23. Fill in the appropriate text notation on the above slide: Students may enroll in many courses. A course may have many students enrolled. Enrolment records must refer to valid students and valid courses.
  24. Relationships are also identified by their category. A relationship’s category provides information about whether one entity is identified by its relationship to another entity. There are five relationship categories specified in SAP: Hierarchical Aggregating Referential Conditional-Referential Specialization
  25. In a hierarchical relationship, a dependent entity is identified by its relationship to exactly one other entity of a referenced entity type. The full primary key of the referenced entity type becomes part of the primary key of the dependent entity type. Primary key for department (academic department): Department number Primary key for courses: Department number, course number For example, the course Biology 101 is identified by its number (101) and its department (Biology). Remember that you don’t actually specify an entity type’s primary key in the data modeler.
  26. In an aggregating relationship, a dependent entity is identified by its relationships with multiple entities of other entity types. The full primary keys of the referenced entity types become part of the primary key of the dependent entity type. Primary key for student: Student ID number Primary key for course: Course number Primary key for enrolment record: Student ID number, course number For example, the enrolment record indicating that student 1224 is taking Biology 101 is identified by its student (1224) as well as its course (Biology 101). Aggregating relationships are what are used to handle many-to-many relationships.
  27. In a referential relationship, the dependent entity is not identified by its relationship to the referenced entity, and the relationship is non-optional. The primary key of the dependent entity types is not affected by the relationship. Primary key for professor: Professor number Primary key for department: Department number For example, the department Biology is not identified by its chairperson. In other words, the chairperson can be changed without changing the identity of the department itself. However, in this example, since the relationship is a referential relationship, a department must always have a chairperson.
  28. A conditional-referential relationship is the same as a referential relationship except that the relationship is optional. The primary key of the dependent entity types is not affected by the relationship. Primary key for professor: Professor number Primary key for department: Department number For example, the department Biology is not identified by its chairperson. In other words, the chairperson can be changed without changing the identity of the department itself. However, in this example, since the relationship is a conditional-referential relationship, a department need not have a chairperson. It is possible for the position to be vacant.
  29. In a specialising relationship, one entity type represents a subset of another entity type. In this case the dependent entity type is known as the specialisation, and the referenced entity type is known as the generalisation. The primary key of the specialisation is the same as the primary key of the generalisation. Specialisations are a special kind of hierarchical relationship. Generalisations and specialisations store different information in non-key attributes. For example, a telephone company might store general information about all customers (such as name and address) in a customer entity type, while more specific information might be stored in a specialisation that only applied to business customers (such as the appropriate contact person at the business, or whether the business was a corporation, partnership, or sole proprietorship).
  30. Data models in SAP can be organised hierarchically. In other words, it is possible to create small data models that represent a portion of a system. These data models can then be linked together to form a larger, more complete data model. For example, in the Enterprise Data Model (EDM) that comes delivered with SAP, there are “small” data models representing the Chart of Accounts and Currency types. These data models are in turn parts of the larger data model for General Accounting, which together with other data models form the overall data model for the FI module. When data models are organised hierarchically, it is possible to display the hierarchy and then “drill down” to the level of detail you desire. Some or all of the hierarchy may then be displayed graphically. To access the EDM, go to the main screen for the Data Modeler. From there, click one of the buttons: SAP Applications SAP Architecture
  31. The SAP Data Modeler is integrated with the ABAP Dictionary. In the Data Modeler, it is possible to specify the dictionary table that a particular entity type represents. This permits easy navigation between the Data Modeler and the ABAP Dictionary. Additionally, when you assign an entity type to a table, the system automatically enters the entity type’s attributes for you (they are taken from the table’s field structure). If you change the table’s structure, the entity type’s attribute list will automatically be updated. However, if you change the entity type’s attributes, the dictionary table is not changed.