Skip Headers
Oracle® Communications Data Model Implementation and Operations Guide
11g Release 2 (11.2)

Part Number E15883-04
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

2 Logical Model Customization

This chapter provides information about customizing the logical model portion of the Oracle Communications Data Model. It contains the following topics:

Introduction to Customizing the Logical Data Model

Tip:

If you do not have a requirement to change the logical design delivered with Oracle Communications Data Model you can ignore this topic

A logical data model is the model that is built during the strategy and analysis phase of the Database Development life cycle. The purpose of this model is to clarify and satisfy the needs of the business users and validate the information requirements. Typically, a logical model is in Third Normal Form (3NF) which is a classical relational-database modeling technique that minimizes data redundancy through normalization.

The logical model delivered with Oracle Communications Data Model is a Third Normal Form (3NF) model developed using Oracle SQL Developer Data Modeler.

When customizing the logical data model of Oracle Communications Data Model, keep the data model application-neutral, and ideally in Third Normal Form. That way a physical design based on it mirrors the logical data model structure, and realizes all the benefits of a good relational database design: flexibility, controlled and limited redundancy, and ease of future expansion and support.

Approach any attempt to change the Oracle Communications Data Model with caution. The logical model of the Oracle Communications Data Model has (at its core) a set of generic structures that allow it to be flexible and extensible. Before making extensive additions, deletions, or changes, ensure that you understand the full range of capabilities of Oracle Communications Data Model and that you cannot handle your requirements using the default logical objects.

Data Model Notation and Modeling Tools

When designing the default Oracle Communications Data Model the following notation and tools were used. Determine if you want to customize Oracle Communications Data Model in the same manner:

Data Model Notation

Data model uses the Information Engineering (IE) syntax.

Data Modeling Tools

All of the data models are developed and maintained using Oracle SQL Developer Data Modeler.

Conventions When Customizing the Logical Model

When developing the logical model for Oracle Communications Data Model, the following conventions were followed. Continue to follow these conventions as you customize the logical model.

Naming Conventions for the Logical Data Model

In the logical data model, ensure that entity and attribute names are meaningful in your business. Also, to ensure that when you create the physical data model you can use physical table names that are similar to the logical entity names. Also, familiarize yourself with the naming restrictions within an Oracle Database schema.

For example:

  • Table and column names:

    • Must start with a letter

    • Can use only 30 alphanumeric characters or less

    • Cannot contain spaces or some special characters such as "!".

    • Cannot use reserved words

  • Table names must be unique within a schema that is shared with views and synonyms.

  • Column names must be unique within a table

Domain Definition Standards

A domain is a set of values allowed for a column. The domain can be enforced by a foreign key, check constraints, or the application on top of the database. Define the standards for each domain across the model such as:

  • Date and time type, such as 'YYYY-MM-DD'.

  • Numeric value in different situations.

  • Character string length in different situations.

  • Coded value definition such as key or description.

Logical Data Model Comments

Comment your logical data model using the following guidelines:

  • All entities must have description (or notes).

  • All attributes must have comment (in short). The description (or notes) is required to further define the attributes.

  • Comments for relationships are not mandatory. But for tricky or abstruse relationships, add comments whenever you find them confusing.

Common Change Scenarios When Modifying the Logical Model

There are several common change scenarios when customizing the logical model:

Examples: Modifying the Logical Model

Application stores are the latest battleground for mobile phone companies seeking to differentiate their products in an increasingly crowded and competitive marketplace. Users can find the applications by searching using keywords or by browsing through categories and top downloads - so they can see what everyone else is downloading - in addition to the front page, which showcases a selection of featured applications. The 'App World' can be accessed directly through the handset, enabling users to download applications and software on the go. Some applications are free, others cost a small fee.

Now, as an example, let's take a look how Oracle Communications Data Model supports the application store business, what a sample customer might discover during fit-gap analysis, and how that customer might extend Oracle Communications Data Model to fit the discovered gaps. (For other examples, see business use cases in Oracle Communications Data Model Reference.)

The entities provided with the logical model of Oracle Communications Data Model that support the Application stores are:

Assume that during the fit-gap analysis, you discover the following needs that are not supported by the logical model delivered with Oracle Communications Data Model:

To support the differences, you must extend the logical model in the following ways:

Example 2-1 Extending the Logical Model to Support Multiple Levels for CONTENT

