module 16 siebel data model
TRANSCRIPT
1 of 21Siebel Data Model
Siebel 8.0 Essentials
Module 16: Siebel Data Model
3 of 21Siebel Data Model
Module Objectives
• To identify prominent tables in the Siebel database• Get to know the various keys and Indexes for the tables.
– Ex: Primary Key, Foreign Keys, User Key
• To understand how to configure the data layer as necessary for the business implementation
4 of 21Siebel Data Model
Siebel Data Model
• Standard third-party relational database or Oracle database is used to store the data used by the Siebel applications
• Is designed to support the data requirements across Siebel applications
Business
Object
Business
ComponentField
View AppletControls/
List Columns
Table Column
ScreenDefines the UI
interface
Defines the Business Layer
Defines the data storage
structure
5 of 21Siebel Data Model
Data in Siebel
• Is organized and stored in normalized tables in a relational database
– Each table has multiple columns storing atomic data. Single value cannot be logically further sub-divided
• Primary Key is a column that uniquely identifies each row in a table
– ROW_ID serves as the primary key for Siebel tables
S_ORG_EXT
RO
W_ID
NA
ME
BU
_ID
EM
AIL_A
DD
R
Table
Primary Key
Columns
6 of 21Siebel Data Model
ROW_ID• Is a column in every table that is unique across all tables
and mobile-users• Is a Siebel application-generated unique identifier
– Is generated even before the data is written to the database
• It must not be modified by the users. It’s managed by the Siebel applications
ROW_ID for a particular record
7 of 21Siebel Data Model
Tables
• Data,Interface and Repository are three major types of tables.– Type of the table is specified by its TYPE property
• Nearly 3000 tables are present in the database– Database schema is created during Siebel database server
installation
S_ORG_EXT
RO
W_
ID
NA
ME
BU
_ID
EM
AIL
_A
DD
R
EIM_ACCOUNT
RO
W_
ID
NA
ME
LO
C
MA
IN_
PH
_N
UM
S_TABLE
RO
W_
ID
NA
ME
AL
IAS
TY
PE
Repository TableInterface TableData Table
8 of 21Siebel Data Model
Data Tables
• Have names prefixed with S_• Store the user data
– Administrative Data– Seed Data– Business Data
• Are populated and updated by:– Users through the siebel application– Server processes such as Assignment Manager, Enterprise
Integration Manager (EIM)
• Are documented in Siebel Data Reference
9 of 21Siebel Data Model
Prominent Data Tables
There are seven prominent data tables that store data for the major business entities
Internal Product
10 of 21Siebel Data Model
Columns• Columns determine the system and user data that can be stored
in the table– Determine the size (Length) and type (Physical Type) of the data that
can be stored in column– Limit proposed modifications to a standard application– Existing properties should not be edited
Determines Type of data
Determines maximum size of
data
11 of 21Siebel Data Model
System Columns
• Store the System data. They exist for all tables and are maintained by Siebel applications and tasks
System Columns
12 of 21Siebel Data Model
User Keys• Determine the uniqueness of records when importing, integrating or
entering data– Are predefined and cannot be modified– All columns in User key may not be Required
• Creation of New User Keys will be done by Expert Service Group
Column combination provides a unique value
13 of 21Siebel Data Model
Indexes• Used to retrieve and sort data rapidly• Separate data structure to store data value for a column
and a pointer to a corresponding row• Modifying existing indexes or adding new ones to be done
by experienced DBA
_P index based on Primary Key
_U index based on User Key
Position of the column in the index. Sequence affects the sort order
14 of 21Siebel Data Model
Table Relationships
• To support the as-delivered application, Siebel tables have many predefined relationships
– 1:M One-to-Many– M:M Many-to-Many
S_ADDR_ORG
RO
W_
ID
AD
DR
_N
AM
E
CIT
Y
AD
DR
S_USER
RO
W_
ID
PW
_L
AS
T_
UP
D
PA
SS
WO
RD
LO
GIN
S_ORG_EXT
RO
W_
ID
NA
ME
BU
_ID
EM
AIL
_A
DD
R
Employees Address
M:M Relationship S_EMP_ACCNT is Intersection Table
1:M Relationship
15 of 21Siebel Data Model
1:M Relationships
• On the Many side, Foreign Key columns in the table are used to capture the relationship
– Are columns in a table that refer to the Primary Key column of the related or parent table.
– Many are named with suffix _ID
• FK column on Many side of relationship references the PK column on the One side
S_ADDR_ORGR
OW
_ID
AD
DR
_N
AM
E
CIT
Y
AD
DR
OU
_ID
S_ORG_EXT
RO
W_
ID
NA
ME
BU
_ID
EM
AIL
_A
DD
R
Foreign Key
16 of 21Siebel Data Model
Foreign Key Columns
• Are maintained by Siebel applications and tasks to ensure referential integrity and should never be updated directly via SQL.
• Use the Foreign Key Table property in the column definition to determine the column that serves as the foreign key
S_ADDR_ORG
RO
W_
ID
AD
DR
_N
AM
E
CIT
Y
AD
DR
OU
_ID
S_ORG_EXT
RO
W_
ID
NA
ME
BU
_ID
EM
AIL
_A
DD
R
17 of 21Siebel Data Model
M:M Relationships
• M:M relationships are captured using the foreign keys columns in a third table called Intersection table
S_USER
RO
W_
ID
PW
_L
AS
T_
UP
D
PA
SS
WO
RD
LO
GIN
S_ORG_EXT
RO
W_
ID
NA
ME
BU
_ID
EM
AIL
_A
DD
R
S_EMP_ACCNT
RO
W_
ID
EM
P_
ID
OU
_ID
Intersection Table
18 of 21Siebel Data Model
1:1 Extension Table• Is a special table that has 1:1 relationship with the base table
– Foreign key for this is located in the Extension table and is known as PAR_ROW_ID
– A row in an extension table is created only if there is data to store in one of its columns.
– The ROW_ID for a row in an extension table is same as the ROW_ID of the related row in the base table. This is an exception to the convention that ROW_IDs are unique across all tables
• A base and an extension table can be considered as a single logical table.– Provides additional columns for the business components referencing the base table
– Have the name of the base table with suffix _X– Examples of Vanilla 1:1 extension tables: S_CONTACT_X for S_CONTACT,
S_ORG_EXT_X for S_ORG_EXT etc
S_SRV_REQ_X
RO
W_
ID
PA
R_
RO
W_
ID
AT
TR
IB_
47
AT
TR
IB_
46
S_SRV_REQ
RO
W_
ID
OP
TY
_ID
AS
GN
_D
T
19 of 21Siebel Data Model
1:M Extension Table
• Is a special table used to store child data related to an existing parent table
• Have the name of the main table suffixed with _XM– Examples of Vanilla 1:M extension tables: S_CONTACT_XM,
S_ORG_EXT_XM
S_SRV_REQ_XM
RO
W_
ID
PA
R_
RO
W_
ID
TY
PE
NA
ME
AT
TR
IB_
01
S_SRV_REQ
RO
W_
ID
OP
TY
_ID
AS
GN
_D
T
NAME stores the name of the child entity
PAR_ROW_ID stores FK to ROW_ID in the main table
TYPE defines data classification
20 of 21Siebel Data Model
Module Highlights
• Siebel data model defines how the data is stored in the third party relational database
• Primary key (ROW_ID) uniquely identifies each row in a table• User keys are used to uniquely determine the existence of a
row while entering, importing or Integrating data• Foreign key columns are maintained by Siebel applications
and tasks to ensure the referential integrity. They are used to capture 1:M relationships
• M:M relationships are captured using foreign key columns in Intersection tables
• 1:1, 1:M extension tables are prebuilt for many major tables in Siebel database
21 of 21Siebel Data Model
Lab
• In the lab you will:– Examine tables, columns, indexes, and user keys that make up
the Siebel Data Model– Determine the form of relationships between tables in the Siebel
Data Model