Post on 07-Jul-2015
Copyright © Avdeyev V.A. 2008
Системы управления техническими данными
на предприятииЛАБОРАТОРНАЯ РАБОТА №3
Операторы языка DML
автор: Авдеев Владимир Александрович
Лабораторная работа №3
Copyright © Avdeyev V.A. 2008
Цель работы:Знакомство с языком SQL и приобретение практических
навыков по использованию операторов изменения данных INSERT, UPDATE, DELETE, а также по использованию реляционных и булевых операторов
Содержание работы:Выполнение упражнений по использованию операторов
языка DMLВыполнение упражнений по использованию реляционных и
булевых операторов
Лабораторная работа №3
Реляционные операторы
Copyright © Avdeyev V.A. 2008
Реляционный оператор
математический символ, который указывает на определенный тип сравнения между двумя значениями
Лабораторная работа №3
Реляционные операторы, которыми располагает SQL:= Равно> Больше чем< Меньше чем>= Больше чем или равно<= Меньше чем или равно<> Не равно
Булевы операторы
Copyright © Avdeyev V.A. 2008
Выражения Буля — являются или верными, или неверными, подобно предикатам. Булевы операторы связывают одно или более верных/неверных значений и производят единственное верное/или/неверное значение. Стандартными операторами Буля, распознаваемыми в SQL, являются: AND, OR, и NOT
Лабораторная работа №3
AND берет два Буля (в форме A AND B) как аргументы и оценивает их по отношению к истине, верны ли они оба.OR берет два Буля (в форме A OR B) как аргументы и оценивает на правильность, верен ли один из них.NOT берет одиночный Булев (в форме NOT A) как аргументы и заменяет его значение с неверного на верное или верное на неверное
Оператор SELECT, использующий AND
Copyright © Avdeyev V.A. 2008Лабораторная работа №3
Оператор SELECT, использующий OR
Copyright © Avdeyev V.A. 2008Лабораторная работа №3
Оператор SELECT, использующий NOT
Copyright © Avdeyev V.A. 2008Лабораторная работа №3
Оператор SELECT, использующий NOT и вводное предложение
Copyright © Avdeyev V.A. 2008Лабораторная работа №3
Ввод значений
Copyright © Avdeyev V.A. 2008
Все строки в SQL вводятся с использованием команды модификации INSERT.
Лабораторная работа №3
INSERT INTO <table name>VALUES (<value>, <value> . . .)
Вставка пустых указателей (NULL)
Copyright © Avdeyev V.A. 2008
Если вам нужно ввести пустое значение (NULL), вы вводите его точно также как и обычное значение. Предположим, что еще не имелось поля city для Иванова П.А. Вы можете вставить его строку со значением = NULL в это поле, следующим образом:
Лабораторная работа №3
INSERT INTO SalespeopleVALUES (1001, ‘Иванов П.А.', NULL, .12)
Так как значение NULL — это специальный маркер, а не просто символьное значение, оно не заключается в одиночные кавычки
Именование столбца для вставки
Copyright © Avdeyev V.A. 2008
Вы можете также указывать столбцы, куда вы хотите вставить значение имени.
Лабораторная работа №3
Вставка результатов запроса
Copyright © Avdeyev V.A. 2008
Чтобы получать или выбирать значения из одной таблицы и помещать их в другую, чтобы использовать их вместе с запросом. Чтобы сделать это, вы просто заменяете предложение VALUES на соответствующий запрос:
Лабораторная работа №3
Чтобы это работало, таблица EQ_COPY должна отвечать следующим условиям:•таблица должна уже быть создана;•должна иметь четыре столбца, которые совпадают с таблицей EQUIPMENT
Удаление строк из таблиц
Copyright © Avdeyev V.A. 2008
Вы можете удалять строки из таблицы командой модификации — DELETE. Она может удалять только введенные строки, а не индивидуальные значения полей, так что параметр поля является необязательным или недоступным. Чтобы удалить все содержание таблицы EQUIPMENT, вы можете ввести следующее условие:
Лабораторная работа №3
DELETE FROM EQUIPMENT
Чтобы определить какие строки будут удалены, вы используете предикат
DELETE FROM EQUIPMENTWHERE EQ_ID = ‘ТР111’
Изменение значений поля
Copyright © Avdeyev V.A. 2008
UPDATE оператор который позволяет изменять некоторые или все значения в существующей строке
Лабораторная работа №3
команда содержит предложение UPDATE, в котором указано имя используемой таблицы, и предложение SET, указывающее на изменение, которое нужно сделать для определенного столбца
UPDATE equipmentSET eq_rating = 9WHERE dep_id = 3
Команда UPDATE для многих столбцов
Copyright © Avdeyev V.A. 2008
Предложение SET может назначать любое число столбцов, отделяемых запятыми. Все указанные назначения могут быть сделаны для любой табличной строки, но только для одной в каждый момент времени
Лабораторная работа №3
UPDATE SalespeopleSET sname=‘Валеев З.И.‘, city=‘Казань‘, comm=.10WHERE snum=1004
Использование выражений для модификации
Copyright © Avdeyev V.A. 2008
Вы можете использовать скалярные выражения в предложении SET команды UPDATE, однако, включив его в выражение поля, которое будет изменено. В этом их отличие от предложения VALUES команды INSERT, в котором выражения не могут использоваться
Лабораторная работа №3
UPDATE SalespeopleSET comm = comm * 2
UPDATE SalespeopleSET comm = comm * 2WHERE city = ‘Казань'
UPDATE customersSET rating = NULLWHERE city = ‘Казань'
Упражнения (1/2)
Copyright © Avdeyev V.A. 2008Лабораторная работа №3
Напишите запрос, который может дать вам список оборудования введенного в эксплуатацию до 1990 года и со значением рейтинга больше 7.
Напишите запрос, который может выдать вам наименование цехов с описанием основной деятельности, чей рейтинг меньше или равен 2, если 1 – это максимальное значение рейтинга.
Напишите запрос, который выдает номера и наименование операций выполняемых не в механических цехах номер 6,7 и 8, кроме тех, на которых задано оборудование Д87.
Упражнения (2/2)
Copyright © Avdeyev V.A. 2008Лабораторная работа №3
Напишите оператор, который бы поместил следующие значения в таблицу технологического процесса:
TP_ID – 1;TP_OPER – 38;TP_OPER_NAME – ‘Визуальный контроль’;EQ_ID – NULL.
Напишите оператор, который бы поместил следующие значения в таблицу оборудования. Если необходимо добавьте необходимые данные.
EQ_NAME - ‘Напильник’
EQ_Enter – ‘11/02/2006’
DEP_ID - 5Оборудование было перемещено с инвентарным номером «ФУ540»
из цеха 6 в цех 7. Напишите оператор для изменения данных в таблице оборудование.