Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекция спбд.docx
Скачиваний:
62
Добавлен:
14.09.2019
Размер:
223.04 Кб
Скачать

Лекция №4. 24.02.12

Тема: Создание и модификация таблиц.

Оператор create table

Создание табилцы заключается в задании имени и структуры таблицы и выполняется с помощью оператора create table. Формат:

CREATE TABLE table_name (

Column_name TYPE [ограничения],

[описание ключа],

[описание индекса]

);

Обязательно должны быть заданы имя таблицы и как минимум один столбец.

Часть элементов структуры БД можно можно специфицировать на уровне столбца или на уровне таблицы.

Описание столбца имеет формат:

<описание стоблца>={<имя>|<домен>|COMPUTED [BY]}

Стоблец можно определить 3-мя способами:

  1. Задать тип столбца;

  2. Создать столбец на основе домена;

  3. Создать вычисляемый столбец, задав в операнде выражение. Вычисляемый столбец содержит значение, которое расчитывается на основе заданного выражения. Тип вычисляемого столбца автоматически определяется типом результата выражения.

Домен представляет собой предварительное описание столбца, которое затем можно использовать для описания столбцов.

Пример создания таблицы:

CREATE TABLE List (

Name VARCHAR(20), Price FLOAT, Number INTEGER, PriceAll COMPUTED BY (Price*Number)

);

Ключи

В таблицах Interbase ключи разделяются на первичные и уникальные (для главных таблиц) и внешние (для подчиненных таблиц).

Для описания первичного ключа используется операнд PRIMARY KEY, он имеет следующий формат:

PRIMARY KEY(column_name1,…,column_name(n));

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

UNIQUE KEY(column_name1,…,column_name(n));

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

Использование индексов

Создание и удаление индекса выполняется инструкциями CREATE INDEX и DROP INDEX соответственно. Оператор создания индекса имеет формат:

CREATE [UNIQUE] [ASCENDING] [DESCENDING] INDEX <имя_индекса> ON <имя_таблицы> (<имя стоблца1>,[<имя столбца(n)>]);

UNIQUE – индекс требует уникальности значения столбца, по которому он построен.

ASCENDING – индексные столбцы сортируются в порядке убывнание значений.

DESCENDING – индексные столбцы соритруются в порядке убывания значений.

Оператор alter

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

Изменение таблицы выполняется оператором ALTER TABLE 6 который позволяет добавлять и удалять отдельные стоблцы, а так же ограничения.

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

  1. Создать новый столбец с требуемым описанием;

  2. Скопировать данные из старого столбца, описание которого изменяется, в новый столбец;

  3. Удалить старый столбец.

Пример:

CREATE TABLE List (

Name VARCHAR(15);

);

//Добавляем новое поле

ALTER TABLE list

ADD Name2 VARCHAR(20);

//Копируем данные из Name в Name2

UPDATE List SET Name2=Name;

//Удаляем старый стоблец

ALTER TABLE List

DROP Name;