CITY CHAR (15) DEFAULT 'Воронеж', — КиберПедия 

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

CITY CHAR (15) DEFAULT 'Воронеж',

2017-11-22 70
CITY CHAR (15) DEFAULT 'Воронеж', 0.00 из 5.00 0 оценок
Заказать работу

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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.023 с.