Data Model: Information Software Code Functional Specification Computer Software Process
Data Model: Information Software Code Functional Specification Computer Software Process
Data Model: Information Software Code Functional Specification Computer Software Process
Overview of data modeling context: A data model provides the details of information to be stored,
and is of primary use when the final product is the generation of computer software code for an
application or the preparation of a functional specification to aid acomputer software make-or-buy
decision. The figure is an example of the interaction between process and data models.[1]
A data model in software engineering is an abstract model, that documents and organizes the business data for
communication between team members and is used as a plan for developing applications, specifically how data is
According to Hoberman (2009), "A data model is a wayfinding tool for both business and IT professionals, which uses
a set of symbols and text to precisely explain a subset of real information to improve communication within the
organization and thereby lead to a more flexible and stable application environment."[2]
A data model explicitly determines the structure of data or structured data. Typical applications of data models
include database models, design of information systems, and enabling exchange of data. Usually data models are
Communication and precision are the two key benefits that make a data model important to applications that use and
exchange data. A data model is the medium which project team members from different backgrounds and with
different levels of experience can communicate with one another. Precision means that the terms and rules on a data
model can be interpreted only one way and are not ambiguous.[2]
A data model can be sometimes referred to as a data structure, especially in the context ofprogramming languages.
Data models are often complemented by function models, especially in the context of enterprise models.
Overview
Managing large quantities of structured and unstructured
data is a primary function of information systems. Data
models describe structured data for storage in data
management systems such as relational databases. They
typically do not describe unstructured data, such as word
processing documents, email messages, pictures, digital
audio, and video.
[edit]The role of data models
The ANSI/SPARC three level architecture. This shows that a data model can be an external model
(or view), a conceptual model, or a physical model. This is not the only way to look at data models,
but it is a useful way, particularly when comparing models. [4]
[edit]Database model
A database model is a theory or specification describing
how a database is structured and used. Several such
models have been suggested. Common models include:
Relational model
Hierarchical model Network model
Flat model
Star schema
Concept-oriented model
Object-relational model: Similar to a relational database
model, but objects, classes and inheritance are directly
supported in database schemas and in the query
language.
Star schema is the simplest style of data warehouse
schema. The star schema consists of a few "fact tables"
(possibly only one, justifying the name) referencing any
number of "dimension tables". The star schema is
considered an important special case of the snowflake
schema.
[edit]Data Structure Diagram
[edit]Entity-relationship model
An entity-relationship model (ERM) is an
abstract conceptual data model(or semantic data model)
used in software engineering to represent structured data.
There are several notations used for ERMs.
[edit]Geographic data model
A data model in Geographic information systems is a
mathematical construct for representing geographic objects
or surfaces as data. For example,
the vector data model represents geography as
collections of points, lines, and polygons;
the raster data model represent geography as cell
matrixes that store numeric values;
and the Triangulated irregular network (TIN) data model
represents geography as sets of contiguous,
nonoverlapping triangles.[13]
Groups relate to process of NGMDB databases linked
NGMDB data model
making a map[14] together[14] Representing 3D map
applications[14]
information[14]
content-related properties
timeliness: the availability of data at the time
required and how up to date that data is.
accuracy: how close to the truth the data is.
properties related to both definition and content
completeness: how much of the required data is
available.
accessibility: where, how, and to whom the data is
available or not available (e.g. security).
cost: the cost incurred in obtaining the data, and
making it available for use.
[edit]Data organization
Another kind of data model describes how to organize data
using a database management system or other data
management technology. It describes, for example,
relational tables and columns or object-oriented classes and
attributes. Such a data model is sometimes referred to as
the physical data model, but in the original ANSI three
schema architecture, it is called "logical". In that
architecture, the physical model describes the storage
media (cylinders, tracks, and tablespaces). Ideally, this
model is derived from the more conceptual data model
described above. It may differ, however, to account for
constraints like processing capacity and usage patterns.
While data analysis is a common term for data modeling,
the activity actually has more in common with the ideas and
methods of synthesis (inferring general concepts from
particular instances) than it does with analysis (identifying
component concepts from more general ones). {Presumably
we call ourselves systems analysts because no one can
say systems synthesists.} Data modeling strives to bring the
data structures of interest together into a cohesive,
inseparable, whole by eliminating unnecessary data
redundancies and by relating data structures
with relationships.
A different approach is through the use of adaptive
systems such as artificial neural networks that can
autonomously create implicit models of data.
[edit]Data structure
Linked list
Hash table
Array Stack (data structure)
[edit]Data model theory
The term data model can have two meanings: [16]
1.A data model theory, i.e. a formal description of how
data may be structured and accessed.
2.A data model instance, i.e. applying a data
model theory to create a practical data
model instance for some particular application.
A data model theory has three main components: [16]
The structural part: a collection of data structures which
are used to create databases representing the entities or
objects modeled by the database.
The integrity part: a collection of rules governing the
constraints placed on these data structures to ensure
structural integrity.
The manipulation part: a collection of operators which
can be applied to the data structures, to update and query
the data contained in the database.
For example, in the relational model, the structural part is
based on a modified concept of the mathematical relation;
the integrity part is expressed in first-order logic and the
manipulation part is expressed using the relational
algebra, tuple calculus and domain calculus.
A data model instance is created by applying a data model
theory. This is typically done to solve some business
enterprise requirement. Business requirements are normally
captured by a semantic logical data model. This is
transformed into a physical data model instance from which
is generated a physical database. For example, a data
modeler may use a data modeling tool to create an entity-
relationship model of the corporate data repository of some
business enterprise. This model is transformed into
arelational model, which in turn generates a relational
database.
[edit]Patterns
Example of the application of Object-Role Modeling in a "Schema for Geologic Surface", Stephen M.
Richard (1999).[23]
Database design
Business process model
Core Architecture Data Model
Database system
Data dictionary
Diagram
Enterprise model
Entity-Relationship Model
Function model
IDEF1X
Information model
Information system
JC3IEDM
Ontology
Process model
XML schema
Data Format Description Language (DFDL)
[edit]