# Presentation: 423178

## THE NEED FOR A DATA MODEL

- Michael Hamsa

## OVERVIEW

- Architecture and schemas
- Application development and the data model
- Moving forward

## “SCHEMA” ARCHITECTURE

- “Schema” refers to the structure of the data within a database
- Schema architecture has evolved over time
- No schema
- Internal schema
- External schema
- Conceptual schema
- Conceptual schema is our target

## “NO SCHEMA” ARCHITECTURE

**PROGRAM ONLY **
**(NO DATA STORAGE)**

**	****Earliest computing devices**
** ****	****No data storage, no data representation**
**	****No data ... hence, no “schema”**

## “INTERNAL” SCHEMA ARCHITECTURE

**PROGRAM**

**INTERNAL**
**SCHEMA**

**DATA**

**Required once data storage devices were added to the computing system**
**Programs manipulated data storage devices directly**
**code to control and reference data storage had to be included as part of the application**
**Programs “owned” the data**

## “EXTERNAL” SCHEMA ARCHITECTURE	

**PROGRAM**

**INTERNAL**
**SCHEMA**

**DATA**

**EXTERNAL**
**SCHEMA**

**USER**

**	****Easier for users to work with**
**	****Programming remained complex**
**mapping between code and data structure same as in internal schema structure**
**program logic required change if external or internal schema changed**
**programmer supporting both the internal and the external views**

## “CONCEPTUAL” SCHEMA ARCHITECTURE

- Introduction of the DBMS (Database Management System) facilitated the emergence of the “conceptual” schema
- Program / programmers no longer maintained an internal schema
- programs address the “external schema,” which the DBMS would map to the internal data structure

## “CONCEPTUAL” SCHEMA, 3-TIER ARCHITECTURE

**DBMS**

**INTERNAL**
**SCHEMA**

**DATA**

**INTERNAL**
**SCHEMA**

**DATA**

**DATA**

***1 “Internal”***

## “CONCEPTUAL” SCHEMA, 3-TIER ARCHITECTURE

**DBMS**

**INTERNAL**
**SCHEMA**

**DATA**

**INTERNAL**
**SCHEMA**

**DATA**

**DATA**

***1 “Internal”***

**PROGRAM**

**EXTERNAL**
**SCHEMA**

**USER**

***2 “External”***

## “CONCEPTUAL” SCHEMA, 3-TIER ARCHITECTURE

**PROGRAM**

**EXTERNAL**
**SCHEMA**

**USER**

**DBMS**

**CONCEPTUAL**
**SCHEMA**

**INTERNAL**
**SCHEMA**

**DATA**

**INTERNAL**
**SCHEMA**

**DATA**

**DATA**

***2 “External”***

***3 “Conceptual”***
***The glue which attaches the***
***internal data structure to ***
***the external user ***
***presentation!***

***1 “Internal”***

## TECHNOLOGY ADVANCES

- System administration tools
- Report generators
- Database management systems
- “Housekeeping” features that liberated programmer time to pursue end user support

## APPLICATION DEVELOPMENT

***HI!  I’m from I/S...and I’m here to help!***

- Application explosion came with database management systems and other tools relieving the burden on system support / programming

## “DATA MODEL” PROLIFERATION

*“**DATA MODEL” PROLIFERATION*

- BICARSA

- Customer Service

- GIS & Mapping

- ADDRESS FILE

- Tax Information System

*...**unfortunately, they are often different shapes and sizes!!*

## PRICE OF PROGRESS

- INFORMATION OVERLOAAD
- REDUNDANT, OUT-OF-SYNCH DATA
- INCONSISTENT DATA STRUCTURES

***RESOURCE BURN!!!***

## THE DATA TIME BOMB

## SOLUTION?  INTEGRATED SYSTEM DESIGN

*SOLUTION?  **INTEGRATED SYSTEM DESIGN*

**SINGLE DESIGN FOUNDATION**

**CIS**

**TAX**
**INFO**
**SYSTEM**

**GIS**

**ADDRESS**

**BICARSA**

***“******ENTERPRISE DATA MODEL”***

## REALITY

- Few organizations have an enterprise-wide data model
*Production applications **typically **run against installed, disassociated, non-integrated databases*
- New applications, “off-the-shelf” applications often complicate the issue

## MOVING FORWARD	

*MOVING FORWARD**	*

**OLD**
**APP**

**OLD**
**APP**

**OLD**
**APP**

## MOVING FORWARD	

*MOVING FORWARD**	*

**OLD**
**APP**

**CORPORATE**
**DATA MODEL**

**OLD**
**APP**

**OLD**
**APP**

**D**
**A**
**T**
**A**
**C**
**O**
**P**
**I**
**E**
**S**

## MOVING FORWARD	

*MOVING FORWARD**	*

**NEW**
**APPS**

**D**
**A**
**T**
**A**
**C**
**O**
**P**
**I**
**E**
**S**

**OLD**
**APP**

**CORPORATE**
**DATA MODEL**

**OLD**
**APP**

**OLD**
**APP**

**D**
**A**
**T**
**A**
**C**
**O**
**P**
**I**
**E**
**S**

## ENTERPRISE DATA MODEL

*ENTERPRISE DATA MODEL*

**NEW**
**APPS**

**CORPORATE**
**DATA MODEL**

**Migrated**
**Application**

**Migrated**
**Application**

**Migrated**
**Application**

## A WORD ABOUT “DATA WAREHOUSING”

- Data Warehouse will not solve this problem
- Warehouses are, in themselves, copies of data from “custodial systems”
- No data entry, data update is done within a data warehouse
- Custodial applications (those where data is created / updated) must migrate

## WHAT IS A DATABASE?

**Table**** ****1**

**Table 2**

**Table 3**

**Table 4**

*WHAT IS A DATABASE?*

- Database:  an “organized” collection of data values
- runs under a DBMS
- organized in “tables”
- All databases have a “model”
- may be *(but is not always)* defined through “data modeling”
- implicit in the database structure

## WHAT IS THE DATA MODEL?

- LOGICAL:  A *specification of the data structures* *and business rules* needed to support a business area within an organization
- PHYSICAL:  The organization the actual database structure...that “implicit” model previously referenced

## The “Data Model”

- STATE may include 0, 1 or more CITYs
- CITY may belong to one and only one STATE

*Notation*...a visual depiction that conveys information about the data model elements and their relationships

## DATA MODELING

*Highly transferable*

- A technical skill
- Requires education and practice

- Supported by CASE tools

## CASE TOOL BENEFITS

- Electronic documentation and update
- Memory of all defined relationships
- Database generation

*From concept to database...*

## Data Model for “ADDRESS”

## DATA MODELING PROCESS

*From the users...*
*    **to the model...*
*        **to the application!*

## DATA MODELING USES / BENEFITS

- Data architecture planning
- Database design
- Off-the-shelf application evaluation
- User needs analysis
- Application development