- •Введение
- •1.5. Задание
- •1.6. Ход работы
- •1.6.1. Создание базы данных
- •1.6.2. Регистрация базы данных
- •1.6.3. Подключение к базе данных
- •1.6.4. Удаление базы данных
- •1.6.5. Извлечение метаданных
- •1.6.6. Резервное копирование и восстановление
- •1.7. Отчет о выполнении работы
- •1.8. Контрольные вопросы
- •2.4.2. Домены (Domains)
- •2.5. Задание
- •2.6. Ход работы
- •2.7. Отчет о выполнении работы
- •2.8. Контрольные вопросы
- •3.4.2. Индексы
- •3.5. Задание
- •3.6. Ход работы
- •3.7. Отчет о выполнении работы
- •3.8. Контрольные вопросы
- •4.4.1. Ограничение первичного ключа (Primary key)
- •4.4.2. Ограничения уникальности (Unique)
- •4.4.3. Ограничения внешнего ключа (Foreign keys)
- •4.4.4. Контрольные ограничения (Checks)
- •4.5. Задание
- •4.6. Ход работы
- •4.7. Отчет о выполнении работы
- •4.8. Контрольные вопросы
- •5.4.2. Бизнес-правила
- •5.4.3. Триггеры (Triggers)
- •5.4.4. Исключения (Exceptions) и обработка ошибок
- •5.6. Ход работы
- •5.7. Отчет о выполнении работы
- •5.8. Контрольные вопросы
- •6.4.2. Удаление существующих данных
- •6.4.3. Обновление существующих данных
- •6.5. Задание
- •6.6. Ход работы
- •6.7. Отчет о выполнении работы
- •6.8. Контрольные вопросы
- •7.5. Задание
- •7.6. Ход работы
- •7.7. Отчет о выполнении работы
- •7.8. Контрольные вопросы
- •8.4.2. Модифицируемые представления
- •8.5. Задание
- •8.6. Ход работы
- •8.7. Отчет о выполнении работы
- •8.8. Контрольные вопросы
- •9.4.2. Виды хранимых процедур в InterBase
- •Returns (
- •9.5. Задание
- •9.6. Ход работы
- •9.7. Отчет о выполнении работы
- •9.8. Контрольные вопросы
- •10.4.2. Создание динамической библиотеки с udf
- •Exports
- •Interface
- •10.4.4. Использование udf в базе данных
- •10.5. Задание
- •10.6. Ход работы
- •10.8. Контрольные вопросы
- •11.4.4. Права
-
2.7. Отчет о выполнении работы
Отчет о выполнении лабораторной работы №2 необходимо оформить на листах формата A4.
Отчет должен содержать описание и результаты работы, представляемые в следующей последовательности:
-
1. Распечатка сценария создания базы данных с комментариями, которые должны содержать сведения об авторе, дате создания, всех выполняемых действиях и пояснения к доменам.
-
2. Перечень файлов, полученных при выполнении лабораторной работы с указанием их имен, места расположения, даты изменения и размеров (сценарий, база данных, резервная копия базы данных, файл с отчетом).
2.8. Контрольные вопросы
1. Дать определение термина "Домен".
2. Где в InterBase используются домены?
3. Какова максимальная длина имени домена?
4. Какие из имеющихся типов данных не приведены в табл. 1.
5. Перечислить числовые типы данных InterBase.
6. Перечислить целые типы данных в порядке возрастания их размера.
7. Перечислить строковые типы данных.
8. Сколько различных типов данных можно использовать при создании доменов в диалоговом режиме?
9. Чем отличается тип данных DATE в диалектах 1 и 3.
10. Какие дополнительные новые типы добавились в диалекте 3?
11. В чем отличие типа данных VARCHAR от CHAR?
12. Чему равно наибольшее целое число, которое можно сохранить в типе BIGINT?
13. Что означает аббревиатура BLOB?
14. Какие существуют способы изменения домена?
15. В какой системной таблице хранятся метаданные о доменах?
-
3. Лабораторная работа №3.
-
Таблицы
-
3.1. Цель работы
Изучить способы создания, изменения и удаления таблиц. Получить навыки использования приложения "IB Expert" для создания, удаления и изменения структуры таблиц. Изучить SQL-операторы для работы с таблицами и индексами.
-
3.2. Исходные данные
Исходными данными является индивидуальное задание и результат предыдущих лабораторных работ.
3.3. Используемые программы
1. Программа "IB Expert".
2. Редактор "Microsoft Word" для создания отчета.
3.4. Теоретические сведения
3.4.1. Таблицы (Tables)
InterBase – реляционная СУБД, поэтому все данные в InterBase хранятся в виде двумерных таблиц со строками и столбцами. Строки называются кортежами или записями, а столбцы – доменами или полями.
В этой лабораторной работе рассматриваются не правилами проектирования правильного набора таблиц для хранения данных о некоторой предметной области, а только способы реального создания необходимых таблиц.
Основные ограничения, которым должны удовлетворять таблицы:
-
1. Каждый столбец в таблице имеет уникальное имя.
-
2. Все данные в столбце должны быть одного типа.
-
3. Порядок строк и столбцов в таблице не имеет значения.
-
4. В таблице не может быть двух одинаковых строк.
-
Часть языка SQL, которая управляет метаданными, называется Data Definition Language (DDL). К DDL относятся операторы для определения любых содержащихся в базе данных объектов, в том числе и таблиц. Операторы, определяющие структуру таблиц в InterBase, соответствуют стандарту SQL, и поэтому без изменений будут работать и во многих других СУБД. Для создания таблиц используется оператор "CREATE TABLE", который приводит к созданию пустой таблицы без строк. При создании таблиц задается имя таблицы, описание набора столбцов с их именами, типами и размерами, а также ограничения на хранящуюся в таблице информацию. Максимальная длина названий таблиц, полей и ограничений – 31 символ. Имена таблиц в пределах базы данных должны быть уникальны.
Каждый столбец в таблице должен иметь имя, уникальное в пределах таблицы, а также либо тип данных, либо выражение для вычисления значения столбца, либо ссылку на домен.
Упрощенный синтаксис оператора создания таблицы:
CREATE TABLE Имя_Таблицы( <описание колонки> [, <описание колонки> | <ограничение> ...] );
В этом операторе элемент <ограничение> означает ограничение, которое задается на уровне таблицы без одновременного описания колонки.
<описание колонки> = Колонка { <тип данных> | COMPUTED [BY] (<вычисляемое выражение>) | Имя_Домена } [DEFAULT {Literal | NULL | USER}] [NOT NULL] [<ограничение поля>];
Здесь элемент <вычисляемое выражение> означает выражение, которое будет вычисляться каждый раз при необходимости вернуть значение этого вычисляемого поля. Элемент <ограничение поля> означает ограничение, которое задается при одновременном определении поля (функционально полностью аналогично варианту описания ограничения отдельной строкой при создании таблицы). Остальные элементы были описаны в предыдущей лабораторной работе.
Пример создания таблицы "Человек" (домены ID и Name описаны ранее):
CREATE TABLE Person( Pr_ID ID, -- номер человека Pr_LastName Name, -- фамилия Pr_FirstName Name, -- имя Pr_Patronymic CHAR(30), -- отчество Pr_FIO COMPUTED BY ( -- фамилия и инициалы Pr_LastName || ' ' || SUBSTRING(Pr_FirstName FROM 1 FOR 1) || '.' || SUBSTRING(Pr_Patronymic FROM 1 FOR 1) || '.') );
Первые три поля заданы с использованием доменов, тип поля Pr_Patronymic задан непосредственно при создании таблицы, а поле Pr_FIO является вычислимым.
В этом операторе || означает операцию конкатенации (соединения) строк, SUBSTRING() – функция, возвращающая подстроку (в приведенном примере – первую букву полей "Pr_FirstName" и "Pr_Patronymic").
Если при описании поля не использовать домен, то Firebird все равно создает домен специально для этого поля. Имя таких доменов состоит из символов "RDB$" и порядкового номера. С такими системными доменами можно выполнять такие же операции, как и с обычными доменами.
Для удаления таблицы используется оператор DROP TABLE.
DROP TABLE Person; -- Пример удаления таблицы
Оператор ALTER TABLE предназначен для изменения структуры таб-лицы вместо ее удаления и повторного создания. С его помощью можно из-менять названия полей, добавлять новые и удалять имеющиеся поля, а также добавлять и удалять ограничения.
Примеры операторов ALTER TABLE:
-- добавление поля "День рождения":
ALTER TABLE Person ADD Birthday DATE;
-- удаление поля "Отчество":
ALTER TABLE Person DROP Pr_Patronymic;
-- переименование поля "День рождения":
ALTER TABLE Person ALTER COLUMN Birthday TO Pr_Birthday;
Если требуется изменить тип поля, например, увеличить число симво-лов, хранимых в поле, то необходимо изменять домен этого поля оператором ALTER DOMAIN или выполнить изменения в системных таблицах.