Types of DBMS Models
Lydia Letaru
Lecture 2: LSG 2102
Types of DBMS Examples of
Model DBMS
1. Hierarchical • Microsoft Access
2. Network • Oracle
3. Relational - RDBMS • IBM DB2
4. Object-oriented - • PostgreSQL
OODBMS • IBM Informix
5. Object-relational - • Microsoft SQL
ORDBMS Server
Data Model redefined
• A data model is a formal language that allows
us to define the type of data and data processing
that occurs in a database application.
• It supports
o Definition of data structures for storage
o Definition of rules that the stored data have to
obey
o Definition of operations on the data, such that
changes to represented things in the real world
can be accounted for
Data Model redefined
• A data model is a collection of concepts for
describing data and their operations
• A database schema is a description of a
particular collection of data, using the given
data model.
the organization of data to create a blueprint of
how a database will be constructed (e.g. divided
into database tables)
Schema for health insurance company
1. Hierarchical Database Management
Systems
• A hierarchical database model - data is organized
into a tree - like structure.
• The structure allows representing information using
parent/child relationships
• Each parent can have many children, but each child
has only one parent (also known as a 1-to-many
relationship).
• A DBMS is said to be hierarchical if the relationships
among data in the database are established in such
a way that one data item is presented as the
subordinate of another one.
Hierarchical Database Management
Systems
• Subordinate means that items have 'parent-
child' relationships among them.
• Direct relationships exist between any two
records that are stored consecutively.
• The data structure "tree" is followed by the
DBMS to structure the database.
• No backward movement is possible/allowed in
the hierarchical database.
Conceptual diagram (schema) showing a
hierarchical structure
Example of a Hierarchical Data Model
2. Relational Database Management
Systems
• RDBMS
• Most popular type of DBMS (over 95%)
• RDBMS store data in tables (relations) that are two dimensional
(list, array) (rows, columns).
• rows (tuples, records or objects) and columns (object states ,
properties, fields or attributes). etc
• Data items at an intersection of a row and a column are called a
cell and consist of attribute values.
• Data stored is simple data such as integers, real numbers, text,
or string values.
• Multiple values may not be stored in one cell.
• Relational database tables are "normalized" so data is not
repeated more often than necessary.
Relational Data Models (RM)
• Provides:
A tabular representation of data
Simple intuition currently the most widely used
Powerful and natural query language
• Data stored in records or rows called “tuples”
• A group of rows (a table ) is a “relation”
– all the tuples are related to each other
– The number of rows is called the “cardinality”
• Tuples can not be complete duplicates (normalization)
• Columns contain the “attributes”
– Number of columns is the “degree”
The relational data model - terms
• Relation: a table with rows and columns defined by
relation instance (cardinality and degree)
• Every relation has a schema which describes the
attributes (columns or fields)
• Each column has a header called attribute name.
• A row or tuple represents a fact in the real world
that we want to record
• As the real world changes over time, we will want to
o Add facts (insert tuples)
o Remove facts (delete tuples), or
o Change facts – edit (update tuples)
What is a relational database?
• Relational database: A collection of relations
• Each relation stores facts of a certain type
• A relation has 2 parts:
1. the relation schema, formed by the relation
name, and a list of attributes and their domains
2. the relation instance, which is a table of rows
and columns, holding the data. (cardinality and
degree)
• A row = a tuple ; represents a fact. Rows are distinct
(normalisation)
Key terms illustrated
Example of a relation
Example of a Relational Database
Example of a relation
Student
Sid Name Login age Gpa
53666 Jones Jones@ab 18 3.4
53688 Smith Smith@pp 17 3.2
53650 Jenkins Jenkins@math 19 3.8
• Relation instance, has cardinality 3, degree 5
• Five attributes; their names suggest the meaning
• Relation schema:
Student (Sid: Char(5), name: text, login: varchar
(15), age: integer, gpa: real)
Relations’ terms defined
• Domain = (in)finite set of atomic values. The RM supports
various domains (real, integer, boolean, char(N), varchar
(N), data/time, …) the set of values of the independent
variable for which a function is defined
• Attribute = name that suggests the meaning that a domain
plays in the relation; each attribute A has an associated
domain dom (A)
• Relation schema = relation name plus bracketed list of
attributes with their domains. R (A1: dom (A1), …, An: dom
(An))
• Tuple of Relation R = ordered list of values for each Ai <v1,
…, vn>, such that for all i: vi € dom (Ai)
Relations’ terms defined
• Relation Instance r(R) of relation R = (the current) set of tuples
of R
Also known as a
relation state
Cardinality, degree
• Consequences:
A relation instance cannot have duplicate elements: it is a set!
Likewise, the tuples are not considered to be ordered: it is a set.
• Database Schema = collection of relation schemas (no duplicate
relation names) DBS = {R1, …, Rm} if there are m relations
• Database instance d for a database schema DBS = collection of
relation instances, one for each relation in DBS: d(DBS)= {r 1(R1),
…, rm(Rm)}
Also known as database state
3. Object Oriented Database management
Systems
• OODBMS
• Supports the modeling and creation of data as objects
(visible & tangible)
• Able to handle many new data types (complex),
including graphics, photographs, audio, and video
hence the term object-oriented
• Derived and leveraged by object oriented programming
languages
• Each object consists of 2 elements
1. A piece of data (e.g. video, text, sound)
2. The instructions or software programs called methods for
what to do with the data
OODM
• OO Model sees the world as inter related
objects
• Object is dynamic and has its own lifespan
• Deals with dynamic nature of real world
objects
• Objects with similar behaviour are organised
into types, a semantic concept
• Object class = data structure + Methods, an
implementation construct
Object Oriented Database management
Systems
• Includes some kind of support for classes of
objects and the inheritance of class properties
and methods for subclasses and their objects.
• There is currently no widely agreed-upon
standard for what constitutes an OODBMS
• OODBMS products are considered to be still in
their infancy
• More costly to develop
OODBMS
• The object model captures the static structure
of a system by showing the objects in the
system, relationships between the objects,
and the attributes and operations that
characterize each object.
• Communication between objects is realized
using a message passing system
A message is a request sent from one object to
another in order to execute one of the objects’
methods.
Advantages of OODMS
• Real-world phenomena can be modelled closer to
reality with more complex objects – compared to
defined structures
• Object models could be structured around conceptual
objects rather than geometrical properties.
• Geometry can be modelled like other information
• Explicit storage of spatial information which is
required in GIS can be realized without redundancy.
For example
geographical objects can be defined using methods
it is possible to generate user-defined types
Encapsulation
• Encapsulation (is a belief, impression, notion)
that all of the object's data is contained and hidden in
the object and access to it restricted to members of that
class
bundling of data with the methods (or other functions)
operating on that data
• Encapsulation concept permits possibilities such as;
Integration of different abstraction levels for one object.
Designing spatial, non-spatial and methods in one
object.
Expressing business rules as methods belonging to the
object.
Object Relational Database Management
Systems
• Object-oriented database concepts can be superimposed
on relational databases hence ORDBMS
• This system simply puts an object oriented front end on a
relational database (RDBMS).
• When applications interface to this type of database, it will
normally interface as though the data is stored as objects.
• However the system will convert the object information into
data tables with rows and columns and handle the data the
same as a relational database.
• Likewise, when the data is retrieved, it must be reassembled
from simple data into complex objects. This enables the
usage of ADT‘s (Abstract Data Types) – very customized.
How is a SDBMS different from a GIS ?
• GIS is a software to analyze and visualize spatial
data using spatial analysis functions such as
– Search Thematic search, search by region, (re-)classification
– Location analysis Buffer, corridor, overlay
– Terrain analysis Slope/aspect, catchment, drainage network
– Flow analysis Connectivity, shortest path
– Distribution Change detection, proximity, nearest neighbor
– Spatial analysis/Statistics Pattern, centrality, autocorrelation,
indices of similarity, topology: hole description
– Measurements Distance, perimeter, shape, adjacency, direction
• GIS uses SDBMS
– to store, search, query, analyze, share large spatial
data sets, etc.
Role
of
DB
MS
Difference between GIS and DBMS
GIS DBMS
1. Type of Data
2. Amount of data to analyse and to maintain
3. Type of analysis function
4. Number of concurrent access
5. Transaction control mechanism included
6. Access mechanism to protect data against non-
authorised access
7. Embedded mechanism to protect against system
failure
8. Occurrences (variety and type) of distributed
system architectures
9. Embedded Standards (what type of standards?)
10. Typical value of system within an enterprise
(enterprise critical? Nice to have a system?)
11. Type of user interfaces
Reflection
• Knowledge of comparison and contrast of the
different database models.
• Differentiation of GIS and DBMS. Appreciation
of the role of each