Работа 9 - Резервное копирование (backup) и восстановление данных
Справочную информацию по Interbase можно найти , например на
http://klog.h17.ru/interbase/
Задание:
- Создайте БД формата InterBase для учета выдачи заработной платы и пользователей для работы с ней.
- Заполните ее и создайте резервную копию, а потом внесите изменения в БД и отмените их путем восстановления БД из резервной копии, внесите изменения в БД и отмените их путем восстановления транзакций.
Изучать резервное копирование (backup) и восстановление данных можно на любой БД, созданной в предыдущих работах. Однако создадим БД C:\dbase1\TELCLI.GDB - специально для этой работы.
Запускаю IBConsole.exe . Далее:
- В левом окошке этой программы - дв.щелчок на Local Server, ввожу: User name = SYSDBA , password = masterkey (если настройки не изменялись )
- Раскрывается список БД, доступных на локальном сервере (но он сейчас не нужен).
- Открываю в меню: Database | Create database
- В окошке Files вписываю имя создаваемого файла и путь, т.е. например C:\dbase1\TELCLI.GDB Size можно не заполнять. Папка C:\dbase1\ должна существовать.
- В окошке Options выбираю настройки. Птичку Register оставляю.
- Щелкаю ОК. В левом окошке появляется созданная БД, а на диске - файл C:\dbase1\TELCLI.GDB
Создаю таблицы, используя IBConsole и SQL-запросы:
(Запросы на создание таблиц см ниже, в метаданных ).
Для ввода запросов: Меню | Tools | Interacive SQL.
Справку по синтаксису запросов можно найти в файле \Program Files\Borland\InterBase\bin\SqlRef.hlp (англ)
Для заполнения таблиц данными: щелкаю в левом окне Tables, затем - в правом: дв щелчок по таблице, перехожу на закладку Data. После заполнения 1-й строки - щелкнуть клавишу "стрелка вниз".
Для сохранения изменений - щелкнуть кнопку Птичка, для сохранения в БД - щелкнуть кнопку Commit & Refresh. Можно также пользоваться кнопками: + (вставить), - (удалить) и т д. Добавляю в таблицы несколько записей.
--- Метаданные: ---
SET SQL DIALECT 3;
/* CREATE DATABASE 'c:\dbase1\telcli.gdb' PAGE_SIZE 4096
DEFAULT CHARACTER SET WIN1251 */
/* Table: CLIENT, Owner: SYSDBA */
CREATE TABLE "CLIENT"
(
"KODCLI" SMALLINT NOT NULL,
"NOMTEL" CHAR(10) CHARACTER SET WIN1251 NOT NULL,
"FIO" CHAR(30) CHARACTER SET WIN1251 NOT NULL COLLATE PXW_CYRL,
"ADRES" CHAR(30) CHARACTER SET WIN1251 NOT NULL COLLATE PXW_CYRL,
"PASP" CHAR(15) CHARACTER SET WIN1251 NOT NULL COLLATE PXW_CYRL,
"DATANAC" CHAR(10) CHARACTER SET WIN1251 NOT NULL,
PRIMARY KEY ("KODCLI")
);
/* Table: SCETA, Owner: SYSDBA */
CREATE TABLE "SCETA"
(
"NOMSCET" SMALLINT NOT NULL,
"KODCLI" SMALLINT NOT NULL,
"PIN" CHAR(15) CHARACTER SET WIN1251 NOT NULL,
"SUMOBSC" FLOAT NOT NULL,
"DOLG" SMALLINT NOT NULL,
PRIMARY KEY ("NOMSCET")
);
ALTER TABLE "SCETA" ADD FOREIGN KEY ("KODCLI") REFERENCES CLIENT ("KODCLI");
/* Grant Roles for this database */
/* Grant permissions for this database */
Создаю backup (резервную копию БД)
- отключить БД telcli – Database | Disconnect
- Меню: Database | Maintenance | BackUp/Restore | BackUp
- В рамке Database выбрать алиас: telcli
- В рамке Backup вписать имя Backup-алиаса, например: telcli3 и имя файла C:\dbase1\telcli3.gdb
- Опции по умолчанию можно не менять. Щелкнуть ОК, дождаться окончания работы. Резервная копия
готова.
Восстановить можно так:
- Восстанавливаемую БД отключить (Database | Disconnect )
- Меню: Database | Maintenance | BackUp/Restore | Restore
- В окошке Database Restore выбрать имена: BackUp -алиаса и файла, опцию Owerwrite установить = true
- В окошке Database должен появиться алиас восстанавливаемой БД и имя файла.
щелкнуть ОК.
( Вместо Меню: Database | Maintenance | BackUp/Restore | Restore
можно в левом окне открыть ярлык BackUp и сделать двойной щелчок по нужному BackUp-алиасу)
Восстановить БД под новым именем:
Меню: Database | Maintenance | BackUp/Restore | Restore
В окошке Database вписать новые имена: алиаса и файла, щелкнуть ОК.