<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>From Enterprise Models to Dimensional Models: A Methodology for Data Warehouse and Data Mart Design</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Daniel L. Moody</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mark A.R. Kortink</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Information Systems, University of Melbourne</institution>
          ,
          <addr-line>Parkville</addr-line>
          ,
          <country country="AU">Australia 3052</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Simsion Bowles &amp; Associates 1</institution>
          <addr-line>Collins St, Melbourne</addr-line>
          ,
          <country country="AU">Australia 3000</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper describes a method for developing dimensional models from traditional Entity Relationship models. This can be used to design data warehouses and data marts based on enterprise data models. The first step of the method involves classifying entities in the data model into a number of categories. The second step involves identifying hierarchies that exist in the model. The final step involves collapsing these hierarchies and aggregating transaction data to form dimensional models. A number of design alternatives are presented, including a flat schema, a terraced schema, a star schema and a snowflake schema. We also define a new type of schema called a star cluster schema. This is a restricted form of snowflake schema, which minimises the number of tables while avoiding overlap between different dimensional hierarchies. Individual schemas can be collected together to form constellations or galaxies. We illustrate the method using a simple example.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        Data warehousing is currently one of the most
important applications of database technology in practice.
The total size of the data warehousing market,
including software and hardware, was estimated to be US$
        <xref ref-type="bibr" rid="ref8">8
billion in 1998</xref>
        <xref ref-type="bibr" rid="ref25">(Sen and Jacob, 1998)</xref>
        . A significant
proportion of IT budgets in most organisations is
devoted to data warehousing applications. High levels of
user satisfaction and return on investment have been
The copyright of this paper belongs to the paper’s authors.
Permission to copy without fee all or part of this material is granted
provided that the copies are not made or distributed for direct
commercial advantage.
      </p>
      <p>
        Proceedings of the International Workshop on Design and
Management of Data Warehouses (DMDW'2000)
Stockholm, Sweden, June 5-6, 2000
(M. Jeusfeld, H. Shu, M. Staudt, G. Vossen, eds.)
reported in the literature for such applications
        <xref ref-type="bibr" rid="ref12">(Graham
et al, 1996)</xref>
        .
      </p>
      <p>One of the most important issues in data
warehousing is how to design appropriate database structures to
support end user queries (Pokorny, 1999). Existing
approaches to data warehouse design advocate a “first
principles” approach, where the structure of the data
warehouse is derived directly from user query
requirements. In this paper, we describe a method for
designing data warehouses and data marts based on an
enterprise data model represented in Entity
Relationship form. This provides a more structured approach to
data warehouse design, and ensures that structure of the
data warehouse reflects the underlying semantic
structure of the data. It also leads to a more flexible
warehouse design, which is resilient to changes in analysis
requirements over time.</p>
      <p>
        In the early 90’s, data warehousing was proposed as
a general purpose solution to the problem of satisfying
organisational management information needs. A data
warehouse is a database which provides a single
consistent source of management information for reporting
and analysis across the organisation
        <xref ref-type="bibr" rid="ref20">(Inmon, 1993;
Love, 1994)</xref>
        . Data warehousing requires a major shift
in the relationship between IT departments and users,
in that it advocates a “self-service” model rather than
the traditional report-driven model. In a data
warehousing environment, end users access data directly
using user friendly query tools rather than relying on
reports generated by IT specialists. This helps to
reduce user reliance on IT staff to satisfy information
needs.
      </p>
      <p>Data warehousing is based on a supply chain
metaphor. The data “product” is obtained from data
“suppliers” (operational systems or external sources) and is
temporarily stored in a central data “warehouse”. The
"Data Supplier"</p>
      <p>Operational
Databases
External</p>
      <p>Data Sources
data is then delivered via data “marts” to data
“consumers” (end users). Figure 1 shows a generic
architecture for a data warehouse (rectangles indicate data
stores, while circles indicate processes).</p>
    </sec>
    <sec id="sec-2">
      <title>Dimensional Modelling</title>
      <p>According to Kimball (1996, 1997), the data
warehousing (OLAP1) environment is profoundly different
from the operational (OLTP2) environment and
techniques used to design operational databases are
inappropriate for designing data warehouses. For this
reason, Kimball proposed a new technique for data
modelling specifically for designing data warehouses,
which he called dimensional modelling. The method
was developed based on observations of practice, and
in particular, of data vendors who are in the business of
providing data in “user-friendly” form to their
customers. It is not based on any theory, and has never been
empirically tested, but has clearly been very successful
in practice. Dimensional modelling has been adopted as
the predominant approach to designing data
warehouses and data marts in practice, and represents an
important contribution to the discipline of data
modelling and database design.</p>
    </sec>
    <sec id="sec-3">
      <title>Objectives of this Paper</title>
      <p>Kimball argues that modelling in a data warehousing
environment is radically different from modelling in an
operational (transaction processing) environment, and
that you must forget all you know about Entity
Relationship modelling.</p>
      <p>“Entity relation models are a disaster for querying because
they cannot be understood by users and cannot be navigated
usefully by DBMS software. Entity relation models cannot
be used as the basis for enterprise data warehouses”</p>
      <p>In this paper, we argue that Entity Relationship
modelling is equally applicable in data warehousing
context as in an operational context and provides a
useful basis for designing both data warehouses and data
marts.</p>
      <p>DIMENSIONAL MODELLING</p>
      <p>CONCEPTS
Objectives of Dimensional Modelling</p>
      <p>There are two major differences between operational
databases and data warehouses:
• End user access: In a data warehousing
environment, users write queries directly against the
database structure, whereas in an operational
environment, users generally only access the database
through an application system “front end”. In a
traditional application system, the structure of the
database is invisible to the user.
• Read-only: data warehouses are effectively read
only databases─ users can retrieve and analyse data,
1
2</p>
      <p>OLAP = On-Line Analytical Processing
OLTP = On-Line Transaction Processing
but cannot update it. Data stored in the data
warehouse is updated via batch extract processes.</p>
      <p>The problem with using traditional database design
techniques in a data warehousing environment is that it
results in database structures which are too complex for
end users to understand and use. A typical operational
database consists of hundreds of tables linked by a
complex web of relationships. Even quite simple
queries will require multi-table joins, which are
errorprone and beyond the capabilities of non-technical
users. This is not a problem in transaction processing
systems because the complexity of the database
structure is hidden from the user by a layer of software.</p>
      <p>
        A major reason for the complexity of operational
databases is the use of normalisation. Normalisation
tends to multiply the number of tables required, as it
requires splitting out functionally dependent attributes
into separate tables. The objective of normalisation is
to minimise data redundancy
        <xref ref-type="bibr" rid="ref5">(Codd, 1970)</xref>
        . This
maximises update efficiency because each change can
be made in a single place, but tends to penalise
retrieval (Kent, 1978). Redundancy is less of an issue in a
data warehousing environment because data is not
updated on-line.
      </p>
      <p>The objective of dimensional modelling is to
produce database structures that are easy for end users to
understand and write queries against. A secondary
objective is to maximise the efficiency of queries. It
achieves these objectives primarily by minimising the
number of tables and relationships between them. This
reduces the complexity of the database and minimises
the number of joins required in user queries.</p>
    </sec>
    <sec id="sec-4">
      <title>Star Schemas</title>
      <p>The basic building block used in dimensional
modelling is the star schema. A star schema consists of one
large central table called the fact table, and a number of
smaller tables called dimension tables which radiate
out from the central table (Figure 2).</p>
      <p>Dimension
Table 2
Dimension</p>
      <p>Table 3
Dimension
Table 1
Fact Table
Dimension</p>
      <p>Table 4
The fact table forms the “centre” of the star, while
the dimension tables form the “points” of the star. A
star schema may have any number of dimensions.
• The fact table contains measurements (e.g. price of
products sold, quantity of products sold) which may
be aggregated in various ways.
• The dimension tables provide the basis for
aggregating the measurements in the fact table.
• The fact table is linked to all the dimension tables
by one-to-many relationships
• The primary key of the fact table is the
concatenation of the primary keys of all the dimension tables.</p>
      <p>A more concrete example of a star schema is shown
in Figure 3. In this example, sales data may be
analysed by product, customer, retail outlet and date.</p>
      <p>Customer</p>
      <p>Sales Summary</p>
      <p>Retail</p>
      <p>Outlet
Product</p>
      <p>Date</p>
      <p>Dimension tables are often highly denormalised
tables, and generally consist of embedded hierarchies.
For example, Customer, which represents a single
dimension in the star schema above, consists of three
independent hierarchies, when they are normalised out
(Figure 4).</p>
      <p>Industry
Hierarchy
Location
Hierarchy</p>
      <p>Market
Segmentation</p>
      <p>Hierarchy
Industry
Group</p>
      <p>Market
Sector
Industry
Sector</p>
      <p>Market
Segment</p>
      <p>The advantage of using star schemas to represent
data is that it reduces the number of tables in the
database and the number of relationships between them and
therefore the number of joins required in user queries.
Kimball (1996) claims that use of star schemas to
design data warehouses results in 80% of queries being
single table browses. Star schemas may either be
implemented in specialist OLAP tools, or using traditional
relational DBMS.</p>
    </sec>
    <sec id="sec-5">
      <title>Star Schema Design Approach</title>
      <p>Kimball’s design method is a “first principles”
approach, which is based on analysis of user query
requirements. It begins by identifying the relevant
“facts” that need to be aggregated, the dimensional
attributes to aggregate by, and forming star schemas
based on these. It results in a data warehouse design
which is a set of discrete star schemas. However there
are a number of practical problems with this approach:
• User analysis requirements are highly unpredictable
and subject to change over time, which provides an
unstable basis for design
• It can lead to incorrect designs if the designer does
not understand the underlying relationships in the
data
• It results in loss of information through premature
aggregation, which limits the ways in which data can
be analysed
• The approach is presented by examples rather than
via an explicit design procedure</p>
      <p>The approach described in this paper overcomes
these problems by using an enterprise data model as the
basis for data warehouse design. This makes use of the
relationships in the data which have been already been
documented, and provides a much more structured
approach to developing a data warehouse design.
3. DATA WAREHOUSE DESIGN</p>
      <p>APPROACH</p>
      <p>We argue that different design principles should be
used for designing the central data warehouse and data
marts:
Central Data Warehouse Design</p>
      <p>This represents the “wholesale” level of the data
warehouse, which is used to supply data marts with
data. The most important requirement of the central
data warehouse is that it provides a consistent,
integrated and flexible source of data. We argue that
traditional data modelling techniques (Entity Relationship
models and normalisation) are most appropriate at this
level. A normalised database design ensures maximum
consistency and integrity of the data. It also provides
the most flexible data structure─ new data can be easily
added to the warehouse in a modular way, and the
database structure will support any analysis requirements.
Aggregation or denormalisation at this stage will lose
information and restrict the kind of analyses which can
be carried out. An enterprise data model, if one exists,
should be used as the basis for structuring the central
data warehouse.</p>
      <p>Data marts represent the “retail” level of the data
warehouse, where data is accessed directly by end
users. Data is extracted from the central data warehouse
into data marts to support particular analysis
requirements. The most important requirement at this level is
that data is structured in a way that is easy for users to
understand and use. For this reason, dimensional
modelling techniques are most appropriate at this level.
This ensures that data structures are as simple as
possible in order to simplify user queries. The next section
describes an approach for developing dimensional
models from an enterprise data model.
4.</p>
      <p>FROM ENTITY RELATIONSHIP
MODELS TO DIMENSIONAL</p>
      <p>MODELS</p>
      <p>This section describes a method for developing
dimensional models from Entity Relationship models.
This can be used as a basis for designing data marts
based on an enterprise data model.</p>
    </sec>
    <sec id="sec-6">
      <title>Example Data Model</title>
      <p>A simple example is used to illustrate the design
approach. Figure 5 shows an operational data model for a
sales application. The highlighted attributes indicate
the primary keys of each entity.</p>
      <p>Period</p>
      <p>Such a model is typical of data models that are used
by operational (OLTP) systems. Such a model is well
suited to a transaction processing environment. It
contains no redundancy, thus maximising efficiency of
updates, and explicitly shows all the data and the
relationships between them. Unfortunately most decision
makers would find this schema incomprehensible. Even
quite simple queries require multi-table joins and
complex subqueries. As a result, end users will be
dependent on technical specialists to write queries for them.</p>
    </sec>
    <sec id="sec-7">
      <title>Step 1. Classify Entities</title>
      <p>The first step in producing a dimensional model
from an Entity Relationship model is to classify the
entities into three categories:</p>
      <sec id="sec-7-1">
        <title>Transaction Entities</title>
        <p>Transaction entities record details about particular
events that occur in the business─ for example, orders,
insurance claims, salary payments and hotel bookings.
Invariably, it is these events that decision makers want
to understand and analyse. The key characteristics of a
transaction entity are:
• It describes an event that happens at a point in time
• It contains measurements or quantities that may be
summarised e.g. dollar amounts, weights, volumes.</p>
        <p>For example, an insurance claim records a particular
business event and (among other things) the amount
claimed. Transaction entities are the most important
entities in a data warehouse, and form the basis for
constructing fact tables in star schemas. Not all
transaction entities will be of interest for decision support,
so user input will be required in identifying which
transactions are important.</p>
      </sec>
      <sec id="sec-7-2">
        <title>Component Entities</title>
        <p>A component entity is one which is directly related
to a transaction entity via a one-to-many relationship.
Component entities define the details or “components”
of each business transaction. Component entities
answer the “who”, “what”, “when”, “where”, “how” and
“why” of a business event. For example, a sales
transaction may be defined by a number of components:
• Customer: who made the purchase
• Product: what was sold
• Location: where it was sold
• Period: when it was sold</p>
        <p>An important component of any transaction is
time─ historical analysis is an important part of any
data warehouse. Component entities form the basis for
constructing dimension tables in star schemas.</p>
      </sec>
      <sec id="sec-7-3">
        <title>Classification Entities</title>
        <p>Classification entities are entities which are related
to component entities by a chain of one-to-many
relationships─ that is, they are functionally dependent on a
component entity (directly or transitively).
Classification entities represent hierarchies embedded in the data
model, which may be collapsed into component entities
to form dimension tables in a star schema.</p>
        <p>Figure 6 shows the classification of the entities in
the example data model. In the diagram,
• Black entities represent Transaction entities
• Grey entities indicate Component entities
• White entities indicate Classification entities
Product
Type
Product
Fee
Type
Sale
Fee</p>
        <p>In some cases, entities may fit into multiple
categories. We therefore define a precedence hierarchy for
resolving such ambiguities:
1. Transaction entity (highest precedence)
2. Classification entity
3. Component entity (lowest precedence)</p>
        <p>For example, if an entity can be classified as either a
classification entity or a component entity, it should be
classified as a classification entity. In practice, some
entities will not fit into any of these categories. Such
entities do not fit the hierarchical structure of a
dimensional model, and cannot be included in star schemas.
This is where real world data sometimes does not fit the
star schema “mould”.</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>Step 2. Identify Hierarchies</title>
      <p>Hierarchies are an extremely important concept in
dimensional modelling, and form the primary basis for
deriving dimensional models from Entity Relationship
models. As discussed previously, most dimension
tables in star schemas contain embedded hierarchies. A
hierarchy in an Entity Relationship model is any
sequence of entities joined together by one-to-many
relationships, all aligned in the same direction. Figure 7
shows a hierarchy extracted from the example data
model, with State at the top and Sale Item at the
bottom.</p>
      <p>Sale</p>
      <p>Item
Sale_Id
Prod_Id
Qty
Unit Price</p>
      <p>Sale
Sale_Id
Sale_Date
Posted_Date
Cust_Id
Loc_Id
Discount_Amt</p>
      <p>Step 3. Produce Dimensional Models
Operators For Producing Dimensional Models</p>
      <p>We use two operators to produce dimensional
models from Entity Relationship models.</p>
      <p>Operator 1: Collapse Hierarchy</p>
      <p>
        Higher level entities can be “collapsed” into lower
level entities within hierarchies. Figure 8 shows the
State entity being collapsed into the Region entity. The
Region entity contains its original attributes plus the
attributes of the collapsed table. This introduces
redundancy in the form of a transitive dependency, which is
a violation to third normal form
        <xref ref-type="bibr" rid="ref5">(Codd, 1970)</xref>
        .
Collapsing a hierarchy is therefore a form of
denormalisation (Tonkin, 1991).
      </p>
      <p>Sale</p>
      <p>Item
Sale_Id
Prod_Id
Qty
Value</p>
      <p>Sale
Sale_Id
Sale_Date
Posted_Date
Cust_Id
Loc_Id
Discount</p>
      <p>Location
Loc_Id
Loc_Name
Regn_Id
Loc_Type_Id</p>
      <p>Region
Regn_Id
Regn_Name
State_Id
State_Name</p>
      <p>State
State_Id</p>
      <p>State_Name
collapse
Figure 9 shows Region being collapsed into
Location. We can continue doing this until we reach the
bottom of the hierarchy, and end up with a single table
(Sale Item).</p>
      <p>The aggregation operator can be applied to a
transaction entity to create a new entity containing
summarised data. A subset of attributes is chosen from the
source entity to aggregate (the aggregation attributes)
and another subset of attributes chosen to aggregate by
(the grouping attributes). Aggregation attributes must
be numerical quantities.</p>
      <p>For example, we could apply the aggregation
operator to the Sale Item entity to create a new entity
called Product Summary as in Figure 10. This
aggregated entity shows for each product the total sales
amount (quantity*price), the average quantity per order
and average price per item on a daily basis. The
aggregation attributes are quantity and price, while the
grouping attributes are Product ID and Date. The key
of this entity is the combination of the attributes used to
aggregate by (grouping attributes). Note that
aggregation loses information: we cannot reconstruct the
details of individual sale items from the product summary
table.</p>
      <p>Sale</p>
      <p>Item
Sale_Id
Prod_Id
Date
Qty
Unit Price
Product</p>
      <p>Summary
Prod_Id
Date
Total Sales ($)
Average Quantity</p>
      <p>Average Price</p>
      <p>Each of these options represent different trade-offs
between complexity and redundancy. Here we discuss
how the operators previously defined may be used to
produce different dimensional models.</p>
      <p>Option 1: Flat Schema</p>
      <p>A flat schema is the simplest schema possible
without losing information. This is formed by collapsing all
entities in the data model down into the minimal
entities. This minimises the number of tables in the
database and therefore the possibility that joins will be
needed in user queries. In a flat schema we end up
with one table for each minimal entity in the original
data model. Figure 11 shows the flat schema which
results from the example data model.
counting). Another problem with flat schemas is that
they tend to result in tables with large numbers of
attributes, which may be unwieldy. While the number of
tables (system complexity) is minimised, the complexity
of each table (element complexity) is greatly increased.
Option 2: Terraced Schema</p>
      <p>A terraced schema is formed by collapsing entities
down maximal hierarchies, but stopping when they
reach a transaction entity. This results in a single table
for each transaction entity in the data model. Figure 12
shows the terraced schema that results from the
example data model. This schema is less likely to cause
problems for an inexperienced user, because the
separation between levels of transaction entities is explicitly
shown.</p>
      <p>Such a schema is similar to the “flat files” used by
analysts using statistical packages such as SAS and
SPSS. Note that this structure does not lose any
information from the original data model. It contains
redundancy, in the form of transitive and partial
dependencies, but does not involve any aggregation. One
problem with a flat schema is that it may lead to aggregation
errors when there are hierarchical relationships
between transaction entities. When we collapse numerical
amounts from higher level transaction entities into
another they will be repeated. In the example data model,
if a Sale consists of three Sale Items, the discount
amount will be stored in three different rows in the Sale
Item table. Adding the discount amounts together then
results in double-counting (or in this case, triple
Sale</p>
      <p>Item
Sale_Id
Prod_Id
Qty
Value
Prod_Name
Prod_Type_Id
Prod_Type_Name
Sale</p>
      <p>Fee
Sale_Id
Fee_Type_Id
Fee</p>
      <p>Fee_Type_Name</p>
      <p>Sale
Sale_Id
Sale_Date
Sale_Mth
Sale_Qtr
Sale_Yr
Sale_Fiscal_Yr
Posted_Date
Posted_Mth
Posted_Qtr
Posted_Yr
Posted_Fiscal_Yr
Discount
Cust_Id
Cust_Name
Cust_Type_Id
Cust_Type_Name
Cust_Regn_Id
Cust_Regn_Name
Cust_State_Id
Cust_State_Name
Loc_Id
Loc_Name
Loc_Type_Id
Loc_Type_Name
Loc_Regn_Id
Loc_Regn_Name
Loc_State_Id</p>
      <p>Loc_State_Name</p>
      <p>A star schema can be easily derived from an Entity
Relationship model. Each star schema is formed in the
following way:
• A fact table is formed for each transaction entity.</p>
      <p>The key of the table is the combination of the keys
of its associated component entities.
• A dimension table is formed for each component
entity, by collapsing hierarchically related
classification entities into it.
• Where hierarchical relationships exist between
transaction entities, the child entity inherits all
dimensions (and key attributes) from the parent entity.
This provides the ability to “drill down” between
transaction levels.
• Numerical attributes within transaction entities
should be aggregated by key attributes (dimensions).
The aggregation attributes and functions used
depend on the application.</p>
      <p>Figure 13 shows the star schema that results from
the Sale transaction entity. This star schema has four
dimensions, each of which contains embedded
hierarchies. The aggregated fact is Discount amount.</p>
      <p>A separate star schema is produced for each
transaction table in the original data model.</p>
      <p>Constellation Schema</p>
      <p>Instead of a number of discrete star schemas, the
example data model can be transformed into a
constellation schema. A constellation schema consists of a set
of star schemas with hierarchically linked fact tables.
The links between the various fact tables provide the
ability to “drill down” between levels of detail (e.g.
from Sale to Sale Item). The constellation schema
which results from the example data model is shown in
Figure 15─ links between fact tables are shown in bold.</p>
      <p>More generally, a set of star schemas or
constellations can be combined together to form a galaxy. A
galaxy is of a collection of star schemas with shared
dimensions. Unlike a constellation schema, the fact
tables in a galaxy do not need to be directly related.
Option 4: Snowflake Schema</p>
      <p>In a star schema, hierarchies in the original data
model are collapsed or denormalised to form
dimension tables. Each dimension table may contain multiple
independent hierarchies. A snowflake schema is a star
schema with all hierarchies explicitly shown. A
snowflake schema can be formed from a star schema by
expanding out (normalising) the hierarchies in each
dimension. Alternatively, a snowflake schema can be
produced directly from an Entity Relationship model
by the following procedure:
• A fact table is formed for each transaction entity.</p>
      <p>The key of the table is the combination of the keys
of the associated component entities.
• Each component entity becomes a dimension table.
• Where hierarchical relationships exist between
transaction entities, the child entity inherits all
relationships to component entities (and key attributes)
from the parent entity.
• Numerical attributes within transaction entities
should be aggregated by the key attributes. The
attributes and functions used depend on the
application.</p>
      <p>Figure 16 shows the snowflake schema which results
from the Sale transaction entity.
Option 5: Star Cluster Schema</p>
      <p>Kimball (1996) argues that “snowflaking” is
undesirable, because it adds complexity to the schema and
requires extra joins. Clearly, expanding all hierarchies
defeats the purpose of producing simple, user friendly
database designs─ in the example above, it more than
doubles the number of tables in the schema. In this
paper, we argue that neither a “pure” star schema (fully
collapsed hierarchies) nor a “pure” snowflake schema
(fully expanded hierarchies) results in the best solution.
As in many design problems, the optimal solution is a
balance between two extremes.</p>
      <p>The problem with fully collapsing hierarchies occurs
when hierarchies overlap, leading to redundancy
between dimensions when they are collapsed. This can
result in confusion for users, increased complexity in
extract processes and inconsistent results from queries
if hierarchies become inconsistent. For these reasons,
we require that dimensions should be orthogonal.</p>
      <p>Overlapping dimensions can be identified via
“forks” in hierarchies. A fork occurs when an entity
acts as a “parent” in two different dimensional
hierarchies. This results in the entity and all of its ancestors
being collapsed into two separate dimension tables.
Fork entities can be identified as classification entities
with multiple one-to-many relationships. The exception
to this rule occurs when the hierarchy converges again
lower down─ Dampney (1996) calls this a commuting
loop.</p>
      <p>In the example data model, a fork occurs at the
Region entity. Region is a parent of Location and
Customer, which are both components of the Sale
transaction. In the star schema representation, State and
Region would be included in both the Location and
Customer dimensions when the hierarchies are collapsed.
This results in overlap between the dimensions.
Sale</p>
      <p>We define a star cluster schema as one which has
the minimal number of tables while avoiding overlap
between dimensions. It is a star schema which is
selectively “snowflaked” to separate out hierarchical
segments or subdimensions which are shared between
different dimensions. Subdimensions effectively
represent the “highest common factor” between dimensions.</p>
      <p>A star cluster schema may be produced from an
Entity Relationship model using the following procedure.
Each star cluster is formed by:
• A fact table is formed for each transaction entity.</p>
      <p>The key of the table is the combination of the keys
of the associated component entities.
• Classification entities should be collapsed down
their hierarchies until they reach either a fork entity
or a component entity. If a fork is reached, a
subdimension table should be formed. The
subdimension table will consist of the fork entity plus all its
ancestors. Collapsing should begin again after the
fork entity. When a component entity is reached, a
dimension table should be formed.
• Where hierarchical relationships exist between
transaction entities, the child entity should inherit all
dimensions (and key attributes) from the parent
entity.
• Numerical attributes within transaction entities
should be aggregated by the key attributes
(dimensions). The attributes and functions used depend on
the application.</p>
      <p>Figure 18 shows the star cluster schema that results
from the model fragment of Figure 17.</p>
      <p>FACT TABLE</p>
      <p>Sale
Cust-Id
Sale_Date
Posted_Date
Loc-Id
SUM (Discount)</p>
      <p>DIMENSION TABLE</p>
      <p>Location
Loc_Id
Loc_Name
Loc_Regn_Id
Loc_Type_Id
Loc_Type_Name
DIMENSION TABLE
Customer
Cust_Id
Cust_Name
Cust_Type_Id
Cust_Regn_Id
Cust_Type_Name</p>
      <p>SUB-DIMENSION</p>
      <p>Region
Regn_Id
Regn_Name
State_Id</p>
      <p>State_Name</p>
      <p>If required, views may be used to reconstruct a star
schema from a star cluster schema. This gives the best
of both worlds: the simplicity of a star schema while
preserving consistency between dimensions. As with
star schemas, star clusters may be combined together to
form constellations or galaxies.</p>
      <p>Step 4. Evaluation and Refinement</p>
      <p>In practice, dimensional modelling is an iterative
process. The clustering procedure described in Step 3
is useful for producing a first cut design, but this will
need to be refined to produce the final data mart
design. Most of these modifications have to do with
further simplifying the model and dealing with
nonhierarchical patterns in the data.</p>
      <sec id="sec-8-1">
        <title>Combining Fact Tables</title>
        <p>Fact tables with the same primary keys (i.e. the same
dimensions) should be combined. This reduces the
number of star schemas and facilitates comparison
between related facts (e.g. budget and actual figures).</p>
      </sec>
      <sec id="sec-8-2">
        <title>Combining Dimension Tables</title>
        <p>Creating dimension tables for each component entity
often results in a large number of dimension tables. To
simplify the data mart structure, related dimensions
should be consolidated together into a single dimension
table.</p>
      </sec>
      <sec id="sec-8-3">
        <title>Many to Many Relationships</title>
        <p>Most of the complexities which arise in converting a
traditional Entity Relationship model to a dimensional
model result from many-to-many relationships or
intersection entities. Many-to-many relationships cause
problems in dimensional modelling because they
represent a “break” in the hierarchical chain, and cannot be
collapsed. There are a number of options for dealing
with many-to-many relationships:
(a) Ignore the intersection entity (eliminate it from
the data mart)
(b) Convert the many-to-many relationship to a
oneto-many relationship, by defining a “primary”
relationship
(c) Include it as a many-to-many relationship in the
data mart─ such entities may be useful to expert
analysts but will not be amenable to analysis
using an OLAP tool.</p>
        <p>For example, in the model below, each client may be
involved in a number of industries. The intersection
entity Client Industry breaks the hierarchical chain and
cannot be collapsed into Client.</p>
        <p>The options are (a) to exclude the industry
hierarchy, (b) convert it to a one-to-many relationship or (c)
include it as a many-to-many relationship.</p>
        <p>(b)
(c)
major
industry</p>
        <p>Supertype/subtype relationships can be converted to
a hierarchical structure by removing the subtypes and
creating a classification entity to distinguish between
subtypes. This can then be converted to a dimensional
model in a straightforward manner.</p>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>CONCLUSION</title>
    </sec>
    <sec id="sec-10">
      <title>Summary of the Method</title>
      <p>We have described a method for developing data
warehouse and data mart designs from an enterprise
data model. The method has now been applied in a
wide range of industries, including manufacturing,
health, insurance and banking. The method has
evolved considerably as a result of experiences in
practice. The steps of the method are:
1. Develop Enterprise Data Model (if one doesn’t
exist already)
2. Design Central Data Warehouse: this will be
closely based on the enterprise data model, but will
be a subset of the model which is relevant for
decision support purposes. A staged approach is
recommended for implementing the central data
warehouse, starting with the most important
subject areas.
3. Classify Entities: classify entities in the central
data warehouse model as either transaction,
component or classification entities.
4. Identify Hierarchies: identify the hierarchies which
exist in the data model
5. Design Data Marts: develop star cluster schemas
for each transaction entity in the central data
warehouse model. Each star cluster will consist of a
fact table and a number of dimension and
subdimension tables. This minimises the number of
tables while avoiding overlap between dimensions.
The separate star clusters may be combined
together to form constellations or galaxies.</p>
    </sec>
    <sec id="sec-11">
      <title>Design Options</title>
      <p>We have identified a range of options for developing
data marts to support end user queries from an
enterprise data model. These options represent different
trade-offs between the number of tables (complexity)
and redundancy of data (Figure 23).</p>
      <sec id="sec-11-1">
        <title>Increased Complexity</title>
      </sec>
      <sec id="sec-11-2">
        <title>Increased Redundancy</title>
        <p>Snowflake Schema
Star Cluster Schema
Star Schema
Terraced Schema</p>
        <p>Flat Schema
Implications for Data Warehouse Design
Practice</p>
        <p>The advantages of this approach are:
• It provides a more structured approach to
developing dimensional models than working from first
principles
• It ensures that the data marts and the central data
warehouse reflect the underlying relationships in the
data
• Developing data warehouse and data mart designs
based on a common enterprise data model simplifies
extract and load processes
• An existing enterprise data model provides a useful
basis for identifying information requirements in a
bottom up manner─ based on what data exists in the
enterprise. This can be usefully combined with
Kimball’s (1996) top-down analysis approach.
• An enterprise data model provides a more stable
basis for design than user query requirements, which
are unpredictable and subject to frequent change
• It ensures that the central data warehouse is flexible
enough to support the widest possible range of
analysis requirements, by storing data at the level of
individual transactions. Aggregation of data at this
level reduces the granularity of data in the data
warehouse, which limits the types of analyses which
are possible.
• It maximises the integrity of data stored in the
central data warehouse</p>
        <p>While the approach is not entirely mechanical, it
provides much more guidance to designers of data
warehouses and data marts than previous approaches.
Careful analysis is still required to identify the entities
in the enterprise data model which are relevant for
decision making and classifying them. However once this
has been done, the development of a dimensional
model can take place in a relatively straightforward
manner. Using an Entity Relationship model of the data
provides a much better starting point for developing
dimensional models than starting from scratch, and can
help avoid many of the pitfalls faced by inexperienced
designers.</p>
        <p>Federated Data Warehouse Architecture</p>
        <p>Use of this approach also supports the development
of independent but consistent data warehouses based on
a common enterprise data model (federated
architecture). The enterprise data model can be used to ensure
the consistency of data definitions between the different
warehouses, enabling data to be compared and
combined between them. It also allows use of common
extract processes. This may be a more feasible option
than a single centralised data warehouse in large and
diverse organisations.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>BANKER</surname>
          </string-name>
          ,
          <string-name>
            <surname>R.D.</surname>
            ,
            <given-names>AND KAUFFMAN</given-names>
          </string-name>
          ,
          <string-name>
            <surname>R.J.</surname>
          </string-name>
          (
          <year>1991</year>
          )
          <article-title>: Reuse and Productivity in Integrated Computer Aided Software Engineering: An Empirical Study</article-title>
          , MIS Quarterly,
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>BATINI</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>CERI</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          AND NAVATHE,
          <string-name>
            <surname>S.B.</surname>
          </string-name>
          (
          <year>1994</year>
          )
          <article-title>Conceptual Database Design: An Entity Relationship Approach</article-title>
          , Benjamin Cummings, Redwood City, California.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>CHEN</surname>
            ,
            <given-names>P.P.</given-names>
          </string-name>
          (
          <year>1976</year>
          ):
          <article-title>The Entity Relationship Model: Towards an Integrated View of Data</article-title>
          ,
          <source>ACM Transactions on Database Systems</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ), March:
          <fpage>9</fpage>
          -
          <lpage>36</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>CHEN</surname>
            ,
            <given-names>P.P.</given-names>
          </string-name>
          (
          <year>1983</year>
          )
          <article-title>: A Preliminary Framework for Entity-Relationship Models</article-title>
          , in Chen, P.P. (ed.)
          <article-title>The Entity-Relationship Approach to Information Modelling and Analysis</article-title>
          , North-Holland.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>CODD</surname>
            ,
            <given-names>E.F.</given-names>
          </string-name>
          (
          <year>1970</year>
          )
          <article-title>A Relational Model of Data for Large Shared Data Banks</article-title>
          ,
          <source>Communications of the ACM</source>
          ,
          <volume>13</volume>
          (
          <issue>6</issue>
          ), June:
          <fpage>377</fpage>
          -
          <lpage>387</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>DAMPNEY</surname>
            ,
            <given-names>C.N.G.</given-names>
          </string-name>
          (
          <year>1996</year>
          )
          <article-title>: Corporate Genera or Corporate Trivia-Can We Really Base Applications on Corporate Data Models? Proceedings of the First Australian DAMA Conference</article-title>
          , Melbourne, Australia, December 1-2.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>DEVLIN</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          (
          <year>1997</year>
          )
          <article-title>: Data Warehouse: From Architecture to Implementation</article-title>
          , Addison-Wesley, Reading, Mass.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>GARDNER</surname>
            ,
            <given-names>S.R.</given-names>
          </string-name>
          (
          <year>1998</year>
          )
          <article-title>: Building the Data Warehouse, Communications of the ACM, September</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>GILES</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          (
          <year>1999</year>
          )
          <article-title>: Data Warehousing: Is It Just First Aid?</article-title>
          , in D.L. Moody (ed.)
          <article-title>From Data to Information to Knowledge: Managing the Unmanageable</article-title>
          ,
          <source>Proceedings of the Fourth Australian DAMA Conference</source>
          , Melbourne, Australia, October
          <volume>11</volume>
          -13.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>GLASSEY</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          (
          <year>1998</year>
          )
          <article-title>: Seducing the End User, Communications of the ACM, September</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>GOODHUE</surname>
            ,
            <given-names>D.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>KIRSCH</surname>
            ,
            <given-names>L.J.</given-names>
          </string-name>
          , AND WYBO,
          <string-name>
            <surname>M.D.</surname>
          </string-name>
          (
          <year>1992</year>
          ):
          <article-title>The Impact of Data Integration on the Costs and Benefits of Information Systems</article-title>
          , MIS Quarterly,
          <volume>16</volume>
          (
          <issue>3</issue>
          ), September:
          <fpage>293</fpage>
          -
          <lpage>311</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>GRAHAM</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>COBURN</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>OLESON</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          (
          <year>1996</year>
          ):
          <article-title>The Foundations of Wisdom: A Study of the Financial Impact of Data Warehousing, International Data Corporation (IDC) Ltd</article-title>
          . Canada.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>HALPIN</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          (
          <year>1995</year>
          )
          <article-title>: Conceptual Schema and Relational Database Design: A Fact Oriented Approach</article-title>
          , Prentice Hall, Sydney.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>HITCHMAN</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>1995</year>
          )
          <article-title>Practitioner Perceptions On The Use Of Some Semantic Concepts In The Entity Relationship Model</article-title>
          ,
          <source>European Journal of Information Systems</source>
          ,
          <volume>4</volume>
          ,
          <fpage>31</fpage>
          -
          <lpage>40</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>INMON</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          (
          <year>1996</year>
          )
          <article-title>: Building the Data Warehouse (2nd Edition)</article-title>
          , New York: J. Wiley &amp; Sons.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>INTERNATIONAL STANDARDS ORGANISATION (ISO)</surname>
          </string-name>
          (
          <year>1987</year>
          ),
          <source>Information Processing Systems - Concepts</source>
          and
          <article-title>Terminology for the Conceptual Schema and the Information Base</article-title>
          ,
          <source>ISO Technical Report 9007.</source>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>KIMBALL</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>1996</year>
          ):
          <article-title>The Data Warehouse Toolkit</article-title>
          , New York: J. Wiley &amp; Sons.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>KIMBALL</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>1997</year>
          )
          <article-title>: A Dimensional Manifesto</article-title>
          , DBMS Online,
          <year>August</year>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>LEWIS</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          (
          <year>1999</year>
          )
          <article-title>: “Use and Abuse of a Meta-Data Registry”</article-title>
          ,
          <source>Fourth Australian Data Management Conference, Melbourne, Australia, October</source>
          <volume>11</volume>
          -13.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>LOVE</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          (
          <year>1994</year>
          ): Enterprise Information Technologies, Van Nostrum Reinhold, New York.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>MARTIN</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          (
          <year>1983</year>
          ):
          <article-title>Strategic Data Planning Methodologies</article-title>
          , Prentice-Hall.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22. MOODY, D.L. AND SIMSION,
          <string-name>
            <surname>G.C.</surname>
          </string-name>
          (
          <year>1995</year>
          )
          <article-title>Justifying Investment in Information Resource Management</article-title>
          ,
          <source>Australian Journal of Information Systems</source>
          ,
          <volume>3</volume>
          (
          <issue>1</issue>
          ), September:
          <fpage>25</fpage>
          -
          <lpage>37</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>POKORNY</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          (
          <year>1998</year>
          )
          <article-title>: Data Warehouses: A Modelling Perspective</article-title>
          ,
          <source>Proceedings of the 7th International Conference on Information Systems Development</source>
          , Bled, Slovenia, Plenum Press.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>SAGER</surname>
            ,
            <given-names>M.J.</given-names>
          </string-name>
          (
          <year>1988</year>
          )
          <article-title>: Data-centred Enterprise Modelling Methodologies - A Study Of Practice And Potential</article-title>
          . Australian
          <source>Computer Journal</source>
          ,
          <year>August</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>SEN</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>JACOB</surname>
            ,
            <given-names>V.S.</given-names>
          </string-name>
          (
          <year>1998</year>
          )
          <article-title>: Industrial Strength Data Warehousing, Communications of the ACM, September</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>SHANKS</surname>
            ,
            <given-names>G.G.</given-names>
          </string-name>
          (
          <year>1996</year>
          )
          <article-title>: “Enterprise Data Architectures: A Study of Practice”</article-title>
          ,
          <source>First Australian Data Management Conference, Melbourne, Australia, December 2-3.</source>
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>SIMSION</surname>
            ,
            <given-names>G.C.</given-names>
          </string-name>
          (
          <year>1994</year>
          )
          <article-title>: Data Modelling Essentials</article-title>
          , Van Nostrand Reinhold, New York.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>