Transcript
Page 1: лабораторная работа 3

Copyright © Avdeyev V.A. 2008

Системы управления техническими данными

на предприятииЛАБОРАТОРНАЯ РАБОТА №3

Операторы языка DML

автор: Авдеев Владимир Александрович

Page 2: лабораторная работа 3

Лабораторная работа №3

Copyright © Avdeyev V.A. 2008

Цель работы:Знакомство с языком SQL и приобретение практических

навыков по использованию операторов изменения данных INSERT, UPDATE, DELETE, а также по использованию реляционных и булевых операторов

Содержание работы:Выполнение упражнений по использованию операторов

языка DMLВыполнение упражнений по использованию реляционных и

булевых операторов

Лабораторная работа №3

Page 3: лабораторная работа 3

Реляционные операторы

Copyright © Avdeyev V.A. 2008

Реляционный оператор

математический символ, который указывает на определенный тип сравнения между двумя значениями

Лабораторная работа №3

Реляционные операторы, которыми располагает SQL:= Равно> Больше чем< Меньше чем>= Больше чем или равно<= Меньше чем или равно<> Не равно

Page 4: лабораторная работа 3

Булевы операторы

Copyright © Avdeyev V.A. 2008

Выражения Буля — являются или верными, или неверными, подобно предикатам. Булевы операторы связывают одно или более верных/неверных значений и производят единственное верное/или/неверное значение. Стандартными операторами Буля, распознаваемыми в SQL, являются: AND, OR, и NOT

Лабораторная работа №3

AND берет два Буля (в форме A AND B) как аргументы и оценивает их по отношению к истине, верны ли они оба.OR берет два Буля (в форме A OR B) как аргументы и оценивает на правильность, верен ли один из них.NOT берет одиночный Булев (в форме NOT A) как аргументы и заменяет его значение с неверного на верное или верное на неверное

Page 5: лабораторная работа 3

Оператор SELECT, использующий AND

Copyright © Avdeyev V.A. 2008Лабораторная работа №3

Page 6: лабораторная работа 3

Оператор SELECT, использующий OR

Copyright © Avdeyev V.A. 2008Лабораторная работа №3

Page 7: лабораторная работа 3

Оператор SELECT, использующий NOT

Copyright © Avdeyev V.A. 2008Лабораторная работа №3

Page 8: лабораторная работа 3

Оператор SELECT, использующий NOT и вводное предложение

Copyright © Avdeyev V.A. 2008Лабораторная работа №3

Page 9: лабораторная работа 3

Ввод значений

Copyright © Avdeyev V.A. 2008

Все строки в SQL вводятся с использованием команды модификации INSERT.

Лабораторная работа №3

INSERT INTO <table name>VALUES (<value>, <value> . . .)

Page 10: лабораторная работа 3

Вставка пустых указателей (NULL)

Copyright © Avdeyev V.A. 2008

Если вам нужно ввести пустое значение (NULL), вы вводите его точно также как и обычное значение. Предположим, что еще не имелось поля city для Иванова П.А. Вы можете вставить его строку со значением = NULL в это поле, следующим образом:

Лабораторная работа №3

INSERT INTO SalespeopleVALUES (1001, ‘Иванов П.А.', NULL, .12)

Так как значение NULL — это специальный маркер, а не просто символьное значение, оно не заключается в одиночные кавычки

Page 11: лабораторная работа 3

Именование столбца для вставки

Copyright © Avdeyev V.A. 2008

Вы можете также указывать столбцы, куда вы хотите вставить значение имени.

Лабораторная работа №3

Page 12: лабораторная работа 3

Вставка результатов запроса

Copyright © Avdeyev V.A. 2008

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

Лабораторная работа №3

Чтобы это работало, таблица EQ_COPY должна отвечать следующим условиям:•таблица должна уже быть создана;•должна иметь четыре столбца, которые совпадают с таблицей EQUIPMENT

Page 13: лабораторная работа 3

Удаление строк из таблиц

Copyright © Avdeyev V.A. 2008

Вы можете удалять строки из таблицы командой модификации — DELETE. Она может удалять только введенные строки, а не индивидуальные значения полей, так что параметр поля является необязательным или недоступным. Чтобы удалить все содержание таблицы EQUIPMENT, вы можете ввести следующее условие:

Лабораторная работа №3

DELETE FROM EQUIPMENT

Чтобы определить какие строки будут удалены, вы используете предикат

DELETE FROM EQUIPMENTWHERE EQ_ID = ‘ТР111’

Page 14: лабораторная работа 3

Изменение значений поля

Copyright © Avdeyev V.A. 2008

UPDATE оператор который позволяет изменять некоторые или все значения в существующей строке

Лабораторная работа №3

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

UPDATE equipmentSET eq_rating = 9WHERE dep_id = 3

Page 15: лабораторная работа 3

Команда UPDATE для многих столбцов

Copyright © Avdeyev V.A. 2008

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

Лабораторная работа №3

UPDATE SalespeopleSET sname=‘Валеев З.И.‘, city=‘Казань‘, comm=.10WHERE snum=1004

Page 16: лабораторная работа 3

Использование выражений для модификации

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 = ‘Казань'

Page 17: лабораторная работа 3

Упражнения (1/2)

Copyright © Avdeyev V.A. 2008Лабораторная работа №3

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

Напишите запрос, который может выдать вам наименование цехов с описанием основной деятельности, чей рейтинг меньше или равен 2, если 1 – это максимальное значение рейтинга.

Напишите запрос, который выдает номера и наименование операций выполняемых не в механических цехах номер 6,7 и 8, кроме тех, на которых задано оборудование Д87.

Page 18: лабораторная работа 3

Упражнения (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. Напишите оператор для изменения данных в таблице оборудование.


Recommended