
- •Классификация субд [5]
- •Функции субд
- •Централизованная архитектура
- •Технология с сетью и файловым сервером (архитектура «файл-сервер»)
- •Технология «клиент-сервер»
- •Трехзвенная (трехуровневая) архитектура
- •Реляционная модель данных
- •Методология idef1x
- •Определение отношения, домена, кортежа, реляционной базы данных, ключей
- •Связи между отношениями (таблицами)
- •Базовые теоретико-множественные операции реляционной алгебры
- •Специальные операции реляционной алгебры
- •Аномалии обновления
- •Первая Нормальная Форма
- •Определение функциональной зависимости
- •Функциональные зависимости отношений и математическое понятие функциональной зависимости
- •Вторая Нормальная Форма
- •Определение
- •3Нф (Третья Нормальная Форма)
- •Алгоритм нормализации (приведение к 3нф)
- •Реляционная модель данных: сравнение нормализованных и ненормализованных моделей.
- •16, Сравнение нормализованных и ненормализованных моделей
- •Null-значения
- •Потенциальные ключи
- •Целостность сущностей
- •Внешние ключи
- •Целостность внешних ключей
- •Замечания к правилам целостности сущностей и внешних ключей
- •Операции, которые могут нарушить ссылочную целостность
- •Для родительского отношения
- •Для дочернего отношения
- •20, Целостность реляционных данных: стратегии поддержания ссылочной целостности.
- •Стратегии поддержания ссылочной целостности
- •Операторы ddl (Data Definition Language) - операторы определения объектов базы данных
- •Create table – создать таблицу
- •Оператор check
- •Определение первичных и альтернативных ключей с помощью оператора alter
- •Операторы drop
- •Выборка данных
- •Сортировка результатов
- •Встроенные функции sql
- •Средства модификации данных языка sql
- •Вставка данных – insert
- •Изменение данных – update
- •Удаление данных – delete
- •Выборка данных
- •Представления
- •Применение представлений
- •Обновление представлений
- •Триггеры
- •Хранимые процедуры
- •Большая безопасность и меньший сетевой трафик.
- •Sql можно оптимизировать
- •Совместное использование кода:
- •Структура памяти эвм
- •Представление экземпляра логической записи
- •Организация обмена между оперативной и внешней памятью
- •Структуры хранения данных во внешней памяти эвм
- •Назначение и проверка полномочий, проверка подлинности
- •Средства защиты базы данных
- •Архитектура системы безопасности ms sql Server
- •34.Роли сервера
- •35, Права доступа
- •36, Необходимость в атомарных транзакциях
- •П , Параллельная обработка транзакций
- •Проблема потерянного обновления
- •Блокировка ресурсов
- •Блокировочная терминология
- •Сериализуемые транзакции
- •Взаимная блокировка
- •Оптимистическая и пессимистическая блокировки
- •Объявление характеристик блокировки
- •Свойства транзакций
- •Атомарность
- •Долговечность или устойчивость
- •Согласованность
- •Изолированность транзакции. Уровни изоляции
- •Типы курсоров
Средства модификации данных языка sql
Модификация данных подразумевает три возможных операции: вставка, изменение и удаление. Посмотрим, как выполняются эти операции средствами языка SQL.
Вставка данных – insert
Для вставки данных в таблицы служит SQL-оператор INSERT. Этот оператор имеет две формы, в зависимости от того, всем ли столбцам таблицы присваиваются значения. Если указываются значения всех столбцов, то оператор имеет следующий вид:
Листинг 7
INSERT INTO ПРОЕКТ VALUES
(1600, 'КВ4 Подготовка налогового отчет', 'Бухгалтерия', 100)
Обратите внимание, что значения типа Integer и Numeric не заключаются в кавычки, в отличие от Char и VarChar.
Если данные для каких-то столбцов отсутствуют, необходимо перечислить имена столбцов, которым будут присвоены значения.
Листинг 8
INSERT INTO ПРОЕКТ (Название, ИдПроекта) VALUES
('KB4 Подготовка налогового отчета', 1700);
Вспомните, однако, что при создании таблицы ПРОЕКТ в операторе CREATE TABLE Для столбца МаксТрудозатраты было задано начальное значение 100, поэтому несмотря на то, что в операторе INSERT значение этому столбцу не присваивалось, СУБД все равно установит его равным 100. Столбец Отдел будет иметь пустое значение.
Есть несколько дополнительных замечаний, которые следует сделать по поводу второй формы оператора INSERT.
Во-первых, порядок, в котором перечисляются значения столбцов, должен соответствовать порядку следования их имен.
Во-вторых, чтобы вставка была выполнена, необходимо задать значения всех столбцов, определенных как NOT NULL.
В-третьих, в обеих формах INSERT, если первичный ключ является суррогатным ключом, его значение указывать не нужно: это за вас сделает СУБД. Следовательно, если ИдПроекта является суррогатным ключом, то вставку строки можно произвести следующим образом:
Листинг 9
INSERT INTO ПРОЕКТ VALUES ('KB4 Подготовка налогового отчета', 'Бухгалтерия', 100);
Если требуется скопировать большое количество данных из другой таблицы, их значения можно получить с помощью оператора SELECT. Например, следующий оператор копирует значения столбцов Имя и ТабельныйНомер из таблицы СОТРУДНИК в таблицу под названием СОТРУДНИК1:
Листинг 10
INSERT INTO СОТРУДНИК1 (Имя, ТабельныйНомер)
SELECT Имя, ТабельныйНомер FROM СОТРУДНИК;
Обратите внимание, что в этом случае ключевое слово VALUES не входит в оператор SELECT.
Изменение данных – update
Значения существующих данных могут быть изменены с помощью SQL-оператора UPDATE. Имейте в виду, что это мощная команда, и ее следует использовать с осторожностью. Рассмотрим следующий пример:
Листинг 11
UPDATE СОТРУДНИК
SET Телефон = '287-1435'
WHERE Имя = 'Джеймс Нестор';
Этот оператор устанавливает значение столбца Телефон в строке сотрудника по имени Джеймс Нестор равным '287-1435'.
С помощью оператора UPDATE можно обновлять и несколько столбцов за один прием. Это демонстрирует следующий пример:
Листинг 12
UPDATE СОТРУДНИК
SET Телефон = '287-1435', Отдел = 'Производство'
WHERE ТабельныйНомер = 200;
Эта команда изменяет значения столбцов Телефон и Отдел для указанного сотрудника.