
- •3 Завдання до лабораторних робіт
- •3.1 Лабораторна робота № 1
- •1 Теоретические сведения
- •2 Ход работы
- •2.1 Создание базы данных
- •2.2 Регистрация базы данных
- •2.3 Подключение к базе данных
- •2.4 Удаление базы данных
- •2.5 Извлечение метаданных
- •2.6 Резервное копирование и восстановление
- •3 Задание
- •4 Отчет о выполнении работы
- •5 Контрольные вопросы
- •3.2 Лабораторна робота № 2
- •1 Теоретические сведения
- •1.1 Типы данных InterBase
- •2 Ход работы
- •3 Задание
- •4 Отчет о выполнении работы
- •5 Контрольные вопросы
- •3.3 Лабораторна робота № 3
- •1 Теоретические сведения
- •1.1 Таблицы (Tables)
- •1.2 Индексы
- •2 Ход работы
- •3 Задание
- •4 Отчет о выполнении работы
- •5 Контрольные вопросы
- •3.4 Лабораторная работа № 4
- •1 Теоретические сведения
- •1.2 Ограничение первичного ключа (Primary key)
- •1.2 Ограничения уникальности (Unique)
- •1.3 Ограничения внешнего ключа (Foreign keys)
- •1.4 Контрольные ограничения (Checks)
- •2 Ход работы
- •3 Задание
- •4 Отчет о выполнении работы
- •5 Контрольные вопросы
- •3.5 Лабораторная работа №5.
- •1 Теоретические сведения
- •1.1 Генераторы (Generators)
- •1.2 Бизнес-правила
- •1.3 Триггеры (Triggers)
- •2. Ход работы
- •3 Задание
- •4 Отчет о выполнении работы
- •5 Контрольные вопросы
- •3.6 Лабораторная работа №6
- •1 Теоретические сведения
- •1.1 Добавление новых данных
- •1.2 Удаление существующих данных
- •1.3 Обновление существующих данных
- •2. Ход работы
- •3. Задание
- •4. Отчет о выполнении работы
- •5. Контрольные вопросы
- •3.7 Лабораторная работа №7
- •1 Теоретические сведения
- •2. Ход работы
- •3. Задание
- •4. Отчет о выполнении работы
- •5. Контрольные вопросы
- •3.8 Лабораторная работа №8
- •1 Теоретические сведения
- •1.1 Представления (Views)
- •1.2 Модифицируемые представления
- •2 Ход работы
- •3 Задание
- •4 Отчет о выполнении работы
- •5 Контрольные вопросы
- •3.9 Лабораторная работа №9
- •1 Теоретические сведения
- •1.1 Хранимые процедуры (Procedures)
- •1.2 Виды хранимых процедур в InterBase
- •2 Ход работы
- •3 Задание
- •4. Отчет о выполнении работы
- •5. Контрольные вопросы
- •3.10 Лабораторная работа №10
- •1 Теоретические сведения
- •1.1 Функции пользователя (udFs)
5 Контрольные вопросы
1. Дать определение термина "База данных".
2. Что означают сокращения СУБД и DBMS?
3. Какие операции проводятся с базой данных в целом?
4. Что представляет собой база данных СУБД InterBase/Firebird? Какой по-лучился размер файла с базой данных? От чего он зависит? Что содержит-ся в файле с базой данных?
5. Какой рекомендуется выбирать размер страниц базы данных?
6. Что надо сделать, чтобы в базе данных можно было хранить символы рус-ского алфавита?
7. Назвать отличия между первым и третьи диалектами базы данных.
8. Какие существуют способы создания и удаления базы данных?
9. Как указывается путь до файла с базой данных, расположенной на уда-ленном компьютере?
10. Какие стандартные расширения имеют файлы баз данных и сценариев?
11. Как с помощью программы "IB Expert" подключиться к имеющейся базе данных, расположенной на локальном компьютере?
12. Какое имя и начальный пароль имеет администратор сервера Inter-Base/Firebird?
13. Какие виды комментариев могут содержать файлы сценариев для выпол-нения операций с базой данных?
14. Сколько системных таблиц содержит созданная база данных? С каких символов они начинаются? Привести названия любых 3-х системных таб-лиц.
15. Каковы правила оформления текста сценария?
3.2 Лабораторна робота № 2
Тема роботи: Домены
Цель работы Изучить типы данных InterBase. Получить навыки использования про-граммы "IB Expert" для выполнения операций с доменами. Изучить SQL-операторы для работы с доменами.
1 Теоретические сведения
1.1 Типы данных InterBase
Понятие типов данных в реляционной модели данных соответствует понятию типа данных в языках программирования. В современных реляционных БД допускается хранение символьных, числовых данных, специальных числовых данных таких как "деньги", а также дат и времени.
В таблице 2.1 приведены основные типы данных, используемые в InterBase для полей таблиц, при описании доменов, для переменных внутри хранимых процедур и триггеров и для параметров в процедурах и функциях пользователя.
Домен – это описание множества допустимых значений поля таблицы. Описание домена показывает тип данных (например, число или строка), дли-ну данных и другие ограничения (например, требование, чтобы первый сим-вол был буквой или чтобы значение не превышало заданного числа). В InterBase домены используются только в операторах создания и изменения структуры таблиц.
Таблица 2.1 – Типы данных InterBase
Название |
Размер |
Диапазон/точность |
Описание |
SQL диалект 1 |
|||
INTEGER |
32 бита |
от –2 147 483 648 до 2 147 483 647 |
Длинное целое. |
SMALLINT |
16 бит |
от –32 768 до 32 767 |
Короткое целое. |
FLOAT |
32 бита |
от 3,4х10P–38P до 3,4х10P38P |
Число с одинарной точностью (точность 7 значащих цифр). |
DOUBLE PRECISION |
64 бита |
от 1,7х10P-308P до 1,7х10P308P |
Число с двойной точностью (точность 15 значащих цифр) |
DATE |
64 бита |
от 1 января 100 года н.э. до 29 февраля 32768 года |
Дата. Включает информацию о времени. |
CHAR(n) |
n сим-волов |
n = 1÷32767 |
Строка символов фиксиро-ванной длины. |
VARCHAR(n) |
n сим-волов |
n = 1÷32767 |
Строка символов переменной длины. |
BLOB |
пере-менный |
нет |
Двоичные большие объекты, такие как графика, текст, циф-ровой звук. Содержание опре-деляется подтипом. |
SQL диалект 3 |
|||
BIGINT |
64 бита |
от -2P63P до 2P63P-1 |
Большое целое. |
DATE |
32 бита |
от 1 января 100 года н.э. до 29 февраля 32768 года |
Только дата без информации о времени. |
TIME |
32 бита |
от 00:00 до 23:59:9999 |
Данные о времени с точно-стью до десятитысячной доли секунды. |
TIMESTAMP |
64 бита |
|
Комбинация типов DATE и TIME. |
Для создания доменов используется команда CREATE DOMAIN, для изменения – ALTER DOMAIN, а для удаления – DROP DOMAIN.
Ниже приведен упрощенный синтаксис оператора создания домена.
CREATE DOMAIN Имя_Домена [AS] <тип данных> [DEFAULT {Literal | NULL | USER}] [NOT NULL] [CHECK (Проверяемое_Условие)];
При описании синтаксиса операторов квадратные скобки обозначают необязательный элемент, фигурные скобки объединяют группу элементов оператора в один, | означает выбор одной из нескольких альтернатив. Элемент, расположенный в угловых скобках должен поясняться отдельно.
В приведенном примере необязательный элемент
[DEFAULT {Literal | NULL | USER}]
позволяет задать значение столбца по умолчанию с использованием одной из трех возможностей. Первая возможность, обозначенная как Literal, позволяет задавать значения по умолчанию в виде текстовых констант, чисел и дат. Вторая возможность – указать в определении столбца DEFAULT NULL, что приведет к тому, что во вновь создаваемых записях значение этого столбца будет NULL. Третий способ – указать при определении столбца DEFAULT USER. Если в этом случае в таблицу будет вставлена строка без указания значения этого поля, то в него будет занесено имя текущего пользователя.
Если необходимо, чтобы поле имело какое-то непустое значение, в описание домена вносят NOT NULL.
Последний необязательный элемент в описании домена позволяет заставить сервер проверять заносимые в базу данных значения на выполнение заданного условия.
Вместо элемента <тип данных> должно быть использовано название одного из типов данных InterBase (таблица 2.1).
Фрагмент сценария создания доменов:
/***************************************************
Домены
***************************************************/
CREATE DOMAIN ID INTEGER NOT NULL; -- идентификатор
CREATE DOMAIN Name VARCHAR(30) NOT NULL; -- имя
CREATE DOMAIN CurrentDate DATE DEFAULT 'TODAY' NOT NULL;
CREATE DOMAIN Percent INTEGER -- процент CHECK (VALUE >= 0 AND VALUE <= 100); -- текст без ограничения длины:
CREATE DOMAIN MEMO BLOB SUB_TYPE TEXT SEGMENT SIZE 128;
Синтаксис оператора удаления домена:
DROP DOMAIN Имя_Домена;
Оператор изменения домена ALTER DOMAIN позволяет изменить тип данных, имя домена, а также добавить или удалить условие контроля данных. Чтобы изменить домен можно также внести изменения в системные таблицы.