
- •История развития субд.
- •Информационные системы. Основные функции и области применения.
- •Банк данных и его компоненты.
- •Классификация моделей представления данных
- •Сетевая модель данных. Достоинства и недостатки
- •Иерархическая модель данных. Достоинства и недостатки
- •Классификация программ субд
- •Общие понятия реляционного подхода к организации баз данных. Основные концепции и термины
- •Первичный и внешний ключи. Индексы
- •Реляционная алгебра. Основные операции
- •Реляционное исчисление
- •Проектирование реляционных баз данных с использованием нормализации
- •Целостность баз данных. Каскадное удаление и изменение данных.
- •Структуры внешней памяти. Хранение отношений. Индексы. Методы организации индексов. Служебная информация
- •Журнализация изменений бд
- •Сериализация транзакций. Синхронизационные захваты. Метод временных меток
- •Синхронизационные захваты
- •Транзакция. Уровни изолированности пользователей
- •Функции и основные возможности языка sql.
- •Отличие sql от процедурных языков программирования.
- •Интерактивный и встроенный sql
- •Типы данных sql
- •4.1. Тип данных «строка символов»
- •Varchar[(длина)]
- •4.2 Числовые типы данных
- •4.3 Дата и время
- •4.4 Неопределенные или пропущенные данные (null)
- •Простейшие select-запросы. Синтаксис
- •Операторы in, between, like, is null
- •Агрегирование и групповые функции. Упорядочение выходных полей
- •Команды манипулирования данными. Использование подзапросов в insert
- •Использование подзапросов, основанных на таблицах внешних запросов
- •Использование подзапросов с delete
- •Использование подзапросов с update
- •Основные особенности архитектуры клиент-сервер
- •Организация данных в InterBase.
- •InterBase и область его применения
- •Описание данных на основе sql Организация данных в InterBase. Типы данных.
- •Домены. Создание доменов. Изменение доменов. Удаление доменов.
- •Индексы. Создание индексов. Изменение индекса. Восстановление индекса. Удаление индекса.
- •4.1 Создание индексов
- •4.3. Восстановление индекса
- •4.4 Удаление индекса
- •Исключения. Создание исключения. Изменение исключения. Удаление исключения
- •Триггеры и их назначение. Команды создания, удаления и модификации триггеров и хранимых процедур.
- •Работа с blob и функции, определенные пользователем
- •Объявление внешней функции
Команды манипулирования данными. Использование подзапросов в insert
В SQL для выполнения ввода данных в таблицу, их изменения и удаления предназначены три команды языка манипулирования данными: INSERT, UPDATE, DELETE.
Команда INSERT осуществляет вставку в таблицу новой строки. В простейшем случае она имеет вид:
INSERT INTO <имя таблицы> VALUES (<значение 1>,<значение 2>, …, <значение N>);
При такой записи указанные в скобках после ключевого слова VALUES значения вводятся в поля добавленной в таблицу новой строки в том порядке, в котором соответствующие столбцы указаны при создании таблицы.
Если в какое-либо поле необходимо вставить NULL-значение, то оно вводится как обычное значение:
INSERT INTO STUDENT
VALUES (202, 'Мазуркин', NULL, 200, 3, 'Минск', #1/22/1981#, 15); (33.2)
В случае, когда необходимо ввести значения полей в порядке, отличном от заданного при создании таблицы, или требуется ввести значения не во все столбцы, следует использовать следующую форму команды INSERT:
INSERT INTO STUDENT (STUDENT_ID, CITY, SURNAME, NAME)
VALUES (2, ‘Бобруйск’, ‘Абрамович’, ‘Саша’); (33.3)
Столбцам, значения которых не указаны в приведенном в скобках списке, автоматически присваивается значение по умолчанию, если оно указано при создании таблицы, либо NULL-значение.
С помощью команды INSERT можно извлечь данные из одной таблицы и поместить их в другой, причем обе таблицы должны существовать и иметь одинаковые схемы отношений.
Пример. Переписать в таблицу STUDENT1 данные о студентах из Москвы.
INSERT INTO STUDENT1
SELECT *
FROM STUDENT
WHERE CITY = ‘Москва’; (33.4)
Удаление строк из таблицы осуществляется командой DELETE.
Пример. Удалить данные из таблицы EXAM_MARKS. В результате таблица становится пустой.
DELETE FROM EXAM_MARKS; (33.5)
Для удаления из таблицы нескольких строк, удовлетворяющих некоторому условию, можно воспользоваться предложением WHERE
DELETE FROM EXAM_MARKS
WHERE STUDENT_ID = 301; (33.6)
Команда UPDATE позволяет изменять, то есть обновлять значения некоторых или всех полей в существующей строке или строках таблицы.
Например, изменить рейтинг всех университетов на значение 200.
UPDATE UNIVERSITY
SET RATTING = 200; (33.7)
Для указания конкретных строк таблицы, значения полей которых должны быть изменены, в команде UPDATE можно использовать предикат, указываемый в предложении WHERE.
Пример. Изменить рейтинг тех университетов, которые расположены в Москве.
UPDATE UNIVERSITY
SET RATTING = 200
WHERE CITY = ‘Москва’; (33.8)
Команда UPDATE позволяет изменять не только один, но и множество столбцов.
В предложении SET можно использовать выражения, указывающие способ изменения значения поля, в которые могут входить значения изменяемого и других полей.
Предложение SET не является предикатом, поэтому в нем можно указывать значение NULL следующим образом:
UPDATE UNIVERSITY
SET RATTING = NULL
Применение оператора INSERT с подзапросом позволяет загружать сразу несколько строк в одну таблицу, используя информацию из другой таблицы. При этом количество и тип возвращаемых подзапросом столбцов должно соответствовать количеству и типу столбцов таблицы, в которую вставляются данные.