Data Modeling Tools – Xcase

Xcase – Overview:

Xcase is a powerful and intuitive data modeling tool. It automates database creation and maintenance, making the modeling process simple and visual. The tool provides tight support for the leading DBMS and an impressive set of capabilities.

Using Xcase, data modelers can create data models from scratch or from existing databases using the Reverse Engineering module. Once the model is complete, Xcase Forward Engineering module generates all the DDL scripts necessary to create a new database or update an existing one.

Using Xcase, you can:

⇒ Create Professional Data Models from scratch.

⇒ Reverse Engineer existing database structures.

⇒ View and organize the database structure at different levels of depth.

⇒ Communicate effectively with clients and colleagues.

⇒ Fully control database Metadata within the model and add user defined attributes for each object.

⇒ Manage different versions of your model/database using the advanced Version Control module – compare a model to the actual database, to another model or to a previous version of the same model and generate a detailed report of all discrepancies found.

⇒ Synchronize your model with the database using the 2-way synchronization feature. Xcase provides a detailed report on discrepancies found between the model and the database and allows you to update the model based on the actual database structure or update the database based on your model.

⇒ Automatically generate all the code necessary to create and maintain the database without jeopardizing existing data.

⇒ Validate the data in the database against the business rules defined in the model.

⇒ Access and edit the data relationally using automatic parent/child browsers and lookups.

⇒ Migrate the database metadata and data from one DBMS to another.

Note: For more information, refer the Xcase data modeling web page.

 

Create Data Modeling Objects in Toad

How to create Data Modeling Objects in Toad?

Here in this section, we will create a physical data model instead of starting from logical data model, since we can cover most of the features of a data modeling tool in the physical data model. Please refer our sections listed under Data Modeling Topic Logical Data Modeling and Data Modeling Tool – Erwin for creating a logical data model.

Table Structures:

EmployeeTitleDepartmentProjectEmployee_Project
Employee_No (PK)Title_Code (PK)Department_No (PK)Project_Code (PK)Employee_No (FPK)
Employee_NameTitle_DescriptionDepartment_NameSoftware_UsedProject_Code (FPK)
Manager_No (FK)
Title_Code (FK)
Department_No (FK)

Working with Toad:

  • Open Toad Data Modeler Software
  • Click Menu File → New → Model
  • A new window will appear which asks you to select the database on which you will be generating the physical model
  • Since we are doing it in Oracle, select Oracle 11g release 2. Click OK.
  • A new screen appears. On the left hands side top, you can see the database name (Oracle 11g release 2). Below that you can see Physical Model Explorer, which contain different objects. Physical Model looks similar to a windows explorer.
  • On the middle and right hand side, you can see work-space (work area), where we will be creating objects.

