You are on page 1of 30

Essentials (Siebel 7.

7)

Module 17: Understanding the


Siebel Data Model
Module Objectives

After completing this module you will be able to:


 Describe the purpose of the Siebel Data Model
 Describe the role of primary and foreign keys, indexes,
and user keys
 Identify prominent tables in the Siebel Data Model
 Locate foreign keys for different relationships

Why you need to know:


 Enables you to understand how data is accessed in
existing Siebel applications and how to map your business
logic to the Siebel Data Model
 Enables you to configure the Data layer as necessary for
your implementation

Module 17: Understanding the Siebel Data Model 2 of 30


The Siebel Data Model
 Defines how the data used by Siebel applications is stored in a
standard third-party relational database
 Specifies the tables and relationships
 Is designed to support the data requirements across Siebel
applications

Business Business
Defines the business logic Field
Component Object

Defines how data storage


is organized (makes up Column Table
the Data Model)

Module 17: Understanding the Siebel Data Model 3 of 30


Understanding the Data Model
 The pieces to understand:
 Tables
 Columns
 Indexes
 User keys
 Primary and foreign keys

Module 17: Understanding the Siebel Data Model 4 of 30


Siebel Data
 Is organized and stored in normalized tables in a relational
database
 Each table has multiple columns storing single-value data
 The data schema is organized to eliminate repeated storage of
data

Table S_PROD_INT

NAME
ROW_ID

PART_NUM

UOM_CD

Columns (store
single values only)

Module 17: Understanding the Siebel Data Model 5 of 30


Primary Key
 Is a column that uniquely identifies each row in a table
 ROW_ID serves as the primary key for Siebel database tables

S_PROD_INT

ROW_ID

NAME

PART_NUM

UOM_CD
Primary key
(PK)

Module 17: Understanding the Siebel Data Model 6 of 30


ROW_ID
 Is a column in every table
 Contains a Siebel application-generated identifier that is unique
across all tables and mobile users
 Is the means by which Siebel applications maintain referential
integrity
 Database referential integrity constraints are not used
 Is managed by Siebel applications and must not be modified by
users

Can be viewed by right-clicking the record or


by navigating to Help > About Record

Module 17: Understanding the Siebel Data Model 7 of 30


Tables
 Approximately 3,000 tables in the database
 Three major types: Data, Interface, and Repository

Data Interface Repository

S_PROD_INT EIM_PROD_INT S_TABLE

ROW_ID

NAME

PART_NUM

UOM_CD

ROW_ID

NAME

DESC_TEXT

ALIAS

TYPE
ROW_ID

NAME

PART_NUM

UOM_CD

Module 17: Understanding the Siebel Data Model 8 of 30


Data Tables
 Store the user data
 Business data
 Administrative data
 Seed data
 Are populated and updated:
 By the users through the Siebel applications
 By server processes such as: Enterprise Integration Manager
(EIM) and Assignment Manager
 Have names prefixed with S_
 Are documented in the Siebel Data Model Reference

Module 17: Understanding the Siebel Data Model 9 of 30


Prominent Data Tables
 Prominent tables storing data for the major business entities

Internal Service
Product S_SRV_REQ Request
S_PROD_INT

ROW_ID

SR_NUM

DESC_TEXT

OWNER_EMP_ID

RESOLUTION_CD
ROW_ID

NAME

PART_NUM

UOM_CD

Contact Opportunity
S_CONTACT S_OPTY

ROW_ID

BDGT_AMT

NAME

PROG_NAME

STG_NAME
ROW_ID

LAST_NAME

FST_NAME

MID_NAME

Module 17: Understanding the Siebel Data Model 10 of 30


Interface Tables
 Are a staging area for importing and exporting data
 Are used only by the Enterprise Integration Manager server
component
 Are named with prefix EIM_

Module 17: Understanding the Siebel Data Model 11 of 30


Repository Tables
 Contain the object definitions that specify one or more Siebel
applications
 Client application configuration
 UI, business, and object definitions
 Mappings used for importing and exporting data
 Rules for transferring data to mobile clients
 Are updated using Siebel Tools

Module 17: Understanding the Siebel Data Model 12 of 30


Columns
 Each table has multiple columns to store user and system data
 Defined by the Column child object definitions
 Columns determine the data that can be stored in that table

Module 17: Understanding the Siebel Data Model 13 of 30


Column Properties
 Important properties of columns
 Properties of existing tables and columns should not be edited
 Understanding these properties is important
 Determines the size and type of data that can be stored in a
column
 Limits proposed modifications to a standard application
Identifies type and
size of data

Module 17: Understanding the Siebel Data Model 14 of 30


System Columns
 Exist for all tables to store system data
 Are maintained by Siebel applications and tasks
 Can be viewed by right-clicking the record or from Help >
About Record

Module 17: Understanding the Siebel Data Model 15 of 30


User Key
 Specifies columns that must contain a unique set of values
 Prevents users from entering duplicate records
 Is used to determine the uniqueness of records when importing
and integrating data
 Is predefined and cannot be changed

Not all columns in a user


key may be required

Module 17: Understanding the Siebel Data Model 16 of 30


Index
 Is a separate data structure that stores a data value for a
column and a pointer to the corresponding row
 Used to retrieve and sort data rapidly
 Can be created or upgraded through Siebel Tools

_P: index based on primary key

_U: index based on a user key

Sequence affects
the speed of the
sort order

Module 17: Understanding the Siebel Data Model 17 of 30


Using Indexes
 Ensure that indexes exist to support queries and sort
specifications
 Indexes cannot span multiple tables
 Avoid sorting on un-indexed columns
 Should be inspected to assess performance issues for query
and sort operations
 Note that there will be a performance hit on inserts for each
additional index

Module 17: Understanding the Siebel Data Model 18 of 30


Relationships Between Tables
 Siebel database tables are related to one another
 Understanding the relationships between tables is important to
implementing your business logic

Product Line Asset


S_PROD_LN S_PROD_INT S_ASSET
ROW_ID

NAME

DESC_TEXT

ROW_ID

ASSET_NUM

MFGD_DT

SERIAL_NUM
ROW_ID

NAME

PART_NUM

UOM_CD

M:M relationship 1:M relationship

Module 17: Understanding the Siebel Data Model 19 of 30


1:M Relationships
 Are captured using foreign key table columns in the table on
the many side of the relationship

Foreign key column for


the 1:M Product Asset
relationship

S_PROD_INT S_ASSET

ROW_ID

ASSET_NUM

MFGD_DT

MID_NAME

PROD_ID
ROW_ID

NAME

PART_NUM

UOM_CD

Module 17: Understanding the Siebel Data Model 20 of 30


Foreign Key Table Columns
 Are columns in a table that refer to the primary key column of a
related (parent) table
 Many are named with suffix _ID
 Capture relationships between Siebel database tables
 Are maintained by Siebel applications and tasks to ensure
referential integrity and should never be updated directly using
SQL

Foreign Key Table

Module 17: Understanding the Siebel Data Model 21 of 30


Finding Foreign Keys for 1:M Relationships
 Inspect the Foreign Key Table property in a Column object
definition to determine the column that serves as the foreign
key

Foreign key column for


the 1:M Asset Product
relationship

Module 17: Understanding the Siebel Data Model 22 of 30


M:M Relationships
 Are captured using foreign key table columns in a third table
called the intersection table

Intersection table for M:M


Product Product Line relationship

S_PROD_LN S_PROD_INT

ROW_ID

NAME

PART_NUM

UOM_CD
ROW_ID

NAME

DESC_TEXT

S_PROD_LN_PROD
ROW_ID

PROD_LN_ID

PROD_ID

Module 17: Understanding the Siebel Data Model 23 of 30


1:1 Extension Table
 Is a special table that has a 1:1 relationship with a base table
 Foreign key for the relationship:
 Is located in the extension table
 Is named PAR_ROW_ID

 Provides additional columns for business components


referencing the base table
 A base and extension table can be considered as a single logical
table

Base table S_PROD_INT S_PROD_INT_X Extension table


ROW_ID

NAME

PART_NUM

UOM_CD

ROW_ID

PAR_ROW_ID

ATTRIB_39
Stores the Stock
Level field

Module 17: Understanding the Siebel Data Model 24 of 30


1:1 Extension Table Continued
 Is used:
 To provide flexibility for both Siebel Engineering and customer
use
 To support multiple business components referencing the
S_PARTY table (discussed in next module)

Module 17: Understanding the Siebel Data Model 25 of 30


Standard 1:1 Extension Tables
 Prebuilt for many major tables
 Have the name of the base table with suffix _X
 Contain 40-plus generic columns of varying types
 Store additional fields for business components beyond those
mapped to the base table

Module 17: Understanding the Siebel Data Model 26 of 30


1:M Extension Table
 Is a special table for storing child data related to an existing
parent table
 Allows you to track entities that do not exist in the standard
Siebel applications

S_CONTACT S_CONTACT_XM
ROW_ID

FST_NAME

LAST_NAME

EMAIL_ADDR

ROW_ID

PAR_ROW_ID

TYPE

NAME

ATTRIB_01
Module 17: Understanding the Siebel Data Model 27 of 30
Standard 1:M Extension Tables
 Contain more than 20 predefined tables that have one-to-many
relationships with base tables
 Has name of main table appended with _XM

Contains many predefined


ATTRIB columns of varying type

NAME column stores the


name of the child entity

PAR_ROW_ID column
stores foreign key to
ROW_ID in main table

TYPE column distinguishes between


different types of data in the table
Module 17: Understanding the Siebel Data Model 28 of 30
Summary

This module showed you how to:


 Describe the purpose of the Siebel Data Model
 Describe the role of primary and foreign keys, indexes,
and user keys
 Identify prominent tables in the Siebel Data Model
 Locate foreign keys for different relationships

Module 17: Understanding the Siebel Data Model 29 of 30


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

Module 17: Understanding the Siebel Data Model 30 of 30

You might also like