Take the following steps in Oracle SQL Developer Data Modeler to extend the logical model to support multiple levels for CONTENT:

  1. Open the Oracle Communications Data Model in SQL Developer Data Modeler.

  2. Create the CONTENT SUBTYPE entity by taking the following steps:

    1. In the right-hand pane (the main area) of the SQL Developer Data Modeler window, select the Logical tab.

    2. Click the New Entity icon.

    3. Click in the logical model pane and draw an entity box.

      The Entity Properties window is displayed.

    4. In the left-hand pane of Entity Properties, select General. For Name, specify, CONTENT SUBTYPE. (Note the value of Entity_xxx where xxx is the number for Long Name and Single Table for FWD Engineer Strategy.)

    5. In the left-hand pane, select Attributes. Using the Add (+) icon, add the following attributes, one at a time:

      CONTENT SUBTYPE CODE with a data type of CODE.

      CONTENT SUBTYPE NAME with a data type of NAME.

      CONTENT SUBTYPE DESC with a data type of DESCRIPTION.

    6. In the left-hand pane, select Unique Identifiers. Using the Add (+) icon, add a unique, primary key to CONTENT SUBTYPE.

    7. Select key_1 (which represents the unique, primary key), and use Properties icon to add the properties to the key.

    8. In the left-hand pane of Key Properties, select General. For key properties, specify CST_PK for Name and Primary Key for State. (Note that the Long Name is CONTENT_SUBTYPE.CST_PK.

    9. Select Attributes and Relations, and then select the column for the primary key (that is, CONTENT SUBTYPE CODE).

    10. Click Apply. The entity CONTENT SUBTYPE is created.

  3. Add a CONTENT SUBTYPE CODE column to the CONTENT entity by taking the following steps:

    1. Select the CONTENT entity.

    2. Right click and select Properties.

    3. In the left-hand pane, click Attributes.

    4. Use the Add (+) icon to add an attribute with the Name of CONTENT SUBTYPE CODE and a Data type of CODE.

  4. Add a relationship between CONTENT and CONTENT SUBTYPE by taking the following steps:

    1. Select the New 1: N Relation icon.

    2. Select the CONTENT SUBTYPE entity.

    3. Drag the CONTENT SUBTYPE entity over to the CONTENT entity and drop the cursor.

Example 2-2 Extending the Logical Model to Maintain a History of Purchasers of an Application

Take the following steps in Oracle SQL Developer Data Modeler to extend the logical model to support maintaining a history of Customers who purchased which application:

  1. Open Oracle Communications Data Model in SQL Developer Data Modeler.

  2. Create an APPLICATION SUBSCRIPTION entity by taking the following steps:

    1. In the right-hand pane (main area) of the SQL Developer Data Modeler window, select the Logical tab.

    2. Click the New Entity icon.

    3. Click in the logical model pane in the main area; and in the Logical pane press, diagonally drag, and release the mouse button to draw an entity box.

      The Entity Properties window is displayed.

    4. In the left-hand pane of Entity Properties, select General. Specify APPLICATION SUBSCRIPTION for Name, and SUBSCRIPTION for Super Type. (Note that the value of FWD Engineer Strategy is Single Table.)

    5. In the left-hand pane, select Attributes. Using the Add (+) icon, add the attribute named APPLICATION SUBSCRIPTION CODE with a data type of CODE. (As the APPLICATION SUBSCRIPTION entity is of SUBSCRIPTION, attributes are inherited from SUBSCRIPTION entity.)

    6. In the left-hand pane, select Unique Identifiers. Use the Add (+) icon to add the Primary Key

    7. Select Attributes and Relations, and then select the column for the unique, primary key.

    8. Click Apply. The APPLICATION SUBSCRIPTION entity is created.

  3. Add APPLICATION SUBSCRIPTION CODE to CONTENT by taking the following steps:

    1. Select the CONTENT entity. Right click the CONTENT entity and select Properties.

    2. In the left-hand pane, select Attributes. Use the Add (+) icon to add attributes, one at a time.

  4. Add a relationship to CONTENT with APPLICATION SUBSCRIPTION by taking the following steps:

    1. Select the New 1: N Relation icon.

    2. Select the APPLICATION SUBSCRIPTION entity.

    3. Drag the APPLICATION SUBSCRIPTION entity over to the CONTENT entity and drop the cursor.