Describe analysis of access paths, Database Management System

Assignment Help:

Describe analysis of access paths

To describe analysis of access paths, consider an example of the design of a company's employee skills database. A part of the object model from analysis phase is shown in Figure. The operation Company:: find-skill returns a group of persons in company with a given skill. Like, we may ask for data of all employees who speak Japanese.

2350_Chain of associations between objects.png

                                                               Figure: Chain of associations between objects

 

For this example, suppose that company has 1000 employees, each of one has 10 skills on average. A simple nested loop will traverse Employs 1000 times and has-skill 10,000 times. If only 5 employees in fact speak Japanese, then test-to-hit ratio is 2000. 

Now, let us check whether this figure can be improved or not. Actually, we could make many possible improvements in this Figure. First, Has-skill need not to be implemented as an unordered list a hashed set. The hashing can be performed during fixed interval of time so that cost of testing whether a person speaks Japanese is constant or not, provided a unique skill object represents speaks Japanese. This rearrangement decreases number of tests from 10,000 to 1,000, or one per employee.

For those cases where number of hits from a query is less (since only a fraction of objects satisfy test) we can build the index to improve access to objects which must be frequently retrieved. For instance, we can add a qualified association Speaks language from Company to Employee, where qualifier is the language spoken. This permits us to straight away access all employees who speak particular language with no wasted accesses. But there is a cost to index: "It requires extra memory and it must be updated every time base associations are updated". The object designer should select that when it is useful to build the indexes. Here, we have to consider case where most queries return all of objects in search path, then an index really does not save much since test-to-hit ratio in this case is very close to 1.

 

173_Index for personal skills database.png

Figure: Index for personal skills database


Related Discussions:- Describe analysis of access paths

MANAGEMWNT OF PRINCILES AND TECHNIQUES., HOW TO SOLVE THE LP Problems by si...

HOW TO SOLVE THE LP Problems by simplex method?z=x1+-3x2+2x3

Modify - referential integrity, Update or Modify operation alters the exist...

Update or Modify operation alters the existing values. If these operations alter the value that is the foreign key also, the only check need is the similar as that of the Insert op

Name the metrics for selecting top algorithm, Name the metrics for selectin...

Name the metrics for selecting top algorithm There are a number of metrics for selecting top algorithm: i) Computational complexity: Computational complexity refers to eff

Implementing a distributed database system, A distributed database is defin...

A distributed database is defined as "a collection of multiple logically interrelated database which are physically distributed over a computer network" (a) Give any three advan

What is index, What is Index? An index is a physical structure having p...

What is Index? An index is a physical structure having pointers to the data. Indices are created in an existing table to locate rows more quickly and efficiently. It is possibl

Accessing information permissions users, Accessing information about permis...

Accessing information about permissions to all users- Object level permissions: With the use of data dictionary you can see the permissions to user. Let us get the table name fro

Explain tuple variable, Define tuple variable? Tuple variables are used...

Define tuple variable? Tuple variables are used for comparing two tuples in the same relation. The tuple variables are explained in the from clause by way of the as clause.

How can you start mysql server, How can you Start MySQL Server? To star...

How can you Start MySQL Server? To start the mysql program type it is name in the command- line prompt. After starting mysql program just display A welcome letter using the

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd