Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИМЭС.doc
Скачиваний:
24
Добавлен:
22.11.2019
Размер:
196.61 Кб
Скачать

26. Sql. Назначение и характеристика языка.

SQL – является универсальным средством управления БД. Этот язык предусмотрен практически во всех системах управления БД. С помощью языка SQL можно как создавать новые объекты, так и управлять существующими объектами.

29. Язык запросов sql. Команда create/delete.

Создание табличного файла

Create table / DBF<имя таблицы>

Команда создает таблицу либо описанием всех полей, либо на основе массива. Таблица создается и открывается в исключительном режиме в самой младшей доступной рабочей области. При задании меню таблицы опции TABLE и DBF идентичны.

Запрос DELETE удаляет целые строки

Запрос DELETE полность удаляет строку из базы данных. Если вы хотите удалить одно единственное поле, то нужно использовать запрос UPDATE и установить для этого поля значение, которое будет являться аналогом NULL в вашей программе. Будьте внимательны, и ограничивайте ваш запрос DELETE условием WHERE, иначе вы можете потерять все содержимое таблицы.

DELETE FROM table_name WHERE column1 = ‘data1’;

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

2. Удаление единственной записи

Удалить поставщика с ПС = 7.

DELETE

FROM Поставщики

WHERE ПС = 7;

Если таблица Поставки содержит в момент выполнения этого предложения какие-либо поставки для поставщика с ПС = 7, то такое удаление нарушит непротиворечивость базы данных. К сожалению нет операции удаления, одновременно воздействующей на несколько таблиц. Однако в некоторых СУБД реализованы механизмы поддержания целостности позволяющие отменить некорректное удаление или каскадировать удаление на несколько таблиц.

3. Удаление множества записей

Удалить все поставки.

DELETE

FROM Поставки;

Поставки - все еще известная таблица, но в ней теперь нет строк.

Удалить все мясные блюда.

DELETE FROM Блюда

WHERE Основа = 'Мясо';

30. Язык запросов sql. Команда insert.

Запрещение на ссылку к таблице которая модифицируется командой INSERT не предохранит вас от использования подзапросов которые ссылаются к таб- лице используемой в предложении FROM внешней команды SELECT. Таблица из которой вы выбираете значения, чтобы произвести их для INSERT , не будет задействована командой; и вы сможете ссылаться к этой таблице любым способом, которыми вы обычно это делали, но только если эта таблица указана в автономном запросе. Предположим что мы имеем таблицу с именем Samecity в ко- торой мы запомним продавцов с заказчиками в их городах. Мы можем заполнить таблицу используя соотнесенный подзапрос:

INSERT INTO (Samecity

SELECT *

FROM (Salespeople outer

WHERE city IN

( SELECT city

FROM Customers inner

WHERE inner.snum = outer.snum );

2.Вставка единственной записи в таблицу

Добавить в таблицу Блюда блюдо:

Шашлык (БЛ - 34, Блюдо - Шашлык, В - Г, Основа - Мясо, Выход - 150)

при неизвестной пока трудоемкости приготовления этого блюда.

INSERT

INTO Блюда (БЛ, Блюдо, В, Основа, Выход)

VALUES (34, 'Шашлык', 'Г', 'Мясо', 150);

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

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

INSERT

INTO Блюда (Основа, В, Блюдо, БЛ, Выход)

VALUES ('Мясо', 'Г', 'Шашлык', 34, 150);

При известной трудоемкости приготовления шашлыка (например, 5 коп) сведения о нем можно ввести с помощью укороченного предложения:

INSERT

INTO Блюда

VALUES (34, 'Шашлык', 'Г', 'Мясо', 150, 5);

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

В предыдущих примерах проводилась модификация стержневой сущности, т.е. таблицы с первичным ключом БЛ (см.п.2.4 в лите-ратуре [2]).