
- •1.Информационные системы
- •2.Основные понятия теории баз данных
- •2.1.Предметная область
- •2.2.Пользователи информационной системы
- •2.3.Интеграция данных Достоинства интеграции данных
- •Проблемы, связанные с интеграцией данных
- •Функции администратора бд
- •Проектирование и развитие бд
- •3.Архитектура информационной системы
- •4.Сетевые базы данных
- •4.1.Способы упорядочения подчиненных записей
- •4.2.Режим включения подчиненных записей
- •4.3.Режим исключения подчиненных записей
- •4.4.Операции над данными
- •5.Иерархические базы данных
- •5.1.Операции над данными
- •6.Реляционные базы данных
- •6.1.Цели проектирования баз данных
- •6.2.Универсальные отношения
- •6.3.Проблемы, связанные с использованием единственного отношения
- •Проблема вставки.
- •Проблема обновления.
- •Проблема удаления.
- •6.4.Функциональные зависимости
- •6.5.Нормальные формы отношений Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Третья усиленная форма или нормальная форма Бойса–Кодда (нфбк)
- •6.6.Общая схема проектирования баз данных
- •6.7.Избыточные функциональные зависимости. Правила вывода
- •Правило 1. Избыточные зависимости
- •6.8.Схема проектирования баз данных методом декомпозиции
- •7.Метод проектирования бд «Сущность-связь»
- •7.1.Сущности и связи
- •Диаграмма еr–экземпляров:
- •Д иаграмма er–типа:
- •7.2.Степень связи
- •Правило 1.
- •Правило 2.
- •Правило 3.
- •Правило 4.
- •Правило 5.
- •7.3.Бинарные связи степени m:n.
- •Правило 6.
- •Пример проектирования с использованием связей степенью м:n
- •7.4.Связи более высокого порядка
- •Правило 7
- •Пример проектирования с использованием связей более высокого порядка
- •7.5.Использование ролей
- •Правило 8
- •Пример проектирования с использованием ролей
- •8.Постреляционные базы данных
- •8.1.Ограничения реляционных баз данных.
- •Недостатки реляционных баз данных
- •8.2.Системы управления базами данных следующего поколения
- •Абстрактные типы данных
- •Генерация систем баз данных, ориентированных на приложения
- •8.3.Ориентация на расширенную реляционную модель
- •Расширенная реляционная модель
- •9.Объектно-ориентированные субд.
- •9.1.Объектно-ориентированная парадигма.
- •Структура:
- •Целостность данных:
- •Средства манипулирования данными:
- •9.2.Анализ эффективности объектно-ориентированных баз данных Преимущества объектно-ориентированных баз данных:
- •Недостатки объектно-ориентированных баз данных:
- •9.3.Стандарт odmg.
- •Объектная модель
- •Язык описания объектов
- •Язык объектных запросов
- •Связывание с оо-языками
- •9.4.Объектные расширения реляционных субд. Язык sql-3.
- •10.Базы знаний
- •10.1.Понятие системы баз знаний.
- •10.2.Структура системы базы знаний Компоненты Системы баз знаний (сбз):
- •Экстенсиональная и интенсиональная части базы данных
- •10.3.Активные базы данных
- •10.4.Дедуктивные базы данных
- •10.5.Инструментальные средства построения систем баз знаний.
- •11.Язык sql
- •11.1.Стандарт языка доступа к бд
- •11.2.Классификация операторов sql
- •Ddl (data definition language) – операторы определения объектов бд.
- •Insert into (Вставка записей).
- •Update (Редактирование записей).
- •Delete (Удаление записей).
- •Оператор select.
- •Модификатор distinct (предотвращение выборки повторяющихся слов).
- •Order by (упорядочение строк в результате запроса).
- •Использование псевдонимов (alias).
- •11.4.Арифметические выражения.
- •11.5.Групповые функции.
- •Предложение having.
- •11.6.Вложенные запросы.
- •Подзапросы, возвращающие набор значений.
- •Подзапросы, возвращающие значения из нескольких столбцов.
- •Составные запросы с несколькими подзапросами.
- •Синхронизация повторяющихся подзапросов
- •Комбинация нескольких команд Select
- •11.7.Индексы
- •7. Метод проектирования бд «Сущность-связь» 41
- •8. Постреляционные базы данных 75
- •9. Объектно-ориентированные субд. 81
- •10. Базы знаний 87
- •11. Язык sql 93
Update (Редактирование записей).
Редактирование записей – это изменение значений полей в группе записей.
Оно выполняется оператором UPDATE
UPDATE <имя таблицы>
SET <имя столбца 1> = <выражение 1>
(<имя столбца 2> = < выражение 2>,…)
[WHERE <условие отбора>];
Во всех записях, удовлетворяющих условию отбора, изменяются значения полей. Имя столбца указывает модифицируемое поле всей совокупности записей, а выражение определяет значения, которые будут присвоены этому полю.
Критерий отбора, указанный в операнде WHERE, не отличается от критерия, заданного в операторе SELECT. Если он не задан, то изменяются значения всех указанных полей. Критерий отбора может варьироваться от простейшего, в котором сравниваются два значения, до сложного, когда учитывается много факторов.
Критерий отбора представляет собой логическое выражение, в котором можно использовать следующие операции:
Операции сравнения |
|
|
|||
|
= |
Равно |
|||
|
> |
Больше |
|||
|
< |
Меньше |
|||
|
>= |
Больше или равно |
|||
|
<= |
Меньше или равно |
|||
|
<> или != |
Не равно |
|||
|
!> |
Не больше |
|||
|
!< |
Не меньше |
|||
LIKE |
Сравнение по шаблону |
||||
IS NULL |
Проверка нулевого значения |
||||
IN |
Проверка вхождения |
||||
BETWEEN |
Проверка вхождения в диапазон |
||||
Логические операции |
|
||||
|
AND |
Логическое И |
|||
|
OR |
Логическое ИЛИ |
|||
|
NOT |
Логическое НЕ |
|||
Круглые скобки |
|
|
В языке SQL приоритет операций сравнения выше приоритета логических операций.
Оператор AND означает, что общий предикат будет истинным только тогда, когда условия, связанные по “AND”, будут истинны.
Оператор OR означает, что общий предикат будет истинным, когда хотя бы одно из условий, связанных по “OR”, будет истинным.
Оператор NOT означает, что общий предикат будет истинным, когда условие, перед которым стоит этот оператор, будет ложным.
В одном предикате логические операторы выполняются в следующем порядке: сначала выполняется оператор NOT, затем - AND и только после этого - оператор OR. Для изменения порядка выполнения операторов разрешается использовать скобки.
Пример. Увеличим Воронину оклад на 10:
UPDATE Сотрудники SET Оклад = Оклад * 1.1
WHERE ТабНомер = 7738;
Пример. Увеличить оклад аналитиков и экономистов отдела 20 на 15:
UPDATE Сотрудники SET Оклад = Оклад*1,15
WHERE (Должность = ‘Аналитик’ OR Должность = ‘Экономист’) AND Отдел = 20;
Если отсутствует предложение WHERE, обновляются все строки. Предложение WHERE может содержать запрос, в этом случае будут обновляться строки, удовлетворяющие этому запросу.
Пример. Увеличить оклад сотрудников, содержащихся в таблице ‘’Список’’:
UPDATE Сотрудники SET Оклад = Оклад*1,05
WHERE Фамилия IN (SELECT Фамилия FROM Список)
Предложение SET тоже может содержать запрос.
Пример. Установить оклад экономистам как у сотрудника с номером 7456:
UPDATE Сотрудники SET Оклад =
( SELECT Оклад FROM Сотрудники WHERE Табномер = 7456)
WHERE Должность = ‘Экономист’;