distributed database andobject oriented databases unit- iv.doc
TRANSCRIPT
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
1/42
1
UNIT- IV
DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES
Concepts of distributed databases and design
DISTRIBUTED DATABASE DESIN
Structure
Ob!ecti"es#
In this unit you will come to know the different design aspects of distributed databases. At the
end of this unit you will be able to describe the topics like
A framework for distributed database design
The objectives of design of data distribution
Top Down and ottom !p design approaches
The design of database fragmentation
"ori#ontal $ragmentation
%ertical $ragmentation
&i'ed $ragmentation
The allocation of fragments
(eneral )riteria for $ragment allocation
Introduction#
The concept of data distribution itself is difficult to design and implement because of various
technical and organi#ational issues. *o we need to have an efficient design methodology. $rom
the technical aspect+ the interconnection of sites and appropriate distribution of the data and
applications to the sites depending upon the re,uirement of applications and for optimi#ing
performances. $rom the organi#ational point+ the issue of decentrali#ation is crucial and
distributing an application has a greater effect on the organi#ation. In recent years+ lot of research
work has taken place in this area and the major outcome of this are-
o Design criteria for effective data distribution
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
2/42
o &athematical background of the design aids
In the section /. you will learn a framework of the design including the design approaches like
Top Down and ottom !p. The section /.0 e'plains about the design of "ori#ontal and
%ertical $ragmentation. In the section /. we will give principles and concepts in $ragment
allocation.
A $ra%e&or' for Distributed Database Design# The design of a centrali#ed database
concentrates on-
Designing the conceptual schema that describes the complete database
Designing the 2hysical database+ which maps the conceptual schema to the storage areas
and determines the appropriate access methods.
The above two steps contributes in distributed database towards the design of (oba( sc)e%a
and t)e design of (oca( databases*The added steps are-
Designing t)e $rag%entation- 3 The actual procedure of dividing the e'isting global
relations into hori#ontal+ vertical or mi'ed fragments
Designing t)e a((ocation of frag%ents- 3Allocation of different fragments according to
the site re,uirements
efore designing the Distributed database a thorough knowledge about the application is a must.
In this case we e'pect the following things from the designer.
*ite of 4rigin- The site from which the application is issued.
The fre,uency of invoking the re,uest at each site
The number+ type and the statistical distribution of accesses made by each
application to each re,uired data.
In the coming section let us try to know the actual need of design of data distribution.
Ob!ecti"es of t)e Design of Data Distribution#In the design of data distribution the following objectives should be considered.
+rocessing (oca(it,# 5educing the remote references in turn ma'imi#ing the local
references is the primary aim of the data distribution. This can be achieved by having
redundant fragment allocation meeting the site re,uirements. Co%p(ete (oca(it, is an
e'tended idea+ which simplifies the e'ecution of application.
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
3/42
0
A"ai(abi(it, and re(iabi(it, of distributed data# Availability is achieved by having
multiple copies of the data for read only applications. 5eliability is achieved by storing
the multiple copies of the information+ as it will be helpful in case of system crashes.
or'(oad distribution#workload distribution is the major goal to have high degree of
parallelism.
Storage costs and +rocessing (oca(it,# )ost criteria and Availability of storage areas
should be intelligently handled for effective data distribution.
!sing the all above criteria may increase the design comple'ity. *o important aspects are taken
as objectives depending upon the re,uirement and others are treated as constraints. In the ne't
section let us design a simple approach for ma'imi#ing the processing locality
Top . Do&n and Botto% . Up Approac) .A c(assica( Design /et)odo(ogies#
There are two classical approaches as far as distributed databases design is concerned. They are-
1. Top . Do&n Approac)#This may be ,uite useful when the system has to be designed
from the scratch. "ere we follow the following steps-
Design of (lobal *chema.
Design of $ragmentation *chema.
Design of Allocation *chema.
Design of 6ocal *chema 7Design of 82hysical Databases9:.
. Botto% - Up Approac)# This can be used for an e'isting system. This approach is
based on the integration of e'isting schemata into a single+ global schema. ut re,uires
that the following aspects have to be fulfilled.
The selection of a common database model for describing the (lobal schema of
the database.
The translation of each local schema into the common data model.
The Integration of common schemata into a common (lobal schema. i.e the
merging of common data definitions and the resolution of conflicts among
different representations given to the same data.
The ottom !p design re,uire solving these three problems. Then of course the design
steps are just reverse of the previous method.
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
4/42
T)e Design of Database $rag%entation#
"ere we discuss the design of non3overlapping fragments+ which are the logical units of
allocation. That is+ it is important to have an efficient design methodology so that we can
overcome the related problems of allocation. In the following+ we e'plain the design of
"ori#ontal+ %ertical and &i'ed $ragmentations.
0ori1onta( $rag%entation#
"ere we discuss two important methods called 2rimary and Derived. Determining the hori#ontal
fragmentation involves knowing-
The logical properties of the data such as fragmentation predicates.
The statistical properties of the data such as the number of references of applications to
the fragments.
+ri%ar, $rag%entation#
The correctness of 2rimary fragmentation re,uires that each global relation be selected in one
and only one fragment. Thus+ determining the primary hori#ontal fragmentation of a global
relation re,uires determining a set of disjoint and complete selection predicates 7we shall define
this later in this section:. The property we e'pect from each fragment is that the elements of them
must be referenced homogeneously by all applications.
6et ( be the global relation for which we want to produce a hori#ontal
primary fragmentation. 6et us define some terminologies.
A Si%p(e +redicate# is a predicate of the type-
Attribute ; value
A /in-ter% +redicate , fora set 2 of simple predicates is the conjunction of all
predicates appearing in 2+ either taken in natural form or negated. Thus-
, 2 pi 3
pi p
4T pi: and y false
A frag%ent is the set of all tuples for which a min3term predicate holds.
A simple predicate is re(e"ant respect to a set 2 of simple predicates if there
e'ists at least two min3term predicates of 2 whose e'pression differs only in the
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
5/42
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
6/42
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
7/42
Q
2/- A5?A ; 8*4!T"9
If we assume that in the northern area the departments with D?2T>!& E F will never
be there+ then A5?A ; 8>45T"9 implies that D?2T>!& E F is false. Thus the fragments
are reduced to the following four-
1- D?2T>!& P ; 1F
- 71F P D?2T>!& P ; F: A>D 7A5?A ; 8>45T"9 :
0- 71F P D?2T>!& P ; F: A>D 7A5?A ; 8*4!T"9 :
- D?2T>!& E F
If we now concentrate about the fragment allocation we can easily allocate fragments
corresponding to y1 and y at sites 1 and 0.ut depending upon the re,uirement fragments y
and y0 will be allocated to either sites 1 or 0.
Deri"ed 0ori1onta( $rag%entation#
This is not based on the properties of its own attributes+ but it is derived from the hori#ontal
fragmentation of another relation. It is used to make the join between the fragments. A
distributed !oinis a join between hori#ontally fragmented relations. That is when you want to
join the two relations ( and " you have to compare their fragments. Join rap)scan efficiently
represent it. The fig /.1 represents the different possible join graphs.
o Tota(# The join graph is total when it contains all possible edges between
fragments of ( and ".o Reduced#The join graph is reduced when some of the edges between ( and "
are missing. "ere we have two types-
+artitioned#A reduced graph is partitioned if the graph is composed of
two or more sub graphs without edge between them.
Si%p(e#A reduced graph is simple if it is partitioned and each sub graph
has just one edge.
E4a%p(e#)onsider the relation *!226 7*>!&+ 2>!&+ D?2T>!&+ K!A>:. 6et us take
the following case. *ome application
o 5e,uires the information about supplies of given suppliersO thus they join between
*!226 and *!226I?5 in the *>!& attribute.
o 5e,uires the information about supplies at a given departmentO then they perform
join between *!226 and D?2T on the D?2T>!& attribute.
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
8/42
R
6et us assume that the relation D?2T is hori#ontally fragmented on the attribute D?2T>!& and
that *!226I?5 is hori#ontally fragmented on the attribute *>!&. The derived hori#ontal
fragmentation can be obtained for relation *!226 by either performing a *emi 3 join operation
with *!226I?5 on *>!& or with D?2T on D?2T>!&O both of them are correct.
Vertica( $rag%entation#
This re,uires grouping the attributes into sets+ which are referenced in the similar manner by
applications. This method has been discussed by considering two separate types of problems-
T)e Vertica( +artitioning +rob(e%# "ere set must be disjoint. 4f course one
attribute must be common. $or e'ample assume that a relation * is vertically
fragmented using this concept into *1 and *.This can be useful where an
application can be e'ecuted using either *1 or *.4therwise having the complete
* at a particular site may be a unnecessary burden.
T&o possib(e design approac)es#
1. T)e sp(it approac)# The global relations are progressively split
into fragments
. T)e rouping approac)# The attributes are progressively
aggregated to constitute fragments.
oth are "euristic approaches as each iteration steps look for best choice. In
both the cases formulas are used to indicate the best possible
splitting or grouping.
The different possible join graphs
*
*
*
1
*
*
1
*
1
5
5
0
5
5
1
51
5
50
5
*1
*
*0
51
5
50
5
*
0
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
9/42
M
T)e Vertica( C(ustering +rob(e%# "ere sets can overlap. "ere depending upon
the re,uirement you may have more than one common attribute in the two
different fragments of a global relation. It introduces Rep(ication within
fragments+ as some common attributes are present in the fragments. E4a%p(e#
)onsider the global relation ?&26 7?&2>!&+ >A&?+ *A6+ TAJ+
&(5>!&+ D?2T>!&:. The following are made-
Administrative applications+ re,uires >A&?+ *A6+ TAJ of employees.
The department+ re,uires >A&?+ &(5>!& and D?2T>!&
"ere %ertical clustering is suggested as the attribute >A&? is re,uired in both the fragments. *o
the fragments may be-
?&261 7?&2>!&+ >A&?+ *A6+ TAJ:
?&26 7?&2>!&+ >A&?+ &(5>!&+ D?2T>!&:
/i4ed $rag%entation#
The simple way for performing this is-
Apply "ori#ontal fragmentation to %ertical fragments
Apply %ertical fragmentation to "ori#ontal fragments
oth these aspects are illustrated using the following diagrams /. and /.0.
A1 A A0 A A/
%ertical fragmentations followed by hori#ontal fragmentation.
A1 A A0 A A/
%ertical fragmentations followed by hori#ontal fragmentation
T)e A((ocation of $rag%ents#
In this section we e'plain the different aspects to be considered when you go for allocating a
particular fragment to site. This section describes some general criteria that can be used for
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
10/42
1F
allocating fragments. There are two types of allocation methods+ which can be followed. They
are-
Non-redundant A((ocation#It is simple. A method known as 8est3fit approach9 can be usedO
i.e a measure is associated with each possible allocation+ and the site with the bets measure is
selected. It avoids placing a fragment at a given site where already a fragment is present which is
related to this fragment.
Redundant A((ocation# It is comple' design+ since-
o The degree of replication is a variable of the problem.
o The modeling of read applications is complicated as the applications may select
any of the several alternatives.
The following two methods can be used for determining the redundant allocation of
fragments-
Determine the set of all sites where the benefit of allocating one copy of
the fragment is higher than the cost+ and allocate a copy of the fragment to
each element of this siteO this method selects 8all beneficial sites9.
*tart from a non3replicated version. Then progressively introduce
replicated copies from the most beneficialO the process is terminated when
no additional replication is beneficial.
oth the reliability and availability of the system increases if there are two or three copies of the
fragment+ but further copies give a less than proportional increase.
), distributed databases:
*ome initial motivations-
S The development of computer networks promotes decentrali#ation.
S In a company+ the database organi#ation might reflect the organi#ational structure+ which is
distributed into units.
?ach unit maintains its own database.S *haring of data can be achieved by developing a distributed database system which-
S makes data accessible by all units
S stores data close to where it is most fre,uently used.
Distributed Database
A logically interrelated collection of shared data 7and a
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
11/42
11
description of this data:+ physically distributed over a
computer network.
Distributed DB/S 7DDB/S9
*oftware system that permits the management of the
distributed database and makes the distribution
transparent to users.
An e'ample of DD&*
DDB/S - c)aracteristics
S )ollection of logically3related shared data.
S Data split into fragments.
S $ragments may be replicated.
S $ragmentsreplicas allocated to sites.
S *ites linked by a communications network.
S Data at each site is under control of a D&*.
S D&*s handle local applications autonomously.
S ?ach D&* participates in at least one global
application.
OBJECTIVES O$ DISTRIBUTED DATABASE
o A major objective of distributed databases is to provide ease of access to data
for users at many different locations.
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
12/42
1
o The distributed database system must provide what is called location
transparency -3 a user 7or user program: using data need not know the location of the data.
o Ideally the user is unaware of the distribution of data+ and all data in the
network appear as single logical database stored at one site. In ideal case+ a single ,uery can
join data from tables in multiple sites as if the data were all in one site.
OBJECTIVE O$ DISTRIBUTED DATABASE
o A second objective of distributed database is local autonomy. This is the
capability to administer a local database and to operate independently when connection to
other nodes have failed.
o ?ach site has the ability to control local data+ administer security+ log
transactions+ recover when local failures occur ad provide full access to local data to local
users when any central or coordinating site cannot operate.
o There is no reliance on central site.
+ara((e( DB/S
&ain architectures for parallel D&*s are-
S *hared memory+
S *hared disk+
S *hared nothing.
Ad"antages of DDB/Ss
S 5eflects 4rgani#ational *tructure
S Improved *haring and 6ocal Autonomy
S Improved Availability
A failure does not make the entire system inoperable
S Improved 5eliability
Data may be replicated
S Improved 2erformance
Data are local to the site of 8greatest demand9
S ?conomics
&any small computers cost less than a big oneU
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
13/42
10
S &odular (rowth
easy to add new modules
Disad"antages of DDB/Ss
S )omple'ity
S )ost
?specially in system management
S *ecurity
network must be made secure
S Integrity )ontrol &ore Difficult
S 6ack of *tandards
S 6ack of ?'perience
S Database Design &ore )omple'
due to fragmentation+ allocation of fragments to a specific
site+ C..
STRUCTURE O$ DISTRIBUTED DATABASE
o A distributed database system consists of a collection of sites+ each of which
maintain a local database system.
o ?ach site is able to process local transactions+ those transactions that access
data only in a single site
o In addition a site may participate in the e'ecution of global transactions+ those
transaction that access data in several sites. The e'ecution of global transactions re,uires
communication along the sites.
STRUCTURE O$ T0E DISTRIBUTED DATABASES
o The sites in the system can be connected physically in a variety of ways.
o The major differences among these configurations involve-
Installation cost- The cost of physically linking the site
)ommunication )ost - 3 The cost in time and money from sending a
message from site A to site
5eliability - The fre,uency with which a link or site fails
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
14/42
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
15/42
1/
S $ragmentation schema and allocation schema.
S *et of schemas for each local D&* conforming to 03level A>*I*2A5) .
S *ome levels may be missing+ depending on levels of transparency supported.
Reference Arc)itecture for DDB/S
Reference Arc)itecture for DDB/S
S (lobal )onceptual *chema is the logical description of the D as if it were not distributed. It
contains definitions of entities+ relationships+ constraints+ security+ and integrity information.
S $ragmentation and Allocation *chemas describe how data are logically partitioned+ and where
they are located+ taking replication into account.
S 6ocal *chemas are the logical descriptions of the local Ds.
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
16/42
1G
Issues in Distributed Database Design
T)ree 'e, issues &e )a"e to consider#
S Data Allocation- where are data placedW Data should be stored at site with XoptimalX
distribution.
S $ragmentation- relation may be divided into a number of sub3relations 7called
fragments: + which are stored in different sites.
S 5eplication- copy of fragment may be maintained at several sites.
Definition and allocation of fragments carried out strategically to achieve-
S 6ocality of 5eference
S Improved 5eliability and Availability
S Improved 2erformance
S alanced *torage )apacities and )osts
S &inimal )ommunication )osts.
S Involves analysing most important transactions+
based on ,uantitative,ualitative information.
$rag%entation
S Kuantitative information may include-
S fre,uency with which a transaction is runO
S site from which a transaction is runO
S performance criteria for transactions.
S Kualitative information may include transactions that are
e'ecuted such as-
S type of access 7read or write:O
S predicates of read operations.
A relation 5 is divided into fragments r1+ r+ Crn+ which contain enough information to allow
reconstruction of 5
?'ample-
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
17/42
1Q
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
18/42
1R
S Derived.
S 4ther possibility is no fragmentation-
S If relation is small and not updated fre,uently+ may
be better not to fragment relation.
0ori1onta( and Vertica( $rag%entation
Two types of fragmentation-
S "ori#ontal
S %ertical
/i4ed $rag%entation
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
19/42
1M
0ori1onta( $rag%entation
S ?ach fragment consists of a subset of the tuples of a relation 5.
S Defined using *election operation of relational algebra-
p75:
S ?'ample-
5elation- *ells7pub+ address+price+type:
S $ragments-
Y *ellsitter; type ; 8bitter97*ells:
Y *ells6ager; type ; 8lager97*ells:
S This strategy is determined by looking at predicates used by transactions.
S Involves finding set of minimal 7complete and relevant: predicates.
S *et of predicates is complete+ if and only if+ any two tuples in same fragment are referenced
with same probability by any application.
S 2redicate is relevant if there is at least one application that accesses fragments differently.
Vertica( $rag%entation
S ?ach fragment consists of a subset of attributes of a relation 5.
S Defined using projection operation of relational algebra- a1+Can75:
S Determined by establishing affinity of one attribute to another.
S ?'ample-
S 5elation- ars7name+address+licence+employees+owner:
S $ragments-
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
20/42
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
21/42
1
characteristics.
"ow can we define fragments correctlyW
In defining fragments we have to be very careful.
Three correctness rules-
S )ompleteness
S 5econstruction
S Disjointness.
Correctness of $rag%entation
Co%p(eteness#If relation 5 is decomposed into fragments r1+ r+ Crn+ each data item that can
be
found in 5 must appear in at least one fragment. This ensures no loss of data during
fragmentation.
Recostruction#we must be able to reconstruct the entire 5
from fragments.
$or hori#ontal fragmentation is union operation.
5 ; r1 [r [C [rn+
$or vertical fragmentation is natural join operation.
5 ; r1 EP r EP C EP rn+To ensure reconstruction we have to include primary key attributes in all fragments.
Dis!ointness#if data item ' appears in fragment ri+ then it should not appear in any other
fragment.
E4ception#vertical fragmentation+ where primary key attributes must be repeated to allow
reconstruction.
$or hori#ontal fragmentation+ data item is a tuple
$or vertical fragmentation+ data item is an attribute.
Correctness of 0ori1onta( $rag%entation
5elation- *ells7pub+ address+price+type: type;Bitter+ 6ager
$ragments-
S *ellsitter; type ; 8bitter97*ells:
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
22/42
S *ells6ager; type ; 8lager97*ells:
Correctness ru(es
; Co%p(eteness- ?ach tuple in the relation appears either in
*ellsitter+ or in *ells6ager
; Reconstruction- The *ells relation can be reconstructed from
the fragments
*ells ; *ellsitter [*ells6ager
; Dis!ointness- The two fragments are disjoint+ there can be no
beer that is both 86ager9 and 8itter
Correctness of Vertica( $rag%entation
5elation- ars7name+address+licence+employees+owner:
$ragments-
S r1 ; name+address+licence 7ars:
S r ; name+address+employees+owner7ars:
Correctness ru(es
; Co%p(eteness- ?ach attribute in the ars relation appears either in
r1 or in r
; Reconstruction- The ars relation can be reconstructed from the
fragments
ars ; r1 EP r
; Dis!ointness- The two fragments are disjoint+ e'cept for the primary
key+ name+ which is necessary for reconstruction
Transparencies in a DDB/S
S Distribution Transparency
S Transaction Transparency
S 2erformance Transparency
S D&* Transparency
Distribution Transparenc,
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
23/42
0
The user has to perceive the DD as a single+ logical entity
S $ragmentation Transparency- the user does not need to
know that data is fragmented
S 6ocation Transparency- the user does not need to know
the location of data items
S 5eplication Transparency- the user is unaware of
relication of data.
S >aming transparency- items in a database must have a
uni,ue name+ but users donVt need to worry about it.
Na%ing Transparenc,
S ?ach item in a DD must have a uni,ue name.
S DD&* must ensure that no two sites create a
database object with same name.
*olution 1- create central name server.
Disadvantages-
S loss of some local autonomyO
S central site may become a bottleneckO
S low availabilityO if the central site fails+ remaining sitescannot create any new objects.
Transaction Transparenc,
S ?nsures that all distributed transactions maintain distributed databaseVs integrity and
consistency.
S Distributed transaction accesses data stored at more than one location.
S ?ach transaction is divided into number of subtransactions+ one for each site that has to be
accessed.
S DD&* must ensure the indivisibility of both the global transaction and each sub3transactions.
S &ust ensure both concurrency transparency+ and failure transparency
Concurrenc, Transparenc,
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
24/42
S All transactions must e'ecute independently and be logically consistent with results obtained if
transactions e'ecuted one at a time+ in some arbitrary serial order.
S *ame fundamental principles as for centralised D&*.
S DD&* must ensure both global and local transactions do not interfere with each other.
S *imilarly+ DD&* must ensure consistency of all subtransactions of global transaction.
S Techni,ues for concurrency control. !sually different from the ones for D&*.
S 5eplication makes concurrency more comple'.
S If a copy of a replicated data item is updated+ update must be propagated to all copies.
S )ould propagate changes as part of original transaction+ making it an atomic operation.
S "owever+ if one site holding copy is not reachable+ then transaction is delayed until site is
reachable.
S )ould limit update propagation to only those sites currently available. 5emaining sites updated
when they become available again.
S )ould allow updates to copies to happen asynchronously+ sometime after the original update.
Delay in regaining consistency may range from a few seconds to several hours.
$ai(ure Transparenc,
S DD&* must ensure atomicity and durability of global transaction.
S &eans ensuring that sub3transactions of global transaction either all commit or all abort.
S Thus+ DD&* must synchroni#e global transaction to ensure that all sub3transactions havecompleted successfully before recording a final )4&&IT for global transaction.
S &ust do this in presence of site and network failures.
+erfor%ance Transparenc,
DD&* must perform as if it were a centrali#ed D&*-
S DD&* should not suffer any performance degradation due to distributed architecture.
S DD&* should determine most cost3effective strategy to e'ecute a re,uest.
S Distributed Kuery 2rocessor 7DK2: maps data re,uest into ordered se,uence of operations on
local databases.
S It must consider fragmentation+ replication+ and allocation schemas.
S DK2 has to decide-
S which fragment to accessO
S which copy of a fragment to useO
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
25/42
/
S which location to use.
S DK2 produces e'ecution strategy optimi#ed with respect to some cost function.
S Typically+ costs associated with a distributed re,uest include-
S I4 costO
S )2! costO
S communication cost.
Date Ru(es for a DDB/S
$unda%enta( +rincip(e
To the user+ a distributed system should look e'actly like a non3distributed system.
1. 6ocal Autonomy
. >o 5eliance on a )entral *ite
0. )ontinuous 4peration
. 6ocation Independence
/. $ragmentation Independence
G. 5eplication Independence
$unda%enta( +rincip(e
To the user+ a distributed system should look e'actly like a nondistributed
system.
Q. Distributed Kuery 2rocessing
R. Distributed Transaction 2rocessing
M. "ardware Independence
1F. 4perating *ystem Independence
11. >etwork Independence
1. Database Independence
Ob!ect oriented databases
INTRODUCTION TO ODB/S
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
26/42
G
An object database management system 74D&*+ also referred to as object3oriented
database management system or 44D&*:+ is a database management system 7D&*: that
supports the modelling and creation of data as objects. This includes some kind of support for
classes of objects and the inheritance of class properties and methods by subclasses and their
objects.
Definition
An object database management system 74D&*+ also referred to as object3oriented
database management system or 44D&*:+ is a database management system 7D&*: that
supports the modelling and creation of data as objects. This includes some kind of support for
classes of objects and the inheritance of class properties and methods by subclasses and their
objects.
4D&* were originally thought of to replace 5D&* because of their better fit with
object3oriented programming languages. "owever+ high switching cost+ the inclusion of object3
oriented features in 5D&* to make them 45D&*+ and the emergence of object3relational
mappers 745&s: have made 5D&* successfully defend their dominance in the data center for
server3side persistence.
4bject databases are now established as a complement+ not a replacement for relational
databases. They found their place as embeddable persistence solutions in devices+ on clients+ in
packaged software+ in real3time control systems+ and to power websites. The open sourcecommunity has created a new wave of enthusiasm that^s now fueling the rapid growth of
4D&* installations
Introduction
4bject 4riented database systems could not be named a new technology. As first 44
languages+ 44 databases appeared a lot of time ago. And it was even considered that them will
completely replace relational database systems. It was not happen.
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
27/42
Q
relational and some is object oriented 7as far as it is difficult to say now if some language is
object oriented or not:.
"ere we should talk a little bit about what is it Xobject oriented databasesX and their main
advantages. &ost of the modern programming languages are object oriented+ while most of the
mainstream databases 3 relational. *o programmer has to seat at two chairs and work with two
data models 3 relational and object. It significantly complicates design of application+ because
system architect has two work with different notions representing the same entities. And
programmer has to implement a lot of code responsible for packingunpacking data from one
representation to another. It is huge+ error prone work and what is even worse 3 such
packingunpacking routines significantly degrade system performance. &odern modeling tools
helps to somehow solve this problem 3 them generate both application classes and database
tables from universal model description. ut them are still far from ideal.
OBJECT ORIENTED CONCE+TS
Ob!ect Oriented Databases
4bject oriented databases are also called 4bject Database &anagement *ystems 74D&*:.
4bject databases store objects rather than data such as integers+ strings or real numbers. 4bjects
are used in object oriented languages such as *malltalk+ )__+ @ava+ and others. 4bjects basicallyconsist of the following-
Attributes 3 Attributes are data which defines the characteristics of an object. This data
may be simple such as integers+ strings+ and real numbers or it may be a reference to a
comple' object.
ðods 3 ðods define the behavior of an object and are what was formally called
procedures or functions.
Therefore objects contain both e'ecutable code and data. There are other characteristics of
objects such as whether methods or data can be accessed from outside the object.
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
28/42
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
29/42
M
)A* Applications 7)A*?3computer aided software engineering+ )AD3computer aided
design+ )A&3computer aided manufacture:
&ultimedia Applications
4bject projects that change over time.
)ommerce
Ob!ect Database Ad"antages o"er RDB/S
4bjects don^t re,uire assembly and disassembly saving coding time and e'ecution time to
assemble or disassemble objects.
5educed paging
?asier navigation
etter concurrency control 3 A hierarchy of objects may be locked.
Data model is based on the real world.
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
30/42
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
31/42
01
object position in the file is enough to identify the object. In other systems object
identifiers are more comple' and preserve uni,ueness even outside the scope of the local
computer.
Ob!ect references
5eferences between objects in 44 databases are represented using 4IDs. *o if field $ of
persistent object A contains reference to persistent object + then this field $ of object A
stores 4ID of object . 4bject oriented database provides efficient way to access object
by it^s 4ID.
Ob!ect c(asses
As it was mentioned above+ 44D&* stores objects inside database. To make it possible
to loadstore objects and perform some other operations with them 7garbage collection for
e'ample:+ 44D&* should know format of the object+ i.e. set of object fields and their
types. It is not efficient to store this information for each object instance. ut because
format of all objects belonging to one class is the same+ then it is possible to store class
and let object reference it^s class. *ome 44D&* treat classes as normal objects+ which
format also has to be defined. In this case the notion of metaclass is introduced.
&etaclass is class of the class.
In)eritance and po(,%orp)is%
All object oriented languages supports inheritance. Inheritance is mechanism allowing
child object to inherit behavior and properties of parent object. 44D&* should
certainly be able to represent inheritance in database. If class A is derived from class +
then class A inherits all methods of class and it can be used everywhere where class
can be used. *o it makes it possible to manipulate with instance of class using variable
with type A. It is called polymorphism and its support is one of the main features of
object oriented languages and databases.
Tig)t integration &it) progra%%ing (anguage
5elational databases provides non3procedural ,uery language. It means that ,uery
e'pressed in this language specifies what should be done+ but doesn^t specify how to do
it. In contradiction to it+ most of the modern programming languages are imperative
languages 3 so the program written in this language specifies at higher or lower level of
abstractions which actions should be performed to produce re,uested result. 4bject3
-
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
32/42
0
oriented languages are also imperative languages. And although 44D&* usually
provides non3procedural ,uery language 7some kind of object oriented e'tension of
*K6:+ the main language to access object oriented database is imperative language. *o
the main goal of 44D&* is to provide seamless and efficient integration with this
language7s:.
Traditiona( DB/S features
Database systems were implemented to provide efficient and consistent way of
manipulation with data. *o object oriented database systems also need to support these
features to be able to called Xdatabase systemsX. 4ne of the basic notion is A)ID
7Atomic+ )onsistent+ Isolation+ and Durable: transactions. I do not want to e'plain
principles of supporting transactions in database systems. The only thing I should notice
is that database should be able to provide concurrent access to the data by many clients
and preserve consistency of data.
Ob!ect-oriented design
4bject3oriented design is part of 44 methodology and it forces programmers to think in terms
of objects+ rather than procedures+ when they plan their code. An objectcontains encapsulated
data and procedures grouped together to represent an entity. The ^object interface^+ how the object
can be interacted+ is also defined. An object3oriented program is described by the interaction of
these objects. 4bject3oriented design is the discipline of defining the objectsand theirinteractions to solve a problem that was identified and documented during object3oriented
analysis.
$rom a business perspective+ 4bject 4riented Design refers to the objects that make up that
business. $or e'ample a business object can consist of people+ data files+ e,uipment+ vehicles+
etc. These are the elements which comprise the company and should be taken into consideration
whenever analy#ing the needs of any business.
Ob!ect-oriented design
Input 7sources9 for ob!ect-oriented design
http://en.wikipedia.org/wiki/Object_(computer_science)http://en.wikipedia.org/wiki/Object_(computer_science)http://en.wikipedia.org/wiki/Object_(computer_science)http://en.wikipedia.org/wiki/Entityhttp://en.wikipedia.org/wiki/Object_(computer_science)http://en.wikipedia.org/wiki/Object_(computer_science)http://en.wikipedia.org/wiki/Object_(computer_science)http://en.wikipedia.org/wiki/Object-oriented_analysishttp://en.wikipedia.org/wiki/Object-oriented_analysishttp://en.wikipedia.org/wiki/Object_(computer_science)http://en.wikipedia.org/wiki/Entityhttp://en.wikipedia.org/wiki/Object_(computer_science)http://en.wikipedia.org/wiki/Object_(computer_science)http://en.wikipedia.org/wiki/Object-oriented_analysishttp://en.wikipedia.org/wiki/Object-oriented_analysishttp://en.wikipedia.org/wiki/Object_(computer_science) -
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
33/42
00
Conceptua( %ode( 7must have9#)onceptual model is the result of object3oriented
analysis+ it captures concepts in theproblem domain.The conceptual model is e'plicitly
chosen to be independent of implementation details+ such as concurrencyor data storage.
Use case 7must have:- !se case is description of se,uences of events that+ taken together+
lead to a system doing something useful. ?ach use case provides one or morescenarios
that convey how the system should interact with the users called actors to achieve a
specific business goal or function. !se case actors may be end users or other systems. In
many circumstances use cases are further elaborated into use case diagrams. !se case
diagrams are use to identify the actor 7users or other systems: and the processes they
perform.
S,ste% Se?uence Diagra% 7should have:- *ystem *e,uence diagram 7**D: is a picture
that shows+ for a particular scenario of a use case+ the events that e'ternal actors generate+
their order+ and possible inter3system events.
User interface docu%entations7if applicable:- Document that shows and describes the
look and feelof the end product^s user interface. It is not mandatory to have this+ but it
helps to visuali#e the end3product and therefore helps the designer.
Re(ationa( data %ode( 7if applicable:- A data model is an abstract model that describes
how data is represented and used. If anobject databaseis not used+ the relational data
model should usually be created before the design can start. "ow the relational to object
mapping is done is included to the 44 design.
Ob!ect-oriented concepts supported b, an OO (anguage
The five basic concepts of object3oriented design are the implementation level features that are
built into the programming language. These features are often referred to by these common
names-
4bject)lass- A tight coupling or association of data structures with the methods or
functions that act on the data. This is called a class+ or object7an object is created based
on a class:. ?ach object serves a separate function. It is defined by its properties+ what it
http://en.wikipedia.org/wiki/Conceptual_model_(computer_science)http://en.wikipedia.org/wiki/Problem_domainhttp://en.wikipedia.org/wiki/Problem_domainhttp://en.wikipedia.org/wiki/Concurrency_(computer_science)http://en.wikipedia.org/wiki/Use_casehttp://en.wikipedia.org/wiki/Scenario_(computing)http://en.wikipedia.org/wiki/Scenario_(computing)http://en.wikipedia.org/wiki/Scenario_(computing)http://en.wikipedia.org/wiki/System_Sequence_Diagramhttp://en.wikipedia.org/wiki/User_interfacehttp://en.wikipedia.org/wiki/Look_and_feelhttp://en.wikipedia.org/wiki/User_interfacehttp://en.wikipedia.org/wiki/Relational_data_modelhttp://en.wikipedia.org/wiki/Object_databasehttp://en.wikipedia.org/wiki/Object_databasehttp://en.wikipedia.org/wiki/Object_databasehttp://en.wikipedia.org/wiki/Object_(computer_science)http://en.wikipedia.org/wiki/Conceptual_model_(computer_science)http://en.wikipedia.org/wiki/Problem_domainhttp://en.wikipedia.org/wiki/Concurrency_(computer_science)http://en.wikipedia.org/wiki/Use_casehttp://en.wikipedia.org/wiki/Scenario_(computing)http://en.wikipedia.org/wiki/System_Sequence_Diagramhttp://en.wikipedia.org/wiki/User_interfacehttp://en.wikipedia.org/wiki/Look_and_feelhttp://en.wikipedia.org/wiki/User_interfacehttp://en.wikipedia.org/wiki/Relational_data_modelhttp://en.wikipedia.org/wiki/Object_databasehttp://en.wikipedia.org/wiki/Object_(computer_science) -
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
34/42
0
is and what it can do. An object can be part of a class+ which is a set of objects that are
similar.
Information hiding- The ability to protect some components of the object from e'ternal
entities. This is reali#ed by language keywords to enable a variable to be declared as
privateorprotectedto the owning class.
Inheritance- The ability for a classto e'tend or override functionality of another class.
The so3calledsubclasshas a whole section that is thesuperclassand then it has its own
set of functions and data.
Interface- The ability to defer the implementation of a method. The ability to define the
functionsor methodssignatures without implementing them.
2olymorphism- The ability to replace an objectwith itssubobjects. The ability of anobject-variableto contain+ not only that object+ but also all of itssubobjects.
Designing concepts
Defining objects+ creating class diagramfrom conceptual diagram- !sually map entity to
class. = Identifying attributes.
!se design patterns7if applicable:- A design pattern is not a finished design+ it is a
description of a solution to a common problem+ in a conte't`1. The main advantage of
using a design pattern is that it can be reused in multiple applications. It can also be
thought of as a template for how to solve a problem that can be used in many different
situations andor applications. 4bject3oriented design patterns typically show
relationships and interactions between classes or objects+ without specifying the final
application classes or objects that are involved.
Define application framework7if applicable:- Application framework is a term usually
used to refer to a set of libraries or classes that are used to implement the standard
structure of an application for a specific operating system. y bundling a large amount of
reusable code into a framework+ much time is saved for the developer+ since heshe is
saved the task of rewriting large amounts of standard code for each new application that
is developed.
http://en.wikipedia.org/wiki/Information_hidinghttp://en.wikipedia.org/wiki/Inheritance_(computer_science)http://en.wikipedia.org/wiki/Interface_(computer_science)http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programminghttp://en.wikipedia.org/wiki/Class_diagramhttp://en.wikipedia.org/wiki/Conceptual_model_(computer_science)http://en.wikipedia.org/wiki/Attribute_(computing)http://en.wikipedia.org/wiki/Design_pattern_(computer_science)http://en.wikipedia.org/wiki/#cite_note-gof-0http://en.wikipedia.org/wiki/Application_frameworkhttp://en.wikipedia.org/wiki/Information_hidinghttp://en.wikipedia.org/wiki/Inheritance_(computer_science)http://en.wikipedia.org/wiki/Interface_(computer_science)http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programminghttp://en.wikipedia.org/wiki/Class_diagramhttp://en.wikipedia.org/wiki/Conceptual_model_(computer_science)http://en.wikipedia.org/wiki/Attribute_(computing)http://en.wikipedia.org/wiki/Design_pattern_(computer_science)http://en.wikipedia.org/wiki/#cite_note-gof-0http://en.wikipedia.org/wiki/Application_framework -
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
35/42
0/
Identify persistent objectsdata 7if applicable:- Identify objects that have to last longer
than a single runtime of the application. If a relational database is used+ design the object
relation mapping.
Identify and define remote objects 7if applicable:
Output 7de(i"erab(es9 of ob!ect-oriented design
)lass diagram- A class diagram is a type of static structure !&6diagram that describes
the structure of a system by showing the system^s classes+ their attributes+ and the
relationships between the classes.
*e,uence Diagram- ?'tends the*ystem *e,uence Diagramto add specific objects that
handle the system events. These are usually created for important and comple' system
events+ not for simple or trivial ones.
A se,uence diagram shows+ as parallel vertical lines+ different processes or objects that
live simultaneously+ and+ as hori#ontal arrows+ the messages e'changed between them+ in
the order in which they occur.
+rogra%%ing concepts
Aspect3oriented programming- 4ne view of aspect3oriented programming 7A42: is that
every major feature of the program+ core concern 7business logic:+ or cross3cutting
concern 7additional features:+ is an aspect+ and by weaving them together 7also called
composition:+ you finally produce a whole out of the separate aspects.
Dependency injection- The basic idea is that if an object depends upon having an instance
of some other object then the needed object is XinjectedX into the dependent objectO for
e'ample+ being passed a database connection as an argument to the constructor instead of
creating one internally.
Acyclic dependencies principle- The dependency graph of packages or components
should have no cycles. This is also referred to as having a directed acyclic graph.`$or
http://en.wikipedia.org/wiki/Class_diagramhttp://en.wikipedia.org/wiki/Unified_Modeling_Languagehttp://en.wikipedia.org/w/index.php?title=Sequence_Diagram&action=edit&redlink=1http://en.wikipedia.org/wiki/System_Sequence_Diagramhttp://en.wikipedia.org/wiki/Aspect_(computer_science)http://en.wikipedia.org/wiki/Dependency_injectionhttp://en.wikipedia.org/w/index.php?title=Acyclic_dependencies_principle&action=edit&redlink=1http://en.wikipedia.org/wiki/Directed_acyclic_graphhttp://en.wikipedia.org/wiki/Directed_acyclic_graphhttp://en.wikipedia.org/wiki/#cite_note-objectMentor-1http://en.wikipedia.org/wiki/#cite_note-objectMentor-1http://en.wikipedia.org/wiki/Class_diagramhttp://en.wikipedia.org/wiki/Unified_Modeling_Languagehttp://en.wikipedia.org/w/index.php?title=Sequence_Diagram&action=edit&redlink=1http://en.wikipedia.org/wiki/System_Sequence_Diagramhttp://en.wikipedia.org/wiki/Aspect_(computer_science)http://en.wikipedia.org/wiki/Dependency_injectionhttp://en.wikipedia.org/w/index.php?title=Acyclic_dependencies_principle&action=edit&redlink=1http://en.wikipedia.org/wiki/Directed_acyclic_graphhttp://en.wikipedia.org/wiki/#cite_note-objectMentor-1 -
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
36/42
0G
e'ample+ package ) depends on package + which depends on package A. If package A
also depended on package )+ then you would have a cycle.
)omposite reuse principle- $avor polymorphic composition of objects over inheritance.
U/6
Unified /ode(ing 6anguage7U/6: is a standardi#ed general3purposemodeling language in
the field of object3oriented software engineering.The standard is managed+ and was created by+
the 4bject &anagement (roup.
!&6 includes a set of graphic notation techni,ues to create visual models of object3oriented
software3intensive systems.
The !nified &odeling 6anguage 7!&6: is used to specify+ visuali#e+ modify+ construct and
document the artifactsof an object3orientedsoftware3intensive system under development.`1
!&6 offers a standard way to visuali#e a system^s architectural blueprints+ including elements
such as-
activities
actors
business processes
database schemas
7logical: components
programming languagestatements
reusable software components.`
!&6 combines techni,ues from data modeling7entity relationship diagrams:+business modeling
7work flows:+ object modeling+ and component modeling. It can be used with all processes+throughout the software development life cycle+ and across different implementation
technologies.`0!&6 has synthesi#ed the notations of the ooch method+ the 4bject3modeling
techni,ue74&T: and 4bject3oriented software engineering744*?: by fusing them into a
single+ common and widely usable modeling language.`citation needed!&6 aims to be a standard
modeling language which can model concurrent and distributed systems. !&6 is a de facto
http://en.wikipedia.org/w/index.php?title=Composite_reuse_principle&action=edit&redlink=1http://en.wikipedia.org/wiki/Modeling_languagehttp://en.wikipedia.org/wiki/Object-orientedhttp://en.wikipedia.org/wiki/Software_engineeringhttp://en.wikipedia.org/wiki/Object_Management_Grouphttp://en.wikipedia.org/wiki/Visual_modelinghttp://en.wikipedia.org/wiki/Object-orientedhttp://en.wikipedia.org/wiki/Artifact_(software_development)http://en.wikipedia.org/wiki/Object-orientedhttp://en.wikipedia.org/wiki/Unified_Modeling_Language#cite_note-Foldoc01-0http://en.wikipedia.org/wiki/Activity_(UML)http://en.wikipedia.org/wiki/Actor_(UML)http://en.wikipedia.org/wiki/Business_processhttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Component_(UML)http://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Component-based_software_engineeringhttp://en.wikipedia.org/wiki/Unified_Modeling_Language#cite_note-OMG00-1http://en.wikipedia.org/wiki/Data_modelinghttp://en.wikipedia.org/wiki/Entity_relationship_diagramhttp://en.wikipedia.org/wiki/Business_modelinghttp://en.wikipedia.org/wiki/Object_modelinghttp://en.wikipedia.org/wiki/Software_development_life_cyclehttp://en.wikipedia.org/wiki/Unified_Modeling_Language#cite_note-2http://en.wikipedia.org/wiki/Booch_methodhttp://en.wikipedia.org/wiki/Object-modeling_techniquehttp://en.wikipedia.org/wiki/Object-modeling_techniquehttp://en.wikipedia.org/wiki/Object-oriented_software_engineeringhttp://en.wikipedia.org/wiki/Modeling_languagehttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Distributed_systemshttp://en.wikipedia.org/w/index.php?title=Composite_reuse_principle&action=edit&redlink=1http://en.wikipedia.org/wiki/Modeling_languagehttp://en.wikipedia.org/wiki/Object-orientedhttp://en.wikipedia.org/wiki/Software_engineeringhttp://en.wikipedia.org/wiki/Object_Management_Grouphttp://en.wikipedia.org/wiki/Visual_modelinghttp://en.wikipedia.org/wiki/Object-orientedhttp://en.wikipedia.org/wiki/Artifact_(software_development)http://en.wikipedia.org/wiki/Object-orientedhttp://en.wikipedia.org/wiki/Unified_Modeling_Language#cite_note-Foldoc01-0http://en.wikipedia.org/wiki/Activity_(UML)http://en.wikipedia.org/wiki/Actor_(UML)http://en.wikipedia.org/wiki/Business_processhttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Component_(UML)http://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Component-based_software_engineeringhttp://en.wikipedia.org/wiki/Unified_Modeling_Language#cite_note-OMG00-1http://en.wikipedia.org/wiki/Data_modelinghttp://en.wikipedia.org/wiki/Entity_relationship_diagramhttp://en.wikipedia.org/wiki/Business_modelinghttp://en.wikipedia.org/wiki/Object_modelinghttp://en.wikipedia.org/wiki/Software_development_life_cyclehttp://en.wikipedia.org/wiki/Unified_Modeling_Language#cite_note-2http://en.wikipedia.org/wiki/Booch_methodhttp://en.wikipedia.org/wiki/Object-modeling_techniquehttp://en.wikipedia.org/wiki/Object-modeling_techniquehttp://en.wikipedia.org/wiki/Object-oriented_software_engineeringhttp://en.wikipedia.org/wiki/Modeling_languagehttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Distributed_systems -
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
37/42
0Q
industrystandard+`citation neededand is evolving under the auspices of the 4bject &anagement (roup
74&(:.
/ode(ing
It is important to distinguish between the !&6 model and the set of diagrams of a system. A
diagram is a partial graphic representation of a system^s model. The model also contains
documentation that drive the model elements and diagrams 7such as written use cases:.
!&6 diagrams represent two different views of a system model
*tatic 7orstructural: view- emphasi#es the static structure of the system using objects+
attributes+ operations and relationships. The structural view includesclass diagramsand
composite structure diagrams.
Dynamic 7or behavioral: view- emphasi#es the dynamic behavior of the system by
showing collaborations among objects and changes to the internal states of objects. This
view includes se,uence diagrams+activity diagrams andstate machine diagrams.
!&6 models can be e'changed among !&6 toolsby using the J&I interchange format.
Diagra%s o"er"ie&
!&6 . has 1 types of diagramsdivided into two categories.`11*even diagram types represent
structuralinformation+ and the other seven represent general types of behavior+ including four
that represent different aspects of interactions. These diagrams can be categori#ed hierarchically
as shown in the following class diagram-
http://en.wikipedia.org/wiki/Industryhttp://en.wikipedia.org/wiki/Technical_standardhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Object_Management_Grouphttp://en.wikipedia.org/wiki/Class_diagramhttp://en.wikipedia.org/wiki/Composite_structure_diagramhttp://en.wikipedia.org/wiki/Sequence_diagramhttp://en.wikipedia.org/wiki/Activity_diagramhttp://en.wikipedia.org/wiki/UML_state_machinehttp://en.wikipedia.org/wiki/UML_toolhttp://en.wikipedia.org/wiki/XMIhttp://en.wikipedia.org/wiki/Category:UML_diagramshttp://en.wikipedia.org/wiki/Unified_Modeling_Language#cite_note-10http://en.wikipedia.org/wiki/Class_diagramhttp://en.wikipedia.org/wiki/Industryhttp://en.wikipedia.org/wiki/Technical_standardhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Object_Management_Grouphttp://en.wikipedia.org/wiki/Class_diagramhttp://en.wikipedia.org/wiki/Composite_structure_diagramhttp://en.wikipedia.org/wiki/Sequence_diagramhttp://en.wikipedia.org/wiki/Activity_diagramhttp://en.wikipedia.org/wiki/UML_state_machinehttp://en.wikipedia.org/wiki/UML_toolhttp://en.wikipedia.org/wiki/XMIhttp://en.wikipedia.org/wiki/Category:UML_diagramshttp://en.wikipedia.org/wiki/Unified_Modeling_Language#cite_note-10http://en.wikipedia.org/wiki/Class_diagram -
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
38/42
0R
!&6 does not restrict !&6 element types to a certain diagram type. In general+ every !&6
element may appear on almost all types of diagramsO this fle'ibility has been partially restricted
in !&6 .F. !&6profiles may define additional diagram types or e'tend e'isting diagrams with
additional notations.
In keeping with the tradition of engineering drawings+`citation neededa comment or note e'plaining
usage+ constraint+ or intent is allowed in a !&6 diagram.
Structure diagra%s
*tructure diagrams emphasi#e the things that must be present in the system being modeled. *ince
structure diagrams represent the structure+ they are used e'tensively in documenting the software
architectureof software systems.
)lass diagram- describes the structure of a system by showing the system^s classes+ their
attributes+ and the relationships among the classes.
http://en.wikipedia.org/wiki/Profile_(UML)http://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Software_architecturehttp://en.wikipedia.org/wiki/Software_architecturehttp://en.wikipedia.org/wiki/Class_diagramhttp://upload.wikimedia.org/wikipedia/commons/d/d6/Uml_diagram2.pnghttp://en.wikipedia.org/wiki/Profile_(UML)http://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Software_architecturehttp://en.wikipedia.org/wiki/Software_architecturehttp://en.wikipedia.org/wiki/Class_diagram -
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
39/42
0M
)omponent diagram- describes how a software system is split up into components and
shows the dependencies among these components.
)omposite structure diagram- describes the internal structure of a class and the
collaborations that this structure makes possible.
Deployment diagram- describes the hardware used in system implementations and the
e'ecution environments and artifacts deployed on the hardware.
4bject diagram- shows a complete or partial view of the structure of a modeled system at
a specific time.
2ackage diagram- describes how a system is split up into logical groupings by showing
the dependencies among these groupings.
2rofile diagram- operates at the metamodel level to show stereotypes as classes with the
PPstereotypeEE stereotype+ and profiles as packages with the PPprofileEE stereotype.
The e'tension relation 7solid line with closed+ filled arrowhead: indicates what
metamodel element a given stereotype is e'tending.
)lass diagram
)omponent diagram
http://en.wikipedia.org/wiki/Component_diagramhttp://en.wikipedia.org/wiki/Composite_structure_diagramhttp://en.wikipedia.org/wiki/Deployment_diagramhttp://en.wikipedia.org/wiki/Object_diagramhttp://en.wikipedia.org/wiki/Package_diagramhttp://en.wikipedia.org/w/index.php?title=Profile_diagram&action=edit&redlink=1http://en.wikipedia.org/wiki/File:Component-4.pnghttp://en.wikipedia.org/wiki/File:BankAccount.pnghttp://en.wikipedia.org/wiki/Component_diagramhttp://en.wikipedia.org/wiki/Composite_structure_diagramhttp://en.wikipedia.org/wiki/Deployment_diagramhttp://en.wikipedia.org/wiki/Object_diagramhttp://en.wikipedia.org/wiki/Package_diagramhttp://en.wikipedia.org/w/index.php?title=Profile_diagram&action=edit&redlink=1 -
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
40/42
F
)omposite structure diagrams
Deployment diagram
4bject diagram
2ackage diagram
Be)a"ior diagra%s
ehavior diagrams emphasi#e what must happen in the system being modeled. *ince behavior
diagrams illustrate the behavior of a system+ they are used e'tensively to describe the
functionality of software systems.
Activity diagram- describes the business and operational step3by3step workflows of
components in a system. An activity diagram shows the overall flow of control.
!&6 state machine diagram- describes the states and state transitions of the system.
http://en.wikipedia.org/wiki/Activity_diagramhttp://en.wikipedia.org/wiki/UML_state_machinehttp://en.wikipedia.org/wiki/File:Package_import-1.pnghttp://upload.wikimedia.org/wikipedia/commons/8/89/Instance_specification_3.pnghttp://en.wikipedia.org/wiki/File:UML_Diagramme_Deploiement.gifhttp://en.wikipedia.org/wiki/Activity_diagramhttp://en.wikipedia.org/wiki/UML_state_machine -
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
41/42
1
!se case diagram- describes the functionality provided by a system in terms of actors+
their goals represented as use cases+ and any dependencies among those use cases.
!&6 Activity Diagram
*tate &achinediagram
!se case diagram
Interaction diagra%s
Interaction diagrams+ a subset of behaviour diagrams+ emphasi#e the flow of control and data
among the things in the system being modeled-
)ommunication diagram- shows the interactions between objects or parts in terms of
se,uenced messages. They represent a combination of information taken from )lass+
http://en.wikipedia.org/wiki/Use_case_diagramhttp://en.wikipedia.org/wiki/Activity_diagramhttp://en.wikipedia.org/wiki/UML_state_machinehttp://en.wikipedia.org/wiki/Use_case_diagramhttp://en.wikipedia.org/wiki/Communication_diagramhttp://en.wikipedia.org/wiki/File:UML_Use_Case_diagram.svghttp://en.wikipedia.org/wiki/File:UML_state_diagram.pnghttp://en.wikipedia.org/wiki/File:Activity_Diagram_1.jpghttp://en.wikipedia.org/wiki/Use_case_diagramhttp://en.wikipedia.org/wiki/Activity_diagramhttp://en.wikipedia.org/wiki/UML_state_machinehttp://en.wikipedia.org/wiki/Use_case_diagramhttp://en.wikipedia.org/wiki/Communication_diagram -
8/14/2019 DISTRIBUTED DATABASE ANDOBJECT ORIENTED DATABASES UNIT- IV.doc
42/42
*e,uence+ and !se )ase Diagrams describing both the static structure and dynamic
behavior of a system.
Interaction overview diagram- provides an overview in which the nodes represent
communication diagrams.
*e,uence diagram- shows how objects communicate with each other in terms of a
se,uence of messages. Also indicates the lifespans of objects relative to those messages.
Timing diagrams- a specific type of interaction diagram where the focus is on timing
constraints.
)ommunication diagram
Interaction overview diagram
*e,uence diagram
The 2rotocol *tate &achine is a sub3variant of the *tate &achine.It may be used to model
network communication protocols.
========================
http://en.wikipedia.org/wiki/Interaction_overview_diagramhttp://en.wikipedia.org/wiki/Sequence_diagramhttp://en.wikipedia.org/wiki/Timing_diagram_(Unified_Modeling_Language)http://en.wikipedia.org/wiki/Communication_diagramhttp://en.wikipedia.org/wiki/Interaction_overview_diagramhttp://en.wikipedia.org/wiki/Sequence_diagramhttp://en.wikipedia.org/wiki/UML_state_machinehttp://en.wikipedia.org/wiki/Interaction_overview_diagramhttp://en.wikipedia.org/wiki/Sequence_diagramhttp://en.wikipedia.org/wiki/Timing_diagram_(Unified_Modeling_Language)http://en.wikipedia.org/wiki/Communication_diagramhttp://en.wikipedia.org/wiki/Interaction_overview_diagramhttp://en.wikipedia.org/wiki/Sequence_diagramhttp://en.wikipedia.org/wiki/UML_state_machine