You are on page 1of 21

Siebel 8.

0 Essentials

Siebel Data Model

1 of 21

Module 16: Siebel 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

Siebel Data Model

3 of 21

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
Screen

View

Applet

Business

Business

Object

Component

Table

Siebel Data Model

Controls/
List Columns

Field

Column

Defines the UI
interface

Defines the
Business Layer

Defines the
data storage
structure

4 of 21

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
Table

S_ORG_EXT

BU_ID

NAME

ROW_ID

EMAIL_ADDR

Primary Key

Columns

Siebel Data Model

5 of 21

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. Its managed by the

Siebel applications
ROW_ID for a
particular record

Siebel Data Model

6 of 21

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
Data Table

Interface Table

S_ORG_EXT

EIM_ACCOUNT

S_TABLE

TYPE

ALIAS

NAME

ROW_ID

MAIN_PH_NUM

LOC

NAME

ROW_ID

EMAIL_ADDR

BU_ID

NAME

ROW_ID

Siebel Data Model

Repository Table

7 of 21

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

Siebel Data Model

8 of 21

Prominent Data Tables


There are seven prominent data tables that store data for

the major business entities

Internal Product

Siebel Data Model

9 of 21

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

Siebel Data Model

10 of 21

System Columns
Store the System data. They exist for all tables and are

maintained by Siebel applications and tasks

System
Columns

Siebel Data Model

11 of 21

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

Siebel Data Model

12 of 21

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

Siebel Data Model

13 of 21

Table Relationships
To support the as-delivered application, Siebel tables have

many predefined relationships


1:M One-to-Many
M:M Many-to-Many
Address

Employees
S_ORG_EXT

S_USER

ADDR

CITY

ADDR_NAME

ROW_ID

EMAIL_ADDR

BU_ID

Siebel Data Model

NAME

ROW_ID

LOGIN

PASSWORD

PW_LAST_UPD

ROW_ID

M:M Relationship
S_EMP_ACCNT is
Intersection Table

S_ADDR_ORG

1:M Relationship

14 of 21

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


Foreign Key
S_ORG_EXT

OU_ID

ADDR

CITY

ADDR_NAME

ROW_ID

EMAIL_ADDR

BU_ID

NAME

ROW_ID

Siebel Data Model

S_ADDR_ORG

15 of 21

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

S_ORG_EXT

OU_ID

ADDR

CITY

ADDR_NAME

ROW_ID

EMAIL_ADDR

BU_ID

NAME

ROW_ID

Siebel Data Model

16 of 21

M:M Relationships
M:M relationships are captured using the foreign keys

columns in a third table called Intersection table

S_ORG_EXT

S_USER

EMAIL_ADDR

BU_ID

NAME

ROW_ID

LOGIN

PASSWORD

PW_LAST_UPD

ROW_ID

S_EMP_ACCNT

OU_ID

EMP_ID

ROW_ID

Siebel Data Model

Intersection Table

17 of 21

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

ATTRIB_46

ATTRIB_47

PAR_ROW_ID

ROW_ID

ASGN_DT

OPTY_ID

ROW_ID

Siebel Data Model

S_SRV_REQ_X

18 of 21

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

S_SRV_REQ_XM
ATTRIB_01

NAME

TYPE

PAR_ROW_ID

ROW_ID

ASGN_DT

OPTY_ID

ROW_ID

NAME stores the name of the


child entity
PAR_ROW_ID stores FK to
ROW_ID in the main table
TYPE defines data classification

Siebel Data Model

19 of 21

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

Siebel Data Model

20 of 21

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

Siebel Data Model

21 of 21

You might also like