Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Text1.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
217 Кб
Скачать
☆

3.3. Создание таблиц бд

Перед созданием таблиц БД необходимо продумать определение всех столбцов таблицы и характеристик каждого столбца (тип, длина, обязательность для ввода, ограничения, накладываемые на значения и пр.), индексов, ограничений целостности по отношению к другим таблицам.

Та БД, в которую будет добавлена создаваемая таблица, должна быть открыта, т.е. с ней должно быть установлено активное соединение.

Создание таблиц осуществляется с помощью SQL-оператора CREATE TABLE. Существует два способа выполнения SQL-операторов в WISQL. Первый заключается в наборе текста оператора в окне SQL Statement. Для запуска его на выполнение надо нажать кнопку RUN. Второй способ состоит в формировании текстового файла, который содержит от одного до нескольких SQL-операторов. Такой файл выполняется в режиме File | Run an SQL script.

Для примера воспользуемся первым способом. Следующий SQL-запрос создаёт три таблицы:

BOOK - содержит поля BOOK_ID, NAME, AUTHOR

BOOK_IN_USE - BOOK_ID, READER_ID и LEASE_DATE

READER - READER_ID и NAME.

CREATE TABLE BOOK (

BOOK_ID INTEGER NOT NULL,

NAME CHAR(25),

AUTHOR CHAR(25),

PRIMARY KEY (BOOK_ID));

CREATE TABLE BOOK_IN_USE (

BOOK_ID INTEGER NOT NULL,

READER_ID INTEGER NOT NULL,

LEASE_DATE DATE,

FOREIGN KEY (BOOK_ID) REFERENCES BOOK,

FOREIGN KEY (READER_ID)REFERENCES READER );

CREATE TABLE READER (

READER_ID INTEGER NOT NULL,

NAME CHAR(25),

PRIMARY KEY (READER_ID));

Для подтверждения выполненных действий выберите в главном меню режим File! Commit Work или введите в окне SQL Statement и выполните оператор COMMIT. Если вы решили не запоминать изменений, выберите режим FILE | Rollback или выполните оператор ROLLBACK.

3.4. Просмотр структуры компонентов базы данных

Для просмотра структуры компонентов базы данных используется утилита Windows InterBase Interactive SQL. Для этого выберите меню View | Metadata Information.

В диалоговом меню вы можете выбрать тип компонентов, по которым вы хотите получить информацию:

Check: показывает ограничения, установленные для таблицы. Необходимо указать имя таблицы.

Database: показывает имя файла базы данных, теневые файлы (shadow files), размер страницы и их размещение, интервал дефрагментации базы данных.

Domain: показывает имена доменов и типов данных

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

Filter: показывает имена BLOB-фильтров базы данных; при указании имени фильтра, можно получить более детальную информацию

Function: показывает имена всех функций, определённых пользователем, или всю информацию о функции, если указать её имя.

Generator: имена и текущие значения генераторов

Grant: показывает права доступа к таблице или представлению (view)

Index: показывает имена индексов, имена соответствующих полей таблиц, и уникальность.

В поле "Object name" можно указать имя индекса или таблицы, и получить более детальную информацию по выбранному объекту.

Procedure: показывает имена хранимых процедур, а при указании имени процедуры - её код, входные и выходные параметры.

System: показыает имена системных таблиц и представлений базы данных

Table: показывает имена всех таблиц базы данных, а если указать имя таблицы - имена атрибутов, типов данных, превичные, внешние ключи и ограничения для таблицы

Trigger: показывает имена триггеров, определённых в базе данных и имена таблиц, в которых они используются. В поле "Object name" можно указать имя таблицы или триггера.

View: показывает имена представлений (view) и структуру, при указании имени представления

3.5. Просмотр структуры с помощью ISQL

Эту информацию можно получить и с помощью консольной утилиты ISQL, используя команду:

SHOW <object> [<name>] -- показыает системную информацию

<object> = CHECK, DATABASE, DOMAIN, EXCEPTION, FILTER, FUNCTION, GENERATOR, GRANT, INDEX, PROCEDURE, SYSTEM, TABLE, TRIGGER, VERSION, VIEW

    1. Получение метаданных

Чтобы извлечь выражения определения данных (метаданные) из базы данных,

таблицы или представления выберите меню Extract | SQL Metadata for

Database..Table..View...

Результат этой операции -- SQL-скрипт, который можно использовать для восстановления структуры базы данных (таблиц, генераторов, процедур, представлений, и.т.д).

4. Работа с триггерами

4.1. Назначение триггера

Триггер - это процедура БД, автоматически вызываемая SQL-сервером при обновлении, удалении или добавлении новой записи в ТБД. Непосредственно из программы к триггерам обратиться нельзя. Нельзя и передавать им входные параметры и получать от них значения выходных параметров. Триггеры всегда реализуют действие. По событию изменения ТБД триггеры различаются на вызываемые при:

• добавлении новой записи;

• изменении существующей записи;

• удалении записи.

По отношению к событию, влекущему их вызов, триггеры различаются на:

• выполняемые до наступления события;

• выполняемые после наступления события.

Преимущества использования триггеров:

• автоматическое обеспечение каскадных воздействий в дочерних таблицах при изменении, удалении записи в родительской таблице выполняется на сервере. Пользователю нет необходимости заботиться о программной реализации каскадных воздействий. Поскольку каскадные воздействия выполняет сервер, нет необходимости пересылать изменения в таблицах БД из приложения на сервер, что снижает загрузку сетевого трафика;

• изменения в триггерах не влекут необходимости изменения программного кода в клиентских приложениях и не требуют распространения новых версий клиентских приложений у пользователей.

ЗАМЕЧАНИЕ. При откате транзакции откатываются также и все изменения, внесенные в БД триггерами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]