logo
Методические указания по курсовому проектирован

7.8. Оценка объема базы данных

В дальнейшем будем использовать следующие обозначения:

B(r)  количество блоков, требуемых для хранения всех кортежей отношения r;

T(r)  количество кортежей отношения R;

V(r,a1,a2,…,an)  количество различных наборов значений a1,a2,…,an атрибутов A1,A2,…,An в отношении r.

Для оценки объема базы данных воспользуемся следующим выражением:

,

где i –индекс отношения ri , i=1,m,

Vi. – объем i-ого отношения базы данных.

Для определения объема Vi отношения ri , i=1,m, необходимо выполнить следующие действия:

1. Оценить размер в байтах одного кортежа отношения с учетом размещения значений каждого атрибута и заголовка кортежа.

2. Определить количество кортежей размещаемых в одном блоке.

3. Оценить количество блоков, необходимых для хранения отношения.

4. Оценить объем отношения в байтах.

Рассмотрим пример оценки объема памяти необходимого для хранения отношения. Пусть в отношении r со схемой R(A, B, C) атрибуты A и B занимают четыре байта, а C  100 байт. Допустим, что под заголовок кортежа отводится по 12 байт. Тогда для хранения каждого кортежа потребуется 120 байт:

l(r)= l + l[A] + l[B] + l[C] = 12 + 4 + 4 + 100 =120 (байт).

Предположим, что объем блока (физической записи, сектора) составляет 1024 байт, причем длина заголовка блока равна 24 байта. Тогда количество кортежей размещаемых в одном блоке равно 8:

q ( r ) = (Lb lb) / lr = 1024 24 / 120 = 8.

Будем считать, что отношение r содержит 10000 кортежей. Тогда количество блоков, необходимых для размещения отношения равно 1250:

B(r ) = T(r) / q(r) = 10000 / 8 = 1250.

Объем отношения r в байтах будет составлять 1250 Кбайт:

Vi = BR Lb = 1250  1024 = 1280000 байт =

=1250 Кбайт  1.22 Мбайт.