- •Лабораторная работа №1. Операции с базой данных
- •Ход работы
- •Создание базы данных
- •Регистрация базы данных
- •Подключение к базе данных
- •Удаление базы данных
- •Извлечение метаданных
- •Резервное копирование и восстановление
- •Отчет о выполнении работы
- •Лабораторная работа №2. Домены
- •Домены (Domains)
- •Задание
- •Ход работы
- •Отчет о выполнении работы
- •Лабораторная работа №4. Ограничения
- •Ограничение первичного ключа (Primarykey)
- •Ограничения уникальности (Unique)
- •Ограничения внешнего ключа (Foreignkeys)
- •Ограничения атрибутов (Checks)
- •Задание
- •Ход работы
- •Отчет о выполнении работы
- •Лабораторная работа №5. Триггеры, генераторы, исключения
- •Бизнес-правила
- •Триггеры (Triggers)
- •Исключения (Exceptions) и обработка ошибок
- •Операторы языка хранимых процедур и триггеров
- •If … then … else
- •Задание
- •Ход работы
- •Отчет о выполнении работы
- •Организация доступа к данным
- •TibDatabase
- •Подсоединение к бд
- •TibTransaction
- •Датасеты
- •IbDataSet
- •Буферизация записей
- •Обновление данных
- •Перебор записей
- •Master-Detail
- •Locate (поиск)
- •Работа с blob
- •Jpeg в Blob
- •Blob и dbGrid
- •IbTable
- •Почему компонент ibTable не рекомендуют?
- •IbQuery
- •Параметризированные запросы
- •Фильтрация
- •IbTable
- •IbDataSet, ibQuery
- •OnFilterRecord
- •IbUpdateSql
- •IbUpdateSqlw
- •IbStoredProc
- •EibError
- •IbDatabaseInfo
- •IbsqlMonitor
- •IbEvents
- •IbExtract
- •IbConnectionBroker
- •IbScript
- •IbsqlParser
- •IbDatabaseIni
Резервное копирование и восстановление
Резервное копирование (backup) базы данных и восстановление из резервной копии (restore) – два важнейших и наиболее частых процесса, осуществляемых администраторами баз данных. Резервное копирование базы данных – единственный надежный способ предохранить данные от потери в результате поломки диска, сбоев электропитания, действий злоумышленников и ошибок в программах. В процессе резервного копирования создается независимый от платформы "снимок" базы данных, с помощью которого можно перенести данные в другую операционную систему или даже на другую платформу. Полный цикл: резервное копирование и восстановление из резервной копии приводит к корректировке статистической информации, является средством от излишнего "разбухания" базы данных и необходимой операцией обслуживания базы данных. Кроме того, миграция от одной версии СУБД к другой также происходит при помощи процесса backup/restore.
Для создания резервной копии базы данных с помощью приложения "IBExpert" необходимо подключиться к базе данных, выполнить команду меню "Службы > Резервирование базы данных", в открывшемся диалоговом окне "Резервирование БД" задать несколько параметров и нажать кнопку [Начать резервное копирование]. В результате будет создан файл с резервной копией. Стандартным расширением таких файлов для "Firebird 2.5" является "*.fbk". Файл с резервной копией базы данных обычно на порядок меньше оригинала.
Для восстановления базы данных из резервной копии используется команда "Службы > Восстановление базы данных". В результате откроется диалоговое окно "Восстановление БД", в котором надо выбрать файл, из которого будет восстанавливаться база данных и нажать кнопку [Start Restore].
Резервное копирование и восстановление базы данных, наряду с процессом извлечения метаданных и последующего выполнения полученного сценария, можно использовать при переносе разрабатываемой базы данных между различными компьютерами для обеспечения самостоятельной работы студентов над лабораторными работами и курсовым проектом.
Отчет о выполнении работы
Отчет о выполнении лабораторной работы №1 необходимо оформить на листах формата A4. Отчет должен содержать описание и результаты работы, представляемые в следующей последовательности:
Краткое описание предметной области в соответствии с вариантом.
Распечатка сценария создания базы данных (комментарии должны содержать сведения об авторе, дате создания и выполняемых действиях).
Данные о версии использованной в лабораторной работе СУБД.
Перечисление всех использованных при выполнении лабораторной работы команд главного меню приложения "IBExpert" с краткими пояснениями выполняемых действий.
Перечень файлов, полученных при выполнении лабораторной работы с указанием их имен, места расположения, даты изменения и размеров (сценарий, база данных, резервная копия базы данных, файл с отчетом).
Лабораторная работа №2. Домены
Цель работы
Изучить типы данных Firebird. Получить навыки использования приложения "IBExpert" для выполнения операций с доменами. Изучить SQL-операторы для работы с доменами.
Исходные данные
Студент получает индивидуальный вариант исходных данных с кратким описанием предметной области, который используется при выполнении всех лабораторных работ. При этом каждая очередная лабораторная работа является продолжением выполненной ранее и поэтому они должны обязательно выполняться последовательно.
Используемые программы
Все операции выполняются с помощью приложения "IBExpert". Отчет создается в редакторе "Microsoft Word".
Теоретические сведения
Домен — это один из объектов реляционной базы данных, при создании которого можно задать некоторые характеристики, а затем использовать ссылку на домен при определении столбцов таблиц. Один и тот же домен может использоваться в определении любого количества столбцов в таблицах базы данных.
Типы данных Firebird
Понятие типов данных в реляционной модели данных соответствует понятию типа данных в языках программирования. Тип данных определяет, во-первых, множество допустимых значений столбца и, во-вторых, множество допустимых операций. В современных реляционных БД допускается хранение символьных, числовых данных, специальных числовых данных таких как «деньги», а также дат и времени.
В табл. 1 приведены основные типы данных, используемые в Firebird для полей таблиц, при описании доменов, для переменных внутри хранимых процедур и триггеров и для параметров в процедурах и функциях пользователя.
Таблица 1: Типы данных Firebird
Название |
Размер |
Диапазон |
Описание |
---|---|---|---|
SQL диалект 1 | |||
INTEGER |
32 бита |
от –2 147 483 648 до 2 147 483 647 |
Длинное целое. |
SMALLINT |
16 бит |
от –32 768 до 32 767 |
Короткое целое |
FLOAT |
32 бита |
от 3,4х10-38 до 3,4х10+38 |
Вещественные числа с плавающей точкой (точность 7 значащих цифр) |
DOUBLE PRECISION |
64 бита |
от 1,7x10 -308 до 1,7x10 +308 |
Вещественные числа с плавающей точкой (точность 15 значащих цифр) |
DATE |
64 бита |
от 1 января 100 года н.э. до 29 февраля 32768 года |
Дата. Включает информацию о времени.
|
CHAR(n) |
n символов |
n = 1.32767 |
Строка символов фиксированной длины. |
VARCHAR(n) |
n символов |
n = 1.32767 |
Строка символов переменной длины.
|
BLOB |
переменный |
нет |
Двоичные объекты, такие как графика, текст, цифровой звук. Содержание определяется подтипом. |
SQL диалект 3 | |||
BIGINT |
64 бита |
От -2 63 до 263– 1 |
Большое целое |
DECIMAL(n,m) |
|
|
Числа с фиксированной десятичной точкой. При задании такого типа данных n (точность) определяет общее количество цифр в числе (включая десятичные знаки), максимальное значение 18; т (масштаб)— количество знаков после десятичной точки. |
NUMERIC(p,s) |
Переменный |
P=1 до 15; s=1 до 15 |
Масштабируемые десятичные числа; p-точность; s-число знаков после запятой (масштаб); p>=s |
DATE |
32 бита |
от 1 января 100 года н.э. до 29 февраля 32768 года |
Только дата без информации о времени.
|
TIME |
32 бита |
от 00:00 до 23:59:9999 |
Данные о времени с точностью до десятитысячной доли секунды. |
TIMESTAMP |
64 бита |
|
Комбинация типов DATE и TIME. |