Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции БДиСУБД.docx
Скачиваний:
17
Добавлен:
19.11.2019
Размер:
494.91 Кб
Скачать

ФайлыбазыданныхInterBase

Вседанные,которыепользователи"помещают"вбазу,используялюбойинструментизмножестваприменяемыхдляэтойцепи"складируются"серверомвнекуюсущность-базданных.ОбычноподбазойданныхпонимаетсяисамсерверСУБД,ипользовательскаяинформация,идажеклиентскиепрограммы,которыеработаютсданными.Мыбудемпониматьподбазойданныхсовершенноконкретнуювещь-файлыбазыданных.

БазаданныхInterBaseпредставляетсобойодинилинесколькофайлов,вкоторыхнаходитсяинформацияобовсем,чтосвязаносэтойбазой.Исключениесоставляетинформацияопользователях,посколькупользователиопределяютсянауровневсегосервераихранятсяотдельно,всистемнойбазеданныхISC4.GDB(Security.fdb).Внутрифайловбазыданныхсодержитсявсяинформацияобазе:самиданные,индексы,триггеры,хранимыепроцедурыит.д.

БазаданныхInterBaseдлясреднегопроектапредставляетсобойодинфайл,таккакограничениев32Гбайтанаразмеродногофайлабазыданныхпозволяетдержатьвседанныеводномфайле(версиинижеInterBase6.5,Firebird1.0иYaffil1.0имеютограничениев2-4Гбайт,взависимостиотОС).32гигабайтвполнехватаетдляхраненияинформацииприложениябазданныхсреднегоразмера.Нопринеобходимостиможноразбитьбазуданныхнанесколькофайлов.ИзвестныбазыданныхInterBaseразмеромвсотнигигабайт.

GDB(FDB)-эторасширение,котороерекомендуютиспользовавдляфайловбазданныхInterBase(FireBird).Первое,чтонужносказатьостроенииGDB-файла,-этото,чтоонпредставляетсобойнаборстраницжесткоопределенногоразмера.Размерфайлабазыданныхкратенразмерустраницы,которыйнеизменендлявсехфайловданнойбазыданных.РазныеверсииInterBaseподдерживаютразличныеразмерыстраниц,чтоотраженовтаблице1.Размерстраницызадаетсяприсозданиибазыданныхинеможетбытьизмененвтечениееежизненногоцикла,т.е.изменитьразмерстраницывозможнотолькоприсозданиибазыизрезервнойкопии(restore).

Таблица1.Размерстраницы,поддерживаемыйразличнымиверсиями

ВерсияInterBase

Размерстраницы,байт

1024

2048

4096

8192

16384

InterBase4

*

*

*

*

InterBase5.x

*

*

*

*

InterBase6.0x

*

*

*

*

FirebirdIx/Yaffl1.x/InterBase6.5ивыше

*

*

*

*

*

Чтениеизаписьданныхвбазеданныхосуществляетсяпостранично,имногиеважныехарактеристикибазыданныхисервера,такие,например,какразмербуферабазыданных(Databasecache),зависятотразмерастраницыиисчисляютсяв"страницах".

Лекция3.Триггерыихранимыепроцедуры

Хранимыепроцедурыитриггеры,окоторыхуженеоднократноупоминалосьвпредыдущихлекциях,являютсяоднимиизсамыхмощныхсредствInterBaseдляреализациибизнес-логикинасторонесервера.Использованиеэтихинструментовприводитк:

  • ускорениювыполнениязапросовиснижениюнагрузкинасеть;

  • повышениюбезопасностиБД,снижениюрискаошибок;

  • централизацииобработкиданных(дополнитьилиисправитьправиланужнотольконасервере);

  • уменьшениюиупрощениюкодаклиентскихприложений,работающихссерверомInterBase.

Хранимыепроцедуры,какитриггеры,типичнытолькодляклиент-серверныхбазданных.Ите,идругиеиспользуютспециальныйалгоритмическийязык.Отриггерахмыпоговоримнаследующейлекции,асейчасизучимхранимыепроцедурыиалгоритмическийязык,общийидлятриггеров,идляхранимыхпроцедур.