3
Chapter 24 Distributed DBMSs – Concepts and Design
Review Questions
24.1 Explain what is meant by a DDBMS and discuss the motivation in providing such a system.
See Section 24.1.1; motivation given at start of Section 24.1.
24.2 Compare and contrast a DDBMS with distributed processing. Under what circumstances would you
choose a DDBMS over distributed processing?
24.3 Compare and contrast a DDBMS with a parallel DBMS. Under what circumstances would you
choose a DDBMS over a parallel DBMS?
24.4 Discuss the advantages and disadvantages of a DDBMS.
24.5 What is the difference between a homogeneous and heterogeneous DDBMS? Under what
circumstances would such systems generally arise?
24.6 What is the main differences between LAN and WAN?
LAN Local Area Network and WAN Wide Area Network.
4
24.7 What functionality do you expect in a DDBMS?
Expect the same functionality of a centralized DBMS plus:
extended communications services to provide access to remote sites and allow transfer of
24.8 What is a multidatabase system? Describe a reference architecture for such a system.
24.9 One problem area with DDBMSs is that of distributed database design. Discuss the issues that have to
be addressed with distributed database design. Discuss how these issues apply to the global system
catalog.
The question that is being addressed is how the database and the applications that run against it should
be placed across the sites. Two basic alternatives: partitioned or replicated. In partitioned scheme
24.10 What are the strategic objectives for the definition and allocation of fragments?
5
24.11 Describe alternative schemes for fragmenting a global relation. State how you would check for
correctness to ensure that the database does not undergo semantic change during fragmentation.
24.12 What layers of transparency should be provided with a DDBMS? Give examples to illustrate your
answer. Justify your answer.
See Section 24.5.
24.13 A DDBMS must ensure that no two sites create a database object with the same name. One solution to
this problem is to create a central name server. What are the disadvantages with this approach?
Propose an alternative approach that overcomes these disadvantages.
See Section 24.5.1 – Naming Transparency.
An alternative solution is to prefix an object with the identifier of the site that created it. For example,
24.14
four levels. Give examples to illustrate your answer.
See Section 24.5.2 and Figure 24.14.
6
Exercises
A multinational engineering company has decided to distribute its project management information at the
regional level in mainland Britain. The current centralized relational schema is as follows:-
Employee (NIN, fName, lName, address, DOB, sex, salary, taxCode, deptNo)
where Employee contains employee details and the national insurance number NIN is the key.
Department contains department details and deptNo is the key. managerNIN identifies the
employee who is the manager of the department. There is only one manager for each
Departments are grouped regionally as follows:
7
24.15 Draw an Entity-Relationship (ER) diagram to represent this system.
C used for expediency:
24.16 Using the ER diagram from Exercise 24.15, produce a distributed database design for this system,
and include:
(a) a suitable fragmentation schema for the system;
(b) in the case of primary horizontal fragmentation, a minimal set of predicates;
(c) the reconstruction of global relations from fragments.
State any assumptions necessary to support your design.
Possible solution as follows:
Business/Region – replicate relations at all sites only contain a small number of
records.
Department
Use primary horizontal fragmentation for Department with minterm predicates :
D1
D2 businessArea
Employee
Works_On
Employee
Use vertical fragmentation for Employee:
Projects
Use derived fragmentation for Projects:
WorksOn
Use derived fragmentation for WorksOn:
24.17 Repeat Exercise 24.16 for the DreamHome case study documented in Appendix A.
Possible solution as follows:
Branch – replicate relations at all sites – only contain a small number of records.
PropertyForRent
Use primary horizontal fragmentation for PropertyForRent with minterm predicates (for example):
Staff
Assume salaries paid by head office (branch 1 say), so use vertical fragmentation first:
S1: staffNo, fName, lName, branchNo (Staff)
Client
Use horizontal fragmentation:
Viewing, Owner
Use derived fragmentation for Viewing and Owner:
24.18 Repeat Exercise 24.16 for the EasyDrive School of Motoring case study documented in Appendix
B.2.
24.19 Repeat Exercise 24.16 for the Wellmeadows case study documented in Appendix B.3.
24.20 In Section 24.5.1 when discussing naming transparency, we proposed the use of aliases to uniquely
identify each replica of each fragment. Provide an outline design for the implementation of this
approach to naming transparency.
FUNCTION map(name)
{
10
24.21 Compare
each rule for which the system is not compliant, give your reasons why you think there is no
conformance to this rule.