Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БазыДанных(заочка) / БД лабпрактикум ч2.doc
Скачиваний:
55
Добавлен:
17.04.2015
Размер:
218.11 Кб
Скачать

Задание Контрольные вопросы Лабораторная работа № 14. Работа с инструкциямиDdLиDmLязыкаSql

Цель работы. Освоить работу с командами определения данных и манипулирования данными языка SQL.

Инструкции определения данных (ddl)

Для создания новых таблиц в БД служит инструкция Create Table. Инструкция включает в качестве параметров имя таблицы, а также для каждого поля – имя поля, тип данных и для текстовых полей – размер в символах. В следующем примере создается таблица Служащие, в которой будет два текстовых столбца по 25 символов каждый:

Create Table Служащие ([Имя служащего] Text (25), [Фамилия служащего] Text (25)).

Добавление и удаление столбцов. Добавлять, изменять или удалять столбцы в таблице можно инструкцией Alter Table. Например, следующая инструкция добавляет к таблице Служащие столбец Примечания типа Text длиной 50 символов:

Alter Table Служащие Add Column Примечания Text (50).

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

Alter Table Служащие Drop Column Примечания.

Для изменения столбца его сначала нужно удалить, а затем добавить новый столбец под тем же именем. В следующем примере увеличивается размер столбца Примечания – сначала столбец удаляется из таблицы, а затем добавляется новый, более длинный:

Alter Table Служащие Drop Column Примечания

Alter Table Служащие Add Column Примечания Text (100).

Примечание. С помощью Alter Table можно одновременно добавлять или удалять только один столбец.

Создание и удаление индексов. Индексы – объекты базы данных, которые обеспечивают быстрый доступ к отдельным строкам в таблице. Индекс создается с целью повышения производительности операций запросов и сортировки данных таблицы. Индексы также используются для поддержания в таблицах некоторых типов ключевых ограничений (например, ограничений Unique и Primary Key); эти индексы часто создаются автоматически при определении ограничений.

Индекс независимый объект, логически отдельный от индексированной таблицы; создание или удаление индекса никак не воздействует на определение или данные индексированной таблицы.

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

Индексы должны постоянно поддерживаться, чтобы отражать последние изменения индексированных столбцов таблицы. Процедуры обновления индекса при вставке, модификации или удалении значения в индексированный столбец автоматически выполняется процессором базы данных. Хотя эти операции не требуют никаких действий со стороны пользователя, они, однако снижают эффективность некоторых операций манипулирования данными (кроме запросов на выборку). Однако уменьшение производительности, связанное с поддержанием индекса, в большинстве случаев с лихвой компенсируется преимуществами повышения быстродействия доступа к данным, которое обеспечивает индекс.

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

Создать индексы, как и ключи, можно по одному или нескольким полям.

Ключевые поля индексируются автоматически. Нельзя индексировать поля с типом данных MEMO, гиперссылка или объект OLE.

Различают индексы типа уникальный, первичный и внешний ключ.

Индекс уникальный ключ (Unique). Это означает, что никакие две записи в таблице не могут иметь в этом поле одинаковые значения. Назначать уникальный ключ можно для любого поля или набора полей. Если в качестве уникального ключа установлен составной индекс, объединенное значение всех полей в таком индексе должно быть уникальным, даже если в отдельных полях две или больше записей имеют одинаковые значения.

Индекс первичный ключ (Primary Key). Представляет одно поле или набор полей. Все значения в первичном ключе должны быть уникальны, и в таблице может иметься только один первичный ключ.

Индекс внешний ключ (Foreign Key). Представляет одно поле или набор полей в подчиненной таблице.

Создать индекс можно тремя способами:

- при создании таблицы инструкцией Create Table;

- инструкцией Create Index для существующей таблицы;

  • инструкцией Alter Table для существующей таблицы.