Systems Analysis and Design
Systems Analysis and Design
11-1
Chapter Outline
• Data storage formats.
- Files.
- Databases.
• Moving from logical to physical data models.
• Optimizing data storage.
11-2
INTRODUCTION
• The data storage function is concerned with how
data is stored and handled by programs that run the
system.
• Data storage design is to
- select the data storage format;
- convert the logical data model created during
analysis into a physical data model to reflect the
implementation decision;
- ensure that DFDs and ERDs balance; and
- design the selected data storage format to optimize
its processing efficiency.
11-3
Files
• A data file contains an electronic list of
information that is formatted for a
particular transaction.
• Typically, files are organized sequentially.
• Records can be associated with other
records by pointers.
• Sometimes files are called linked Lists
because of the way the records are linked
together using pointers.
11-4
File based DB: appointment
record
11-5
Example of
database:
11-6
Databases
• There are many types of databases:
- Relational database
- Object database
- Multidimensional database
11-7
Relational Databases
• The relational database is the most popular kind of
database for application development today.
• A relational database is based on collections of tables,
each of which has a primary key.
• The tables are related to each other by the placement of
the primary key from one table into the related table as a
foreign key.
• Most relational database management systems (RDBMS)
support referential integrity, or the idea of ensuring that
values linking the tables together are valid and correctly
synchronized.
• Structured Query Language (SQL) is the standard language
for accessing the data in the tables.
11-8
(cont’d)
Relational
database
example
11-9
Object Databases
• The object database, or object-oriented
database, is based on the premise of object
orientation that all things should be treated as
objects that have both data (attributes) and
processes (behaviors).
• Changes to one object have no effect on other
objects because the attributes and behaviors self-
contained, or encapsulated, within each one.
• This encapsulation allows objects to be reused.
11-
10
(cont’d)
• Object Database Example
11-
11
Multidimensional Databases
• A multidimensional database is a type of relational
database that is used extensively in data
warehousing.
• Data warehousing is the practice of taking and
storing data in a data warehouse (i.e., a large
database) that supports decision support systems
(DSS).
• Data marts are smaller databases based on data
warehouse data, and support DSS for specific
departments or functional areas of the
organization.
11-
12
Selecting a Storage Format
11-
13
Moving from logical ER to
physical ER
11-
14
MOVING FROM LOGICAL TO
PHYSICAL
11-
15
Conceptual, Logical and Physical
• Conceptual, logical and physical model or ERD are
three different ways of modeling data in a domain.
11-
17
Logical Model
11-
20
Metad
ata
11-
21
OPTIMIZING DATA STORAGE
11-
22
Optimizing data storage
• The data storage format is now
optimized for processing efficiency.
• There are two primary dimensions in
which to optimize a relational
database: for storage efficiency and for
speed of access.
11-
23
Optimizing Storage Efficiency
• The most efficient tables in a relational
database in terms of storage space
have no redundant data and very few
null values.
• Normalization is the best way to
optimize data storage for efficiency.
11-
24
(cont’d)
Optimizing data storage
11-
25
Optimizing Access Speed
• After having optimized the data model design for data
storage efficiency, the end result is that data are spread out
across a number of tables.
• For a large relational database, it is necessary to optimize
access speed.
• There are several techniques of optimizing access speed:
• Denormalization
• Clustering
• Indexing
• Estimating the size of data for hardware planning
11-
26
Denormalization
• Denormalization – adding redundancy back
into the design.
11-
27
(cont’d)
There are four
reasons for de-
normalization.
11-
28
Clustering
• Clustering – placing records together
physically so that like records are
stored close together.
• Intrafile clustering – Similar records in
the table are stored together.
• Interfile clustering – Combining
records from more that one table that
typically are retrieved together.
11-
29
Indexing
• An index in data storage is a minitable
(similar to an index of a book) that
contains values from one or more
columns in a table and the location of
the values within the table.
• Indexes require overhead in that they
take up space on the storage.
11-
30
(cont’d)
Example of indexing
11-
31
(cont’d)
• Guidelines for creating indexes
11-
32
Storage Size Estimation
11-
33
Estimating Storage Size
• Volumetrics – technique of estimating the
amount of data that the hardware will need to
support.
1. Calculate the amount of raw data - all the data
that are stored within the tables of the database.
2. Calculate the overhead requirements based on
the DBMS vendor’s recommendations.
3. Record the number of initial records that will be
loaded into the table, as well as the expected
growth per month.
11-
34
(cont’d)
• Example of calculating volumetrics
11-
35
SUMMARY
• File data storage formats
- Files are electronic lists of data.
- Five types of files: master, look-up, transaction, audit,
and history.
• Database storage formats
- A database is a collection of groupings of information
- A DBMS is software that creates and manipulates these
databases.
• Selecting a data storage format
- Relational databases support simple data types very
effectively, whereas object databases are best for
complex data.
11-
36
(cont’d)
• Physical entity relationship diagrams
- Physical ERDs contain references to how data
will be stored in a file or database table, and
metadata are included.
• Optimizing data storage
- There are two primary dimensions in which to
optimize a relational database: for storage
efficiency and for speed of access.
- There are a number of techniques of
optimizing data storage.
11-
37