Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Запросы на изменение данных




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

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

Существует четыре разновидности запросов на изменение:

- запросы на удаление;

- запросы на обновление;

- запросы на добавление;

- запросы на создание таблицы.

При исполнении запроса на удаление за одну операцию осуществляется удаление группы записей из одной или нескольких таблиц. Запросы на удаление реализуются SQL-инструкцией DELETE. К примеру, из таблицы «Клиенты» с помощью запроса на удаление можно за одну операцию удалить всех клиентов, проживающих в районе «Марьина Роща». SQL-инструкция такого запроса может выглядеть следующим образом:

DELETE Kлиенты.*, Клиенты.Район

FRОМ Клиенты

WHERE ((Клиенты.Район) = «Марьина Роща»));

Удаление записей одним запросом из нескольких таблиц может осуществляться путем перечисления через запятую в соответствующей SQL-инструкции имен таблиц и имен полей, задающих условия удаления, или по связям между таблицами при установке ограничений целостности связей в режим «Каскадного удаления связанных записей».

Запрос на обновление за одну операцию вносит общие изменения в группу записей одной или нескольких таблиц. Реализуются SQL-инструкцией UPDAТЕ. Запросы на обновления применяются тогда, когда необходимо осуществить глобальные однотипные изменения в каком-либо наборе данных.

В качестве другого примера приведем ситуацию, когда всех работников-совместителей учебного учреждения необходимо перевести в категорию почасовиков:

UPDAТЕ Сотрудники

SET Сотрудники.Стату с= «Почасовик»

WHERE ((Coтpyдники.Cтaтyc) = «Coвмecтитeль»);

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

Запросы на добавление реализуются SQL-инструкцией INSERT INTO, например:

INSERТ INTO НаучныеРаботники

SELECTCтуденты.*

FRОМ Студенты

WHERE ((Студенты.Группа)=«И-405»);

Запросы на создание таблицы за одну операцию создают новую таблицу с заполненными данными на основе всех или части данных из одной или нескольких таблиц. Реализуются SQL-инструкцией SELECT...INTO. Для примера приведем задачу создания специального набора (отчета) данных за месяц, скажем за январь, из таблицы «Заказы» в виде отдельной таблицы (для отдельного хранения или обработки). Вариант соответствующей SQL-инструкции может выглядеть следующим образом:

SELECT Заказы *

INTO Заказы Января

FROM Заказы

WHERE((Заказы.Дата)=BETWEEN#1/01/98#AND#1/02/98#;

Управляющие запросы

В составе языка описания данных DDL имеются ряд SQL-инструкций, на основе которых строятся запросы по созданию/модификации реляционных таблиц или отдельных их элементов. Такие запросы называются управляющими.

Имеется четыре вида управляющих запросов:

- запросы на создание таблицы;

- запросы на добавление в существующую таблицу нового поля или индекса;

- запросы на удаление таблицы или индекса определенного поля таблицы;

- запросы на создание индекса для поля или группы полей таблицы.

Запросы на создание таблицы реализуются SQL-инструкцией CREAТЕ TABLE с ключевыми словами, определяющими типы полей (CHARACTER, INTEGER, DATETIME и т.д.), предложением CONSTRAINT для создания ограничений на значения полей или связей между таблицами, ключевым словом UNIQUE, задающим свойство уникальности (требование на отсутствие совпадений) индекса таблицы, а также ключевого слова PRIMARYKEY, определяющего ключевое поле создаваемой таблицы.

В качестве примера приведем запрос на создание таблицы «Сотрудники» с полями «Фамилия», «Имя», «ДатаРождения», уникальным составным индексом «ИндексСотрудники» для полей «Фамилия», «Имя», «ДатаРождения», с тем же набором полей для составного ключа «КлючСотрудники».*

* В стандартах SQL и в большинстве диалектов SQL символы кириллицы в названиях полей не допускаются.

CREAТЕ TABLE Cотрудники

(Фамилия TEXT, Имя TEXT, ДатаРождения DATETIME,

CONSTRAINT ИндексCотрудники UNIQUE (Имя, Фамилия, ДатаРождения) КлючСотрудники PRIMARY KEY);

Запросы на добавление полей или индексов реализуются SQL-инструкцией ALTER TABLE с использованием зарезервированных слов ADD COLUMN (добавить поле) и ADD CONSTRAINT(добавить индекс). Этим же запросом с помощью зарезервированного слова DROP COLUMN можно удалить поле из существующей таблицы. Как правило, запросы на добавление полей также используются для создания внешних ключей, задающих связи-отношения между таблицами. С этой целью используются зарезервированные слова FOREIGN KEY и REFERENCES.

Для примера приведем запросы по добавлению в таблицу «Сотрудники» нового поля «Оклад», добавлению нового индекса «ОкладСотрудники», удалению поля «Оклад», добавлению внешнего ключа «№_Отдела» и удалению внешнего ключа:

ALTER TABLE Сотрудники ADD COLUMN Оклад CURRENCY;

ALTER TABLE Coтрудники АDD CONSTRAINT OкладCoтрудники Оклад;

ALTER TABLE Сотрудники DROPCOLUMNOклад;

ALTER TABLE Сотрудники ADD CONSTRAINT Работа FOREIGN KEY(№_Отдела)

REFERENCES Подразделения (№_Отдела);

ALTER TABLE Сотрудники DROP CONSTRAINTРабота;

Запросы на удаление таблицы или индекса реализуются SQL-инструкцией DROP TABLE с указанием имени удаляемой таблицы или индекса. Следующий пример иллюстрирует удаление из базы данных таблицы «Сотрудники» и удаление индекса «ОкладСотрудники»:

DROPTABLE Сотрудники;

DROPINDEX ОкладСотрудники ON Сотрудники;

Запросы на создание индекса реализуются SQL-инструкцией CREAТЕINDEX с использованием зарезервированного слова UNIQUE для запрета повтора значений в индексируемом поле и необязательного предложения WITH с параметрами DISALLOW NULL и IGNORE NULL для запрета/разрешения нулевых (пустых) значений в индексируемом поле. Зарезервированное слово PRIMARY позволяет определить создаваемый индекс ключом таблицы (при этом создаваемый индекс по умолчанию является уникальным, т.е. повторы значений не допускаются).

В следующем примере в таблице «Сотрудники» создастся уникальный индекс «ИндексСотрудника» по полю «Таб_№» с запретом пустых значений:

CREAТЕ UNIQUE INDEX ИндексСотрудника

ON Сотрудники (Таб_№)

WITH DISALLOW NULL;

Представление (VIEW) - объект данных который не содержит никаких данных его владельца. Это - тип таблицы, чье содержание выбирается из других таблиц с помощью выполнения запроса. Поскольку значения в этих таблицах меняются, то автоматически, их значения могут быть показаны представлением.

Типы таблиц, с которыми вы имели дело до сих пор, назывались - базовыми таблицами. Это - таблицы, которые содержат данные. Однако имеется другой вид таблиц: - представления. Представления - это таблицы чье содержание выбирается или получается из других таблиц. Они работают в запросах и операторах DML точно также как и основные таблицы, но не содержат никаких собственных данных. Представления - подобны окнам, через которые вы просматриваете информацию(как она есть, или в другой форме, как вы потом увидите), которая фактически хранится в базовой таблице. Представление - это фактически запрос, который выполняется всякий раз, когда представление становится темой команды. Вывод запроса при этом в каждый момент становится содержанием представления.

Вы создаете представление командой CREATE VIEW. Она состоит из слов CREATE VIEW (СОЗДАТЬ ПРЕДСТАВЛЕНИЕ), имени представления которое нужно создать, слова AS (КАК), и далее запроса, как в следующем примере:

CREATE VIEW Londonstaff

AS SELECT *

FROM Salespeople

WHERE city = 'London';

Синтаксис удаления представления из базы данных подобен синтаксису удаления базовых таблиц:

DROP VIEW < view name >





Поделиться с друзьями:


Дата добавления: 2016-07-29; Мы поможем в написании ваших работ!; просмотров: 2776 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Самообман может довести до саморазрушения. © Неизвестно
==> читать все изречения...

3004 - | 2791 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.