On the tool bar, you can see a list box which displays Captions (Logical Data Model, Names (Physical Data Model) and Full Names. Select Names.

How to create table ‘DEPARTMENT’?

  • Click entity icon displayed on the tool bar and drop it on the work area. A new entity is created. By default some name is provided by the tool.
  • Highlight the entity, right click and click edit from the sub menu.
  • A new window, which contains different tabs, is opened.
  • Under General Tab, change the name and captions to “DEPARTMENT”.
  • Click Apply and OKAY. Now in the work area, you can see the DEPARTMENT table.

NOTE: Give proper names to TABLES, COLUMNS, PRIMARY KEYS, FOREIGN KEYS, INDEXES etc. and all other database objects as per the standard maintained by the data modeling team and database team.

How to create columns, primary keys, data type to table?

1. DEPARTMENT Table:

Column NameConstraint NameDataType
Department_NoPrimary KeyInteger
Department_NameNOT NULLVARCHAR2 (30)

  • Highlight table DEPARTMENT, right click edit from the sub menu.
  • Click Tab ‘Attributes’. Click Add. By default, an attribute is created. Click edit and from the new window
    • Change name and caption to ‘Department_No’.
    • Change the data type to Integer.
    • Department_No is the primary key of the table. So double click the space under the key column and you can see the key symbol. Click apply and OK. Go to the keys tab and change the primary key name to “Department_PK’.
  • On the work area, you can see table DEPARTMENT with a column “Department_No” as the primary key.
  • Similarly create column ‘Department_Name” with data type as VARCHAR2 (30). It should not be the primary key and it should be a column in the table. When you create, you can see a check box under NOT NULL. Check that check box so that this column will be NOT NULL. Assign data type as VARCHAR2 (30).

Similarly create tables TITLE and PROJECT and add columns to those tables.

2. TITLE Table:

Column NameConstraint NameDataType
Title_Code (PK)Primary KeyInteger
Title_DescriptionNOT NULLVARCHAR2 (30)

3. PROJECT Table:

Column NameConstraint NameDataType
Project_Code (PK)Primary KeyInteger
Software_UsedNOT NULLVARCHAR2 (30)

Similarly create table EMPLOYEE with Employee_No as the primary key and Employee_Name as the column. Later we will add other columns.

4. EMPLOYEE Table:

Column NameConstraint NameDataType
Employee_No (PK)Primary KeyInteger
Employee_NameNOT NULLVARCHAR2 (30)

 

Creating a Physical Data Model using Erwin

How to create a Physical Data Model using Erwin 4.1.4 version?

1: Change the view from “Logical to Physical” from the drop down list.

2: Click “Database” from main menu and then click “Choose Database” from the sub menu. Then select your target database server where the database has to be created. Click ok.

3: Place the cursor on the table “Country” and right click it. From the displayed menu, click columns which will take you to the column wizard. Click the “Database Tab”, which is next to “General Tab” and assign datatypes “VARCHAR2(10), VARCHAR2(50) for columns COUNTRY_CODE and COUNTRY_NAME respectively. Change the default NULL to NOT NULL for the column COUNTRY_NAME. Similarly, repeat the above step for the BANK table. Once you have done all of these, you can see the physical version of the logical data model in the current workplace.

The Physical Data Model created by following the above steps looks similar to the following diagram.

physical

How to generate DDL(sql) scripts to create a database?

1: Select the view as <b>Physical</b> from the drop down list.

2: Click “Tools” from main menu and then click “Forward Engineer/Schema Generation” from the sub menu which will take you to the “Schema Generation Wizard”. Select the appropriate properties that satisfies your database requirements like schema, table, primary key etc. Click preview to see your scripts. Either you can click to generate the table in a database or you can store the scripts and run against the database later.

The DDL(sql) scripts generated by Erwin by following the above steps looks similar to the following script.

CREATE TABLE Country(Country_Code VARCHAR2(10) NOT NULL,
Country_Name VARCHAR2(50) NOT NULL,
CONSTRAINT PK_Country PRIMARY KEY (Country_Code));
CREATE TABLE Bank(Bank_Code VARCHAR2(10) NOT NULL,
Bank_Name VARCHAR2(50) NOT NULL, Country_Code VARCHAR2(10) NOT NULL,
CONSTRAINT PK_Bank PRIMARY KEY(Bank_Code) );ALTER TABLE Bank ADD( CONSTRAINT FK_Bank
FOREIGN KEY (Country_Code) REFERENCES Country );

Note: This is not a complete tutorial on Erwin. We will add more Tips and Guidelines on Erwin in near future. Please visit us soon to check back. To know more about Erwin, contact its official website www.ca.com.

Creating a Logical Data Model using Erwin

How to create a Logical Data Model using Erwin 4.1.4 version?

In the following section, a simple example with a step by step procedure to create a logical data model with two entities and their relationship are explained in detail.

1: Open All Fusion Erwin Data Modeler software.

2: Select the view as “Logical” from the drop-down list. By default, logical will be your workplace.

3: Click New from File menu. Select the option “Logical/Physical” from the displayed wizard. Click Ok.

4: To create an Entity, click the icon “Entity” and drop it on the workplace. By default E/1 will be displayed as the entity name. Change it to “Country”.

5: To create an Attribute, Place the cursor on the entity “Country” and right click it. From the displayed menu, click attributes which will take you to the attribute wizard. Click “New” button on the wizard and type attribute name as “Country Code”. Select the data type as “String” and click OK. Select the option Primary Key to identify attribute “Country Code” as the primary key. Follow the same approach and create another attribute “Country Name” without selecting the primary key option. Click ok, and now you will be having 2 attributes Country Code, and Country Name under the entity “Country” in the current logical workplace.

6: Create another entity “Bank” with two attributes namely Bank Code and Bank Name by following steps 4 and 5.

7: In order to relate these two tables country, bank, a Foreign Key relationship must be created. To create a Foreign Key relationship, follow these steps.

(a) Click the symbol “Non Identifying Relationship”.
(b) Place the cursor on the entity “Country”.
(c) Place the cursor on the entity “Bank”. Now you can see the relationship(a line drawn from Bank to Country) between “Country” and “Bank”. Double click on that relationship line to open “Relationships wizard” and change the option from “Nulls Allowed” to “No Nulls” since bank should have a country code.

The Logical Data Model created by following the above steps looks similar to the following diagram.

logical

 

Next⇒ Creating a Physical Data Model using Erwin

 

Erwin Tutorial

All Fusion Erwin Data Modeler:

All Fusion Erwin Data Modeler commonly known as Erwin, is a powerful and leading data modeling tool from Computer Associates. Computer Associates delivers several software for enterprise management, storage management solutions, security solutions, application life cycle management, data management and business intelligence.

Erwin makes database creation very simple by generating the DDL(sql) scripts from a data model by using its Forward Engineering technique or Erwin can be used to create data models from the existing database by using its Reverse Engineering technique.

Erwin workplace consists of the following main areas:

  • Logical: In this view, data model represents business requirements like entities, attributes etc.
  • Physical: In this view, data model represents physical structures like tables, columns, datatypes etc.
  • Modelmart: Many users can work with a same data model concurrently.

What can be done with Erwin?

  • Logical, Physical and dimensional data models can be created.
  • Data Models can be created from existing systems(rdbms, dbms, files etc.).
  • Different versions of a data model can be compared.
  • Data model and database can be compared.
  • SQl scripts can be generated to create databases from data model.
  • Reports can be generated in different file formats like .html, .rtf, and .txt.
  • Data models can be opened and saved in several different file types like .er1, .ert, .bpx, .xml, .ers, .sql, .cmt, .df, .dbf, and .mdb files.
  • By using ModelMart, concurrent users can work on the same data model.

In order to create data models in Erwin, you need to have this All Fusion Erwin Data Modeler installed in your system. If you have installed Modelmart, then more than one user can work on the same model.

How to create a Logical Data Model using CA Erwin Data Modeler Version 9?

In the following section, a simple example with a step by step procedure to create a logical data model with two entities and their relationship are explained in detail.

  • Open CA Erwin Data Modeler Version 9 software.
  • Go to menu ‘file’ and click ‘new’. A new box will be displayed. Click the button logical/physical from type. From the drop down list box, select ‘oracle’ as the database and version as ’10g/11g’. Click OK button. A new workspace is created. To select notation ‘IDEF1X’ or ‘IE’ Go to MODEL/MODEL PROPERTIES/GENERAL TAB to change.
  • Above the workspace, you can see menus File, Edit, View, Diagram, Model, Actions, Tools, Windows, Help. Below that you can see the following tool bars.
    Standard, Toolbox, Formatting, Layout, Zoom, Display, Mart, Database, Alignment, Drawing, Transformations, Customize. On the display toolbar, you can see ‘Logical’ selected by default i.e. you will be working on creation of a logical data model.
  • To create an Entity, click the icon “Entity” from ‘Toolbox’ Toolbar and drop it on the workplace. By default E/1 will be displayed as the entity name and type it as ‘Country’.
  • To create an Attribute, Place the cursor on the entity ‘Country’ and right click it. From the displayed menu, click attribute properties which will take you to the attribute wizard. You can see a button New. Click ‘New’ on the wizard and type attribute name as ‘Country Code’. You can see different headers like ‘Parent Domain’, ‘Logical Datatype’, ‘Primary Key’, ‘Foreign Key, ‘Logical Only’.
    Select the parent domain as ‘string’ and by default logical datatype becomes ‘varchar2(20)’. Change the datatype to ‘varchar2 (2); Click the check box near the primary key.Similarly create another column Country Name with parent domain as ‘string’ and datatype as ‘varchar2 (50)’. Select NULL OPTION as ‘NOT NULL’ from the NULL OPTION list box. THERE ARE DIFFERENT TABS LIKE ‘General’, ‘Constraint’, ‘Link’, ‘Key Groups’, ‘Style’, ‘Definition’, ‘Where Used’, ‘UDP’, ‘Notes’ etc. To create constraints, you can use ‘constraint’ tab. To create indexes, you can use ‘key groups’ tab. For typing attribute definition ‘ you can use ‘definition tab’. For changing font size, font name, font color, you can use ‘style tab’. For seeing the properties like event, date created, created by, data modified, modified by, you can use ‘Notes’ tab. Click ok, and now you will be having 2 attributes Country Code, and Country Name under the entity ‘Country’ in the current logical workplace.
  • Create another entity ‘Bank’ with two attributes namely Bank Code and Bank Name.
  • In order to relate these two tables country, bank, a Foreign Key relationship must be created. To create a Foreign Key relationship, follow these steps.
    • Click the symbol ‘Non Identifying Relationship’ from ‘Toolbox’ Toolbar.
    • Place the cursor on the entity ‘Country’.
    • Place the cursor on the entity ‘Bank’. Now you can see the relationship (a line drawn from Bank to Country) between ‘Country’ and ‘Bank’. Double click on that relationship line to open ‘Relationships wizard’ and change the option from ‘Nulls Allowed’ to ‘No Nulls’ since bank should have a country code.

    The Logical Data Model created by following the above steps looks similar to the following diagram.

  • SAVE: To save the file, click save button in the ‘standard’ tool bar and save it as .’CA_Erwin_Data_Modeler_v9_example’ and file type will be .erwin.

How to create a Physical Data Model using CA Erwin Data Modeler Version 9?

  • Change the view from ‘Logical to Physical’ from the drop down list.
  • If you want to add some physical properties, you can add it here.
Explanation:

In the logical view: When you right click and view entity properties for entity ‘Country’, you can see tabs like volumetrics, definition, style, icon, where used, UDP, NOTES etc. The information that you fill will explain about entity properties.

In the physical view: when you right click and view table properties for table ‘country’, you can see tabs like table options, general, partitions, supplemental logging, validation, materialized view log, style, icon, synonym comment, object creation order, where used, UDP, Notes etc.

If you are an expert, then you can fill relevant details in the above mentioned tabs so that it will be useful while creating scripts. If you are not an expert, you can discuss with DBAs, get relevant information and fill details.

How to generate DDL(sql) scripts to create a database using CA Erwin Data Modeler Version 9?

  • Click menu ‘edit’. Navigate to ‘selection’ and click ‘select all’. Objects bank and country will be highlighted.
  • Click the ‘forward engineer schema generation’ icon in the ‘database’ tool bar. A new Wizard appears.
  • There are two boxes. On the left side box, you can several database objects. On the right side box, you can see different options for each object.

Left Side BoxRight Side Box
DatabaseDo not select anything
SchemaDo not select anything
StorageDo not select anything
Table1) Check table under 'create' option
Materialized View LogDo not select anything
ColumnDo not select anything
Materialized ViewDo not select anything
ViewDo not select anything
IndexDo not select anything
Referential Integrity1) Check 'create/pk' under 'primary key/pk';
2) Check 'create/fk' under 'foreign key (FK)'
TriggerDo not select anything
Other OptionsClick 'constraint name'

Click preview. You can see the sql code generated by Erwin data modeler tool.

CREATE TABLE Country ( Country_Code VARCHAR2(2) NOT NULL ,
Country_Name VARCHAR2(50) NOT NULL ,
CONSTRAINT XPKCountry PRIMARY KEY (Country_Code) );

CREATE TABLE Bank ( Bank_Code VARCHAR2(2) NOT NULL ,
Bank_Name VARCHAR2(50) NOT NULL ,
Country_Code VARCHAR2(2) NOT NULL ,
CONSTRAINT XPKBank PRIMARY KEY (Bank_Code),
CONSTRAINT Country_to_Bank FOREIGN KEY (Country_Code) REFERENCES Country (Country_Code) );

Next⇒ Creating a Logical Data Model using Erwin

 

Domain object, Default object and Check constraints

Why do we need to create Domains, Defaults & Check Constraints?

When you create domains, defaults and attach them to the columns in a data model, you are actually speeding up the data model creation process by using the predefined datatypes for all the similar columns. Metadata/data in the database and data structures will be consistent across the data models so that conflicts can be reduced. Check constraints enforce some rules on columns in the data model as per your instructions.

In this section, you will see how you can create domain, defaults and check constraints by using TOAD Data Modeler for the sample data shown below. To know more about the definitions and meaning of a domain, defaults and check constraints, please refer our earlier section Data Modeling Objects listed under the category Data Modeling.

Sample Data:

Column NameDataType
FULL_NAMEVARCHAR2(30) NOT NULL
STREET_NAMEVARCHAR2(30) NOT NULL
CITY_NAMEVARCHAR2(30) NOT NULL
GENDERCHAR(1) NOT NULL
SSNCHAR(9) NOT NULL
RECORD_DATEDATE NOT NULL
USER_NAMEVARCHAR2(30) NOT NULL

Sample Data Observation:

  • You see columns FULL_NAME, CITY_NAME, STREET_NAME, and USER_NAME with the same datatype of VARCHAR2 (30). So, first create a domain with datatype as VARCHAR2 (30). Then attach it to four of these columns.
  • For column GENDER, it can take only two values. Create a check constraint.
  • For column SSN, it should contain only numerical values. So create check constraint.
  • For column RECORD_DATE, it will store system date. So create a default.
  • For column USER_NAME, it will store the name of the user who inserted or updated that record. So create a default.

Steps to be followed in Toad:

  • Go to TOAD DATA MODELER and create a table “DOMAIN_RULE_DEFAULT” as mentioned in the section Create Data Modeling Objects
  • Domain:
    • Creating Domain: Go to menu “MODEL/DOMAIN”. In the new window, click add. By default, a domain is created by TOAD. Change caption and name to “NAME_DOMAIN” and change datatype to VARCHAR2(30).
    • Attaching Domains: You have to attach domain “NAME_DOMAIN” for FULL_NAME, CITY_NAME, STREET_NAME, and USER_NAME. While creating columns, you can see a list box for attaching DOMAINS. Select the domain “NAME_DOMAIN” and attach it to those columns.
  • Default:
    • Creating Default for column RECORD_DATE: Go to menu “MODEL/DEFAULT”. In the new window, click add. By default a domain created by TOAD. Edit in General tab and Change caption and name to “TODAY_DATE_DEFAULT”. In SQL tab, type the syntax “SYSDATE”.
    • Creating Default for column USER_NAME: For column USER_NAME, create another default RECORD_BY_USER_DEFAULT and in SQL tab, type the syntax “USER”.
    • Attaching columns to Defaults: You have to attach the Default “TODAY_DATE_DEFAULT” to column “RECORD_DATE”. While creating columns, you will see a list box for attaching Defaults. Select the default “TODAY_DATE_DEFAULT” and attach it to RECORD_DATE column. Do the same procedure for the other column USER_NAME to attach it to the default “RECORD_BY_USER_DEFAULT”.
  • CHECK Constraint:
    • Creating and attaching Check Constraint: While creating the column gender, you can see a tab “check constraints”. Click add. By default a check constraint is created by TOAD. Edit in General tab and change caption and name to “GENDER_CHECK”. In sql tab, type “gender in (‘M’, ‘F’)”.
    • Similarly do it for SSN column also. In sql tab, type SSN BETWEEN ‘000000001’ AND ‘999999999’.

This is how the table looks in a Data Model.

Column NameDataType
FULL_NAMENAME_DOMAIN NN
STREET_NAMENAME_DOMAIN NN
CITY_NAMENAME_DOMAIN NN
GENDERChar(1) NN
SSNChar(9) NN
RECORD_DATEDate NN
USER_NAMENAME_DOMAIN NN

Note: NN means NOT NULL.

In few columns, you see NAME_DOMAIN. The domain that you attached is displayed here instead of data type.

DDL Script for this table:

 


 

 

 

CREATE TABLE “DOMAIN_RULE_DEFAULT”(
“FULL_NAME” Varchar2(30 ) NOT NULL,
“STREET_NAME” Varchar2(30 ) NOT NULL,
“CITY_NAME” Varchar2(30 ) NOT NULL,
“GENDER” Char(1 ) NOT NULL CONSTRAINT “GENDER_CHECK” CHECK (GENDER IN (‘M’, ‘F’)),
“SSN” Char(9 ) NOT NULL CONSTRAINT “SSN_CHECK” CHECK (SSN BETWEEN (‘000000001’ AND ‘999999999’)),
“RECORD_DATE” Date DEFAULT Sysdate NOT NULL,
“USER_NAME” Varchar2(30 ) DEFAULT USER NOT NULL)


 

Data Modeling Tools – What to Learn? Part 2

Dimensional Data Model:

  • Is there any specific notation to identify a Data Warehouse/Data mart data models?

Subject Area:

  • How to create subject area and assign relevant entities to subject area?

Reports:

  • How to generate reports from data model and export to .XLS, .DOC, .XML file formats?

Naming Options:

  • Is there any method to change the entity/table, attribute/column name from
    upper case to lower case or lower case to upper case?

Import & Export:

  • How to create data models from .xls, .txt files etc.?
  • How to import and export meta data into ETL tools?

Abbreviation Document:

  • How to create/attach a standard abbreviation document(for naming tables, columns etc.)?

Print:

  • How to send data models to printer/plotter/Acrobat Reader?

Backup:

  • How to take backup of data model?

Others:

  • How to split a data model to logical and physical data model?
  • How to copy and paste objects within data model and across data models?
  • How to search an object within a data model?
  • How to change the font size and color of entities,attributes,relationship lines?
  • How to create a legend?
  • How to show a data model in different levels like entity level, attribute level, and definition level?

 

Data Modeling Tools: What to Learn?

Data modeling tools are the only way through which we can create powerful data models. Following are the various options that we have to know and learn in data modeling tools before start building data models.

Logical Data Model:

  • How to create entity and add definition, business rule?
  • How to create domains?
  • How to create an attribute and add definition, business rule, validation rules like default values and check constraint?
  • How to create supertypes, subtypes?
  • How to create primary keys, unique constraint, foreign key relationships, and recursive relationships?
  • How to create identifying and non-identifying relationship?
  • How to assign relationship cardinality?
  • How to phrase relationship connecting two tables?
  • How to assign role names?
  • How to create key groups?
  • How to create sequence no’s?

Physical Data Model:

  • How to rename a table?
  • How to rename a column,validation rules like default and check constraints?
  • How to assign NULL and NOT NULL to columns?
  • How to name foreign key constraints?
  • How to connect to databases like MS Access, Oracle, Sibase, Terradata etc?
  • How to generate sql code from data model to run against databases like MS Access, Oracle, Sibase, Terradata etc.?
  • How to create a data model from an existing database like MS Access, Oracle, Sibase, Terradata etc.?
  • How to add database related properties to tables, indexes?
  • How to check different versions of the data model?
  • How many data modelers can concurrently work on the same version of a data model?

Data Modeling Tools – What to learn? Part 2

Data Modeling Tools

There are a number of data modeling tools to transform business requirements into logical data model, and logical data model to physical data model. From physical data model, these tools can be instructed to generate sql code for creating database.

Popular Data Modeling Tools:

Tool NameCompany Name
ErwinComputer Associates
EmbarcaderoEmbarcadero Technologies
Rational RoseIBM Corporation
Power DesignerSybase Corporation
Oracle DesignerOracle Corporation
XcaseRESolution LTD.

 

Data Warehouse and Data Mart

A Data Warehouse is a relational/multidimensional database that is designed for query and analysis rather than transaction processing. A data warehouse usually contains historical  data that is derived from transaction data. It separates analysis workload from transaction workload and enables a  business to consolidate data from several sources.

In addition to a relational/multidimensional database, a data warehouse environment often consists of an ETL solution, an OLAP engine, client analysis tools, and other applications that manage the process of gathering data and delivering it to business users.

There are three types of data warehouses: 

1. Enterprise Data Warehouse – An enterprise data warehouse provides a central database for decision support throughout the enterprise.

2. ODS (Operational Data Store) – This has a broad enterprise wide scope, but unlike the real Enterprise data warehouse, data is refreshed in near real time and used for routine business activity.

3. Data Mart – Datamart is a subset of data warehouse and it supports a particular region, business unit or business function.

Data warehouses and data marts are built on dimensional data modeling where
fact tables are connected with dimension tables. This is most useful for users to access
data since a database can be visualized as a cube of several dimensions. A data
warehouse provides an opportunity for slicing and dicing that cube along each of
its dimensions.

Data Mart:

A data mart is a subset of data warehouse that is designed for a particular line of business, such as sales, marketing, or finance. In a dependent data mart, data can be derived from an enterprise-wide data warehouse. In an independent data mart, data can be collected directly from sources.

Data Warehouse and Datamarts – Sample Diagram:

Data Warehouse Datamart

 

1 2 3 4 6