- •1. Форматирование выходных данных запросов. 39
- •Тема 1.
- •1. Введение. История развития баз данных.
- •1. Введение. История развития баз данных
- •2. Основные понятия и определения
- •Тема 2.
- •1. Архитектура базы данных. Физическая и логическая независимость.
- •1. Архитектура базы данных. Физическая и логическая независимость
- •2. Разработка приложений в среде Microsoft Windows. Системы быстрой разработки приложений. Субд. Модели данных.
- •3. Основные этапы проектирование базы данных.
- •Тема 3.
- •1. Дополнительные общие рекомендации по проектированию базы данных.
- •2. Разработка приложений в среде Microsoft Windows.
- •1. Дополнительные общие рекомендации по проектированию базы данных.
- •2. Разработка приложений в среде Microsoft Windows.
- •Тема 4.
- •1. Построение таблиц.
- •2. Запросы в Microsoft Access. Параметры запросов на выборку данных.
- •3. Операции реляционной алгебры.
- •1. Построение таблиц
- •2. Запросы в Microsoft Access. Параметры запросов на выборку данных.
- •3. Операции реляционной алгебры.
- •Тема 5.
- •1. Понятие технологии «Клиент-сервер». Общие сведения о языке запросов sql.
- •2. Структура sql.
- •1. Понятие технологии «Клиент-сервер». Общие сведения о языке запросов sql.
- •2. Структура sql.
- •Тема 6.
- •1. Запрос выборки в языке sql. Выборка из одной таблицы.
- •2. Суммирование данных с помощью функций агрегирования (групповых функций).
- •1. Запрос выборки в языке sql. Выборка из одной таблицы.
- •2.Суммирование данных с помощью функций агрегирования (групповых функций).
- •Тема 7.
- •1. Форматирование выходных данных запросов.
- •2.Соединение таблиц
- •3.Вложенные подзапросы
- •4.Связанные подзапросы. Оператор exists
- •5.Вложенные и связанные подзапросы. Операторы any, all, come
- •Тема 8.
- •1. Форматирование выходных данных запросов.
- •1. Форматирование выходных данных запросов.
- •Тема 9.
- •1. Запросы обновления таблиц.
- •2. Создание, модификация и уничтожение таблиц. Ограничение на множество допустимых значений данных. Значение по умолчанию.
- •3. Создание и уничтожение индексов. Поддержка ссылочной целостности.
- •1. Запросы обновления таблиц.
- •2. Создание, модификация и уничтожение таблиц. Ограничение на множество допустимых значений данных. Значение по умолчанию.
- •3. Создание и уничтожение индексов. Поддержка ссылочной целостности.
- •Тема 10.
- •1. Создание представлений .
- •2. Определение правд доступа к данным.
- •1. Создание представлений.
- •2. Определение правд доступа к данным.
- •Тема 11.
- •1. Определение синонимов объектов. Понятие транзакций. Управление параллелизмом.
- •Тема 12.
- •1. Встроенный sql, основные понятия
- •1. Встроенный sql, основные понятия.
Тема 9.
1. Запросы обновления таблиц.
2. Создание, модификация и уничтожение таблиц. Ограничение на множество допустимых значений данных. Значение по умолчанию.
3. Создание и уничтожение индексов. Поддержка ссылочной целостности.
1. Запросы обновления таблиц.
Обновление таблиц осуществляется путём использования трёх команд SQL: INSERT – вставить, UPDATE – изменить, DELETE – удалить. Эти команды называются командами обновления данных. В простейшем варианте команда INSERT имеет следующий вид:
INSERT INTO имя_таблицы [(список_имени_полей)]
VALUES (список значений);
Если список имён полей не задан, то значения перечисляются в последовательности столбцов таблицы.
Пример 1:
INSERT INTO студент
VALUES (“005”, “C-5”, NULL);
Пример 1:
INSERT INTO оценка
VALUES (“002”, “001”, 13/01/11, 5);
По стандарту SQL вводимые значения не могут быть выражениями, хотя некоторые системы, в том числе MS Acces это допускают:
INSERT INTO оценка
VALUES (“002”, “001”, 13/01/11, 2+3);
При указании списка имён полей их порядок произволен. Это удобно при первичном заполнении таблиц из напечатанного отчёта. Можно сформировать запрос с указанием последовательности полей, как и в печатной форме. Список значений должен указываться в порядке списка имён полей. Если имя поля опущено, то автоматически вводится значения по умолчанию, определённые при создании таблицы (это будет рассмотрено далее).
По команде UPDATE можно изменить некоторые или все значения в существующей строке.
UPDATE имя-таблицы
SET поле = значение, [поле = значение, …]
WHERE условие;
В качестве значений могут использоваться константы и выражения от значений текущей записи:
Пример:
Изменить дату экзамена с 11.01.11 на 12.01.11 у преподавателя с кодом 001:
UPDATE оценка
SET odate = 12/01/11
WHERE opnum = “001” AND
odate = 11/01/11;
Исключение строк из таблицы осуществляется по следующей команде:
DELETE FROM имя_таблицы
WHERE условие;
Если предложение WHERE опущено, удаляются все записи таблицы, иначе – записи, удовлетворяющие условию.
Пример:
Удалить из таблицы Оценка записи студента с кодом 003:
DELETE FROM оценка
WHERE osnum = “003”;
В запросах обновления таблиц могут использоваться подзапросы. Рассмотренная выше команда INSERT позволяла добавлять одну запись в таблицу. Использование подзапросов позволяет добавлять множество записей с помощью одной команды INSERT. В команде INSERT можно применить любую форму подзапроса выборки данных, чтобы извлечь данные из одной таблицы и поместить в другую.
Пример:
Данные о неудовлетворительных оценках студентов поместить в таблицу Неуд:
opnum |
osnum |
odate |
ocen |
003 |
003 |
16/01/11 |
2 |
SELECT * FROM оценка
WHERE ocen = 2;
Пример:
Поместить в таблицу Средний балл, состоящую из столбцов snum, avg, данные о средних баллах студентов.
snum |
avg |
001 |
5 |
002 |
4 |
003 |
3 |
INSERT INTO средбалл (snum, avg)
SELECT snum, AVG (ocen) FROM оценка
GROUP BY osnum;
В приведённых примерах таблицы Неуд и Средний балл должны быть предварительно созданы. Способ создания таблиц и одновременного их заполнения мы рассмотрим позже.
В команде UPDATE подзапросы могут использоваться в условиях отбора обновляемых записей.
Пример:
Передать всех дипломников преподавателя П1 преподавателю с кодом 002.
UPDATE студент
SET spdp = “002”
WHERE spdp =
(SELECT pnum FROM Преподаватель WHERE pname = “П-1”);