Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Топ:
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Интересное:
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Дисциплины:
2017-11-22 | 70 |
5.00
из
|
Заказать работу |
|
|
BIRTHDAY DATE,
UNIV_ID INTEGER);
Другая цель практического применения задания значения по умолчанию — это использование его как альтернативы для NULL. Присутствие NULL в качестве возможных значений поля существенно усложняет интерпретацию операций сравнения, в которых участвуют значения таких полей, поскольку NULL представляет собой признак того, что фактическое значение поля неизвестно или неопределенно. Следовательно, строго говоря, сравнение с ним любого конкретного значения в рамках двузначной булевой логики является некорректным, за исключением специальной операции сравнения is NULL, которая определяет, является ли содержимое поля каким-либо значением или оно отсутствует. Действительно, каким образом в рамках двузначной логики ответить на вопрос, истинно или ложно условие CITY = 'Воронеж', если текущее значение поля CITY неизвестно (содержит NULL)?
Во многих случаях использование вместо NULL значения, подставляемого в поле по умолчанию, может существенно упростить использование значений поля в предикатах.
Например, можно установить для столбца опцию NOT NULL, а для неопределенных значений числового типа установить значение по умолчанию «равно нулю», или для полей типа CHAR — пробел, использование которых в операциях сравнения не вызывает никаких проблем.
3. Модификация структуры таблицы
(добавление и удаление нового столбца, добавление ограничений, изменение типа данных, ограничений целостности)
Для модификации структуры и параметров существующей таблицы используется команда ALTER TABLE. Синтаксис команды ALTER TABLE для добавления столбцов в таблицу имеет вид
ALTER TABLE <ИМЯ ТАБЛИЦЫ> ADD (<ИМЯ СТОЛБЦА> <ТИП ДАННЫХ> <размер>);
|
По этой команде для существующих в таблице строк добавляется новый столбец, в который заносится NULL-значение. Этот столбец становится последним в таблице. Можно добавлять несколько столбцов, в этом случае их определения в команде ALTER TABLE разделяются запятой.
Возможно изменение описания столбцов. Часто это связано с изменением размеров столбцов, добавлением или удалением ограничений, накладываемых на их значения. Синтаксис команды в этом случае имеет вид
ALTER TABLE <ИМЯ ТАБЛИЦЫ> ALTER СOLUMN <ИМЯ СТОЛБЦА> <ТИП ДАННЫХ> <размер/точность>;
Следует иметь в виду, что модификация характеристик столбца может осуществляться не в любом случае, а с учетом следующих ограничений:
• изменение типа данных возможно только в том случае, если столбец пуст;
• для незаполненного столбца можно изменять размер/точность. Для заполненного столбца размер/точность можно увеличить, но нельзя понизить;
• ограничение NOT NULL может быть установлено, если ни одно значение в столбце не содержит NULL. Опцию NOT NULL всегда можно отменить;
• разрешается изменять значения, установленные по умолчанию.
Синтаксис команды ALTER TABLE для удаления столбцов в таблице имеет вид
ALTER TABLE <ИМЯ ТАБЛИЦЫ> DROP СOLUMN (<ИМЯ СТОЛБЦА>);
Лабораторная работа №3
Команды манипулирования данными
В SQL для выполнения операций ввода данных в таблицу, их изменения и удаления предназначены три команды языка манипулирования данными (DML). Это команды INSERT (вставить), UPDATE (обновить), DELETE (удалить).
1. Команда INSERT осуществляет вставку в таблицу новой строки. В простейшем случае она имеет вид:
INSERT INTO <имя таблицы> VALUES (<значение>, <значение>,);
При такой записи указанные в скобках после ключевого слова VALUES значения вводятся в поля добавленной в таблицу новой строки в том порядке, в котором соответствующие столбцы указаны при создании таблицы, то есть в операторе CREATE TABLE.
Например, ввод новой строки в таблицу STUDENT может быть осуществлен следующим образом:
|
INSERT INTO STUDENT
VALUES (111,'Петров','Александр', ‘Иванович’, ‘1994-05-05’, 23, 3,5);
Если в какое-либо поле необходимо вставить NULL-значение, то оно вводится как обычное значение:
INSERT INTO STUDENT
VALUES (101, 'Иванов', NULL, 200, 3, 'Москва','6/10/1979', 15);
В случаях, когда необходимо ввести значения полей в порядке, отличном от порядка столбцов, заданного командой CREATE TABLE, или требуется ввести значения не во все столбцы, следует использовать следующую форму команды INSERT:
INSERT INTO STUDENT (ID_STUDENT, SURNAME, FIRST_NAME,)
VALUES (111, 'Иванов', ‘Александр’);
Столбцам, наименования которых не указаны в приведенном в скобках списке, автоматически присваивается значение по умолчанию, если оно назначено при описании таблицы (команда CREATE TABLE), либо значение NULL.
С помощью команды INSERT можно извлечь значение из одной таблицы и разместить его в другой, например, запросом следующего вида:
INSERT INTO STUDENT1
SELECT *
FROM STUDENT
WHERE ID_Group =23;
При этом таблица STUDENT1 должна быть предварительно создана командой CREATE TABLE и иметь структуру, идентичную таблице STUDENT.
2. Удаление строк из таблицы осуществляется с помощью команды DELETE.
Следующее выражение удаляет все строки таблицы STUDENT.
DELETE FROM STUDENT;
В результате таблица становится пустой (после этого она может быть удалена командой DROP TABLE).
Для удаления из таблицы сразу нескольких строк, удовлетворяющих некоторому условию, можно воспользоваться предложением WHERE, например:
DELETE FROM STUDENT
WHERE STUDENT_ID = 111;
Можно удалить группу строк:
DELETE FROM STUDENTI
WHERE CITY = 'Москва';
3. Команда UPDATE позволяет изменять значения некоторых или всех полей в существующей строке или строках таблицы. Например, чтобы для всех предметов, сведения о которых находятся в таблице SUBJECT, изменить количество часов на значение 64, можно использовать конструкцию:
UPDATE SUBJECT
SET HOURS = 64;
Для указания конкретных строк таблицы, значения полей которых должны быть изменены, в команде UPDATE можно использовать предикат, указываемый в предложении WHERE.
UPDATE SUBJECT
SET HOURS = 64
WHERE ID_ SUBJECT=12;
В результате выполнения этого запроса будет изменено количество часов только у предмета с ID_ SUBJECT, равным 12.
Команда UPDATE позволяет изменять не только один, но и множество столбцов. Для указания конкретных столбцов, значения которых должны быть модифицированы, используется предложение SET.
|
Например, наименование предмета обучения 'Математика' (для него ID_ SUBJECT=12) должно быть заменено на название Дискретная математика', при этом идентификационный номер необходимо сохранить, но в соответствующие поля строки таблицы ввести новые данные об этом предмете обучения. Запрос будет выглядеть следующим образом:
UPDATE SUBJECT
SET SUBJ_NAME = 'Дискретная математика', HOURS = 36
WHERE SUBJ_ID = 12;
Задание
1. Ввести данные в таблицы с помощью команды Insert
2. Изменить некоторые данные с помощью команды Update
3. Удалить несколько строк с помощью команды Delete
Лабораторная работа №4
Проектирование запросов
Задание
Спроектировать запросы и представить формулировку запросов в виде предложений русского языка. Количество запросов – 10. Из общего количества запросов простыми могут быть не более 3, остальные запросы должны быть сложными. (Простые запросы – это запросы, с помощью которых информация выбирается из одной сущности. В сложных запросах информация должна выбираться из двух или более сущностей одновременно.)
Запросы должны быть спроектированы так, чтобы одновременно обладать физическим смыслом с точки зрения предметной области и продемонстрировать следующие возможности языка SQL:
а) работа с агрегатными функциями (подсчет количества, расчет средних значений, минимальных, максимальных значений, сумм и т.д.),
б) применение вложенных запросов (вложенное обращение одного оператора SELECT к результатам другого оператора SELECT),
в) применение кванторов (запросы на всеобщность, существование – ключевые слова EXISTS и ALL),
г) запросы с объединением результатов двух и более запросов (ключевое слово UNION),
д) запросы с применением группировки,
е) запросы с применением маски,
ж) запросы для работы с датами.
В запросах должны быть заданы условия поиска (Сравнение, Диапазон, Принадлежность множеству, Соответствие шаблону, Значение NULL)
Отчет по лабораторной работе должен содержать список запросов в виде:
Простые запросы:
1. Найти группу с минимальным/максимальным количеством студентов.
2. Вывести фамилии студентов, дата рождения которых попадает в диапазон от 12.05.1994г до 28.12.1996
|
Сложные запросы:
1. По фамилии студента определить фамилию его куратора
2. По фамилии преподавателя определить название кафедры, на которой он работает.
3. Найти преподавателей, у которых стаж работы больше, чем средний стаж работы всех преподавателей
Лабораторная работа №5
Создание запросов
Все запросы на получение любого количества данных из одной или нескольких таблиц выполняются с помощью предложения SELECT. В общем случае результатом реализации предложения SELECT является другая таблица. К этой новой (рабочей) таблице может быть снова применена операция SELECT и т.д., т.е. такие операции могут быть вложены друг в друга. Именно возможность включения одного предложения SELECT внутрь другого послужила мотивировкой использования прилагательного «структурированный» в названии языка SQL.
Теоретический материал по созданию запросов приведен в [1].
Задание
|
|
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!