Comparison

advertisement
Database Comparisons: An Overview
Comparison
Flat File
Hierarchical
Network
Relational
Object-Oriented
Hybrid
Timeframe
Late 1950’searly 1960’s
Mid 1960’searly 1970’s
Late 1960’smid 1970’s
Early 1970’spresent
Late 1980’spresent
Late 1960’searly 1970’s
(Nested)
Database
Evolution
Acronym
1st Generation
2nd Generation
2nd Generation
3rd Generation
4th Generation
DBF
DBMS
DBMS
RDBMS
Description
File orientation &
navigation; file
structures &
proprietary program
interfaces
Hierarchical
orientation &
navigation;
hierarchies of
related records &
standard interfaces
Network orientation
& navigation; uses
hierarchicallyarranged data with
the exception that
child tables can
have more than
one parent;
standard interfaces
Relational
orientation; data
retrieved by unique
keys; relationships
expressed through
matching keys;
physical
organization of data
managed by
RDBMS
OODBS, ODBMS
or OODBMS
Object orientation;
active, distributed
processing & more
powerful operators;
uses objectoriented
programming to
combine data
structures with
functions to create
re-usable objects
Network of
interrelated lists;
looks like several
trees that share
branches; children
have multiple
parents and
parents have
multiple children
Data is stored in
relations (tables);
relationships
maintained by
placing a key field
value of one record
as an attribute in
the related record
Physical
Structure
2/17/2016
Flat file; onedimensional;
frequently in tabular
format; oftentimes
multiple copies of
the same data were
maintained, each
copy sorted in a
different way
Tree; parent-child
relationships; single
table acts as the
“root” of the
database from
which other tables
“branch” out; child
can only have one
parent, but a parent
can have multiple
children
Modeling &
creation of data as
objects; store
objects and
operations to be
performed on data;
applications
interact with object
managers which
work through object
servers to gain
access to object
stores
Late 1990’spresent
(Object-Relational)
4th Generation
O-R, ORDB or
ORDBMS
Nested:
database/operating
system with tool for
data retrieval built
in
Object-Relational:
relational
databases that
have evolved to
add object-oriented
features
Organize
information
common to
relational tabular
structures;
subsume the
relational database
model
1
Database Comparisons: An Overview
Diagram
Programming
Languages Used
See pp. 8
Assembler, Fortran,
COBOL;
spreadsheets use
non-algorithmic
programming
language
See pp. 9
Commands
embedded in
programming
languages;
COBOL, PL1,
Fortran, ADS &
Assembler
See pp. 10
Commands
embedded in
programming
languages;
COBOL, PL1,
Fortran, ADS &
Assembler
See pp. 11
SQL, ODBC
Structural
Changes
If new fields were
added to the file,
every program that
accessed that file
had to be changed
& data files would
have to be
converted
Inflexible (once
data is organized in
a particular way,
difficult to change);
data reorganization
complicated;
requires careful
design
Inflexible (once
data is organized in
a particular way,
difficult to change);
data reorganization
complicated;
requires careful
design
Relationships
No structured
interrelationship
between its data
records
Linked lists using
pointers stored in
the parent/child
records to navigate
through the
records; pointers
could be a disk
address, the key
field, or other
random access
Uses series of
linked lists to
implement
relationships
between records;
each list has an
owner record &
possibly many
member records; a
single record can
Flexible; because
tables are subjectspecific & key fields
relate one entity to
another, both the
data & the
database structure
can be easily
modified &
manipulated;
programs
independent of
data format which
yields flexibility
when modifications
are needed
Uses key fields to
link data in many
different ways;
supports one-toone, one-to-many &
many-to-many
relationships
2/17/2016
Java, C++,
Smalltalk, Ada,
Object Pascal,
Objective
DRAGOON, BETA,
Emerald, POOL,
Eiffel, Seif, Oblog,
ESP. Loops, Visual
Basic, POLKA &
Python
Flexible; programs
are built using
chunks or modules
consisting of
preassembled code
& data which
makes
programming
easier & faster;
changes are made
in the underlying
code rather than in
the design or
structure of the
database
Relational:
SQL3, ODBC,
JDBC
Defines software
pieces, object
types,
actions/methods &
the interrelationships between
these objects;
allows objects to be
re-used for different
purposes
Primarily a
relational structure
with object-oriented
features included
Object-Oriented:
Java, C++,
Smalltalk, etc.
Cartridges,
DataBlades, &
Extenders are
modules that build
on the
object/relational
infrastructure; they
consist of types,
data structures,
functions, & data &
often include
special developer
interfaces or
prebuilt
applications
2
Database Comparisons: An Overview
technique; start at
root and work down
the tree to reach
target data;
supports one-toone & one-to-many
relationships
Advantages
2/17/2016
First method for
converting raw data
into usable
information
Easily shows oneto-one & one-tomany relationships;
More efficient than
the flat file model
b/c less need for
redundant data
either be the owner
or a member of
several lists of
various types;
supports one-toone, one-to-many,
& many-to-many
relationships
Network model
solves problem of
data redundancy by
representing
relationships in
terms of sets rather
than hierarchy;
allowed complex
data structures to
be built; very
efficient in storage
& fast; better job
with many-to-many
relationships
More easily
visualize data
organization &
relationships; ease
of design & userfriendly GUI
interfaces; modern
query tools & report
generators; ease of
data entry; tables
represent a single
subject; no
duplicate data
which reduces
errors & improves
consistency &
eases database
maintenance;
relationships
increase data
integrity; more
information from
same data due to
file integration; new
& one-time
requests easily
accommodated;
customized, menudriven interfaces
can be easily
Using OOP (objectoriented
programming),
ability to model,
store & manipulate
complex data (i.e.
multimedia);
support for special
operations common
to niche markets
not well supported
by more
mainstream
database engines
(i.e. CAD/CAM &
document
management);
supports data
structures for
arrays which are
useful for waveform
data such as EKGs
and EEGs;
persistence,
secondary storage
management;
concurrency;
recovery & ad hoc
query facilities;
when using OOP,
Supports SQL;
based on relational
model so familiar to
the user, yet
provides some
object-oriented
features & benefits
3
Database Comparisons: An Overview
developed;
concurrent access
to the data;
increased
productivity;
application code
generators;
referential integrity
controls;
transactional
integrity ensures
that incomplete
transactions do not
occur; optimization
of storage &
database operation
execution times;
database users
don’t corrupt each
other’s work;
scalable (can
spread load across
multiple CPUs or
servers); best for
data collection &
querying; allows
built-in validation;
define & store
schema (DB
structure), load
initial data, provide
a variety of access
methods, add,
modify & delete
data, provide
multiple views of
the data, provide
security features,
2/17/2016
no need to
translate into a
database sublanguage (i.e. SQL,
ODBC or JDBC)
which means 1)
writing less code
(as much as 40%
less) & 2)
performance is
faster b/c already in
the correct format &
doesn’t have to be
translated (but this
depends on
complexity of data);
best used for
information
analysis focusing
on capability to
navigate through &
analyze large
volumes of data
(i.e. production
planning, network
planning, financial
engineering);
applications are
very dynamic and
schemas very
complex; supports
diverse data types;
rather than force
fitting all
information into a
handful of
predefined data
types (as in
4
Database Comparisons: An Overview
facilitate backup
and recovery
Disadvantages
2/17/2016
Flat file
environment
created
program/data
dependence
meaning that
changes in the
format of the data
also required
changes in all the
programs that
accessed the data;
for any new
analyses of the
data in the form of
a written report,
No support for
many-to-many
relationships; user
must know how the
tree is structured to
find anything;
cannot add a
record to a child
table until it has
been incorporated
into the parent
table; still creates
data duplication
More difficult to
navigate and
visualize compared
to the hierarchical
model; model
difficult to
implement and
maintain; most
implementations
were used by
programmers
rather than endusers; had to have
an understanding
of how the
database was
Initially, had slow
performance in 70’s
& 80’s, but today’s
more powerful
machines speed up
performance; wide
price range, can be
expensive;
additional hardware
might be required
(i.e. faster CPU,
more memory and
disk space); high
impact of failure
due to
centralization and
RDBMS), object
databases allow
developers to
define & use data
types that directly
reflect the real
solution; ODBMS
figures out how to
physically configure
& store information;
today, objects &
object containers
go through a
translation known
as mapping to work
directly with SQLbased relational
databases; some
modern object
databases also
support SQL;
provides integration
Due to time and
cost involved, many
hesitate to convert
existing DBMS to
OODBMS; lack of
familiarity; most
programmers
understand
RDBMS better than
ODBMS; inertia
(easier to use what
you know);
technology &
business fear (most
ODBMS vendors
are small
O-R databases
force fits objects
into a limited
physical typing
model required by
their relational core
design; O-R
databases offer full
SQL compliance,
but limited object
capabilities
5
Database Comparisons: An Overview
new programs had
to be written or
existing programs
had to be modified
which seriously
affected
productivity for
programmers &
end-users;
record descriptions
& access methods
for each file must
be coded in every
program that
accessed the file;
heavy conversion &
enhancement
workload; flat files
need to store
excessive amounts
of redundant data;
more than one
subject; duplicate
data; validation is
manual
Examples
MS Excel; VisiCalc; Lotus 1-2-3;
VP-Planner;
Quattro;
Symphony;
MultiPlan
IMS (Information
Management
System) by IBM
Status Today
Limited usage (i.e.
Limited usage (i.e.
2/17/2016
structured in order
to retrieve, insert,
update or delete
records; required a
lot of programming
to use successfully
non-duplication of
data; sophisticated
design and
programming
required for some
products; additional
user training may
be needed due to
added system
capabilities; backup
and recovery are
more difficult due to
concurrency and
complexity; security
is more critical and
complicated due to
shared usage of
central database
Satellite
communications,
airline reservations;
IDMS (Integrated
Database
Management
System) from
Cullinet
Limited usage (i.e.
Oracle, Informix,
Ingres, Sybase,
DB2, MS Access,
FileMaker Pro,
Visual FoxPro, SQL
Server, MySQL
(free), PostgreSQL
(free)
Most popular
companies (is the
risk worth the
technological
benefits?); not
enough object
developers;
performance can
suffer when
developers use
haphazard object
design; reliability &
availability suffered
in the past due to
lack of investment
in management
tools; past objectoriented databases
did not support
SQL which was the
standard query
language of the
day; requires tightly
coupled language
interface & ability to
handle the creation
& evolution of
schema without a
lot of programmer
intervention
ObjectStore,
Versant, O2,
Gemstone,
ONTOS, POET,
Objectivity/DB,
Jasmine, Matisse
Gaining popularity;
Oracle8, IBM’s
UDB, Sybase
Appears that all
6
Database Comparisons: An Overview
spreadsheets,
address books,
bulk email used by
spammers)
2/17/2016
Windows file
structure)
still used in satellite
communications &
airline reservation
systems)
DBMS in use today
as a result of
technical
development efforts
to ensure that
advances such as
object orientation,
web serving, etc.
appear quickly &
reliably
growing at a rate of
30-40% each year;
will see mostly in
new development
relational systems
of the future will be
object-relational or
RDBMS will coexist side-by-side
ODBMS
7
Download