Определение размера объекта в базе данных

Страницы работы

Содержание работы

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

ХАРЬКОВСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ РАДИОЭЛЕКТРОНИКИ

Кафедра ИУС

Контрольная работа

По дисциплине: «Система управления распределенными базами данных»

На тему: «Определение размера объекта в БД»

Выполнила:                                                                                       Проверил:

ст. группы ИУСТ-03-2                                                                  доц. каф. ИУС

Ставинская Н.М.                                                                           Панферова И.Ю.

Харьков 2006


Структура БД

Рисунок 1 – ER-диаграмма

Рассмотрим таблицы: Bank, Client, Schet, Doc, Operatcii.

Выполнение вычислений.

Размер блока 2Кб = 2048 байт.

1.  Вычитаем из размера блока его заголовок.

2048-90=1958 байт.

2.  Вычисляем резервируемое пространство в блоке под возможные изменения.

pctfree = 10%

1958*0,1=196 байт

3.  Вычисляем оставшееся пространство в блоке

1958 – 196 = 1762 байт

4.   

4.1  Определяем среднюю длину строки в таблице Bank

SQLWKS> select avg(nvl(vsize(Id_Bank),0))+avg(nvl(vsize(Name),0))+avg(nvl(vsize(Adres),0))+avg(nvl(vsize(Telefon),0)) +avg(nvl(vsize(Kodbank),0)) +avg(nvl(vsize(N_licens),0)) +avg(nvl(vsize(N_otdelen),0)) as AVG_LENGTH_ROW

     2> from Bank

     3>

AVG_LENGTH

----------

        63

1 row selected.

4.2  Определяем среднюю длину строки в таблице Client

SQLWKS> select avg(nvl(vsize(Id_Client),0))+avg(nvl(vsize(Name),0))+avg(nvl(vsize(Adres),0))+avg(nvl(vsize(N_pasp),0)) +avg(nvl(vsize(Ident_kod),0)) +avg(nvl(vsize(Dop_info),0)) +avg(nvl(vsize(N_kartu),0)) +avg(nvl(vsize(Telefon),0)) +avg(nvl(vsize(Kly_slovo),0))  as AVG_LENGTH_ROW

     2> from Client

     3>

AVG_LENGTH

----------

       131

1 row selected.

4.3  Определяем среднюю длину строки в таблице Schet

SQLWKS> select avg(nvl(vsize(Id_Schet),0))+avg(nvl(vsize(Mfo),0))+avg(nvl(vsize(Korsh),0))+avg(nvl(vsize(Date_otkr),0)) +avg(nvl(vsize(Id_Bank),0)) +avg(nvl(vsize(Id_Client),0)) +avg(nvl(vsize(Id_Karta),0)) as AVG_LENGTH_ROW

     2> from Schet

     3>

AVG_LENGTH

----------

        38

1 row selected.

4.4  Определяем среднюю длину строки в таблице Doc

SQLWKS> select avg(nvl(vsize(Id_Doc),0))+avg(nvl(vsize(Name),0))+avg(nvl(vsize(Prim),0)) as AVG_LENGTH_ROW

     2> from Doc

     3>

AVG_LENGTH

----------

30

1 row selected.

4.5  Определяем среднюю длину строки в таблице  Operatcii

SQLWKS> select avg(nvl(vsize(Id_Oper),0))+avg(nvl(vsize(Name),0))+avg(nvl(vsize(Naznachenie),0))+avg(nvl(vsize(N_oper),0)) +avg(nvl(vsize(Kod_poluch),0)) +avg(nvl(vsize(Kod_otprav),0)) +avg(nvl(vsize(Id_Doc),0)) +avg(nvl(vsize(Id_Schet),0))  as AVG_LENGTH_ROW

     2> from Operatcii

     3>

AVG_LENGTH

----------

62

1 row selected.

5.  Пространство занимаемое строкой из таблицы

в таблице Bank: 63+8+3+0=74

в таблице Client: 131+9+3+0=143

в таблице Schet: 38+7+3+0=48

в таблице Doc: 30+3+3+0=36

в таблице Operatcii: 62+8+3+0=73

6.  Число строк в блоке

для таблицы Bank: 1762/74=23

для таблицы Client: 1762/143=12

для таблицы Schet:1762/48=36

для таблицы Doc: 1762/36=48

для таблицы Operatcii: 1762/62=28

7.  Определяем сколько будет строк в таблице.

для таблицы Bank: 50

для таблицы Client: 10000

для таблицы Schet:11000

для таблицы Doc: 100

для таблицы Operatcii: 11000

8.  Определяем количество блоков

для таблицы Bank: 50/23=3

для таблицы Client: 10000/12=834

для таблицы Schet:11000/36=306

для таблицы Doc: 100/48=3

для таблицы Operatcii: 11000/28=393

9.  Определяем занимаемое место (Кбайт).

1 блок = 2 Кбайта

для таблицы Bank: 3*2=6

для таблицы Client: 834*2=1668

для таблицы Schet: 306*2=612

для таблицы Doc: 3*2=6

для таблицы Operatcii: 393*2=786

Расчет для индексов

1.  Вычитаем из размера блока его заголовок.

2048-161=1887 байт.

2.  Вычисляем резервируемое пространство в блоке под возможные изменения.

pctfree = 10%

1887*0,1=189 байт

3.  Вычисляем оставшееся пространство в блоке

1887 – 189 = 1698 байт

4.  Определяем средние длины строк:

4.1 Определяем среднюю длину строки в таблице Bank

SQLWKS> select avg(nvl(vsize(Id_Bank),0)) as AVG_LENGTH_ROW

     2> from Bank

     3>

AVG_LENGTH

----------

         6

1 row selected.

    4.2 Определяем среднюю длину строки в таблице Client

SQLWKS> select avg(nvl(vsize(Id_Client),0))

     2> as AVG_LENGTH_ROW

     3> from Client

     4>

AVG_LENGTH

----------

         8

1 row selected.

     4.3  Определяем среднюю длину строки в таблице Schet

SQLWKS> select avg(nvl(vsize(Id_Schet),0))

     2> as AVG_LENGTH_ROW

     3> from Schet

     4>

AVG_LENGTH

----------

         8

1 row selected.

     4.4  Определяем среднюю длину строки в таблице Doc

SQLWKS> select avg(nvl(vsize(Id_Doc),0))

     2> as AVG_LENGTH_ROW

     3> from Doc

     4>

AVG_LENGTH

----------

         4

1 row selected.

4.5  Определяем среднюю длину строки в таблице  Operatcii

SQLWKS> select avg(nvl(vsize(Id_Oper),0))

     2> as AVG_LENGTH_ROW

     3> from Operatcii

     4>

AVG_LENGTH

----------

         5

1 row selected.

5.  Пространство, занимаемое строкой из таблицы

в таблице Bank: 6+1+3+0=10

в таблице Client: 8+1+3+0=12

в таблице Schet: 8+1+3+0=12

в таблице Doc: 4+1+3+0=8

в таблице Operatcii: 5+1+3+0=9

6.  Число строк в блоке

для таблицы Bank: 1698/10=169

для таблицы Client: 1698/12=141

для таблицы Schet: 1698/12=141

для таблицы Doc: 1698/8=212

для таблицы Operatcii: 1698/9=188

7.  Определяем сколько будет строк в таблице.

для таблицы Bank: 50

для таблицы Client: 10000

для таблицы Schet:11000

для таблицы Doc: 100

для таблицы Operatcii: 11000

8.  Определяем количество блоков

для таблицы Bank: 50/169=1

для таблицы Client: 10000/141=71

для таблицы Schet:11000/141=79

для таблицы Doc: 100/212=1

для таблицы Operatcii: 11000/188=59

9.  Определяем занимаемое место (Кбайт).

1 блок = 2 Кбайта

для таблицы Bank: 1*2=2

для таблицы Client: 71*2=142

для таблицы Schet: 79*2=158

для таблицы Doc: 1*2=2

для таблицы Operatcii: 59*2=118

Выводы: зная количество строк в таблицах, можно посчитать количество используемых блоков и весь объём дискового пространства, занимаемый данными, хранящимися в таблицах и созданных индексах. Это позволяет планировать размеры базы данных и способы её хранения на дисковых носителях

Похожие материалы

Информация о работе