in Databases recategorized by
1,350 views
3 votes
3 votes
suppose that in a file organization record size(R)=150 bytes , block size (B)=512 bytes. there are totally 30000 records. the data field on which indexing is done is 9 bytes and block pointer size is 7 bytes how many block access will be needed to access a data item in case of single level primary indexing?
in Databases recategorized by
1.4k views

4 Comments

is it 10?
0
0
The answer should be 10.
0
0
yes I too got 10 but in the answer key they have given 9 , just wanted to confirm.

Thanks :)
0
0

The answer will be 9 when we have access the Block only. If you want to access the data of that particular Block then the answer will be 10.

==> Here asking for the Data items. So, the answer will be 10.

0
0

2 Answers

6 votes
6 votes
Best answer

10 is right .

selected by

3 Comments

thanks...concept got clear
0
0
Thanks brother for insight into the concept.

Because of your help I got conceptual clarity
0
0
i dont understand why we use take ceiling not floor in binary search
0
0
2 votes
2 votes
No. of blocks in disk = (30000x150)/512 = 8789.

In primary indexing , one entry for each block is there , so number of blocks in index = (8789 x 16)/512 = 274.65 = 275.

Now , we can apply binary search for primary indexing .

ceil(log(275)) = 9

In worst case , it'll take 9 block transfers to locate the exact block and 1 extra transfer for getting that block.

Therefore total number of transfers = 10.

Related questions

0 votes
0 votes
0 answers
2