- •Оглавление
- •Глава 1 Представление данных 6
- •Глава 2 Реляционные базы данных 10
- •Глава 3 Язык структурированных запросов 42
- •Глава 4 Задание к выполнению лабораторных работ 72
- •Глава 5 Курсовая работа 97 Введение
- •Представление данных
- •Уровни представления данных
- •Инфологическая модель «сущность-связь»
- •Основные понятия
- •Характеристика связей
- •Вопросы для самопроверки
- •Реляционные базы данных
- •Основные понятия
- •Объекты реляционной структуры
- •Операции реляционной алгебры
- •Неопределенные значения
- •Ограничения целостности
- •Разработка реляционной базы данных
- •Основные предпосылки
- •Нормализация
- •Нормальные формы
- •Правила нормализации
- •Алгоритм нормализации
- •Нормализация в примерах.
- •Заключение
- •Вопросы для самопроверки
- •Язык структурированных запросов
- •Основные понятия
- •Типы данных
- •Операции над данными и null
- •Выбор данных из базы
- •Выбор данных из базы – оператор join
- •Выбор данных из базы – источник данных запрос
- •Управление структурой базы данных
- •Типы команд управления структурой
- •Типы объектов структуры
- •Создание таблицы
- •Удаление таблицы
- •Создание представления
- •Удаление представления
- •Изменение представления
- •Создание триггера
- •Изменение данных
- •Удаление данных
- •Ограничения целостности при манипулировании данными
- •Пример создания базы данных
- •Заключение
- •Вопросы для самопроверки
- •Задание к выполнению лабораторных работ
- •Лабораторная работа №1. Изучение команды select – простые запросы
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Содержание отчета
- •Лабораторная работа №2. Изучение команды select – запрос из нескольких источников
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Видео прокат
- •Вариант 2 Биржа
- •Вариант 3 Биржа труда
- •Вариант 4 Коктейли
- •Вариант 5 Урожай
- •Вариант 6 Фитнес центр
- •Вариант 7 Овощная база
- •Вариант 8 Оборудование
- •Вариант 9 Курортная карта
- •Вариант 10 осаго
- •Контрольные вопросы
- •Содержание отчета
- •Лабораторная работа №3. Разработка структуры базы данных. Вторая часть
- •Задания для самостоятельного решения
- •Контрольные вопросы
- •Содержание отчета
- •Лабораторная работа №3. Разработка системы протоколирования операций над данными реляционной таблицы с использованием триггеров
- •Задание для самостоятельного решения:
- •Контрольные вопросы:
- •Содержание отчета
- •Лабораторная работа №2. Разработка пользовательских функций и процедур
- •Задания для самостоятельного решения
- •Контрольные вопросы:
- •Содержание отчета
- •Лабораторная работа №2. Импорт данных
- •Задания для самостоятельного решения
- •Контрольные вопросы:
- •Содержание отчета
- •Курсовая работа
- •Библиографический список
Изменение данных
Для изменения значения одного или нескольких полей одной или нескольких строк таблицы используется команда UPDATE. Формат команды:
UPDATE имя_таблицы SET столбец = значение | выражение [, столбец = значение | выражение ] ... [WHERE фраза];
Фраза WHERE используется для задания условий для отбора строк, поля которых должны подвергнуться изменению. Синтаксис фразы такой же, как и в команде SELECT.
Новое значение столбца может быть вычислено через значение его текущего значения или текущих значений других столбцов таблицы.
Далее приведены примеры изменения значения поля «Кол-во_мест» в таблице «МАРКИ».
UPDATE Марки SET Кол-во_мест = Кол-во_мест+10;
UPDATE Марки SET Кол-во_мест = 130 WHERE №Марки = 2;
Первая команда изменяет все строки таблицы, увеличивая количество мест на 10, т.е. до 160 и 80 соответственно.
Вторая устанавливает значение поля «Кол-во_мест», равное 130 для записи со значением поля «№Марки», равным 2.
Удаление данных
Для удаления одной или нескольких строк таблицы используется команда DELETE. Формат команды:
DELETE FROM имя_таблицы [ WHERE фраза ];
Фраза WHERE используется для задания условий отбора удаляемых строк.
Ограничения целостности при манипулировании данными
При всех операциях манипулирования данными таблицы осуществляется проверка ограничений целостности по первичным и внешним ключам, по ограничениям, задаваемым пользователем. Нарушение ограничений целостности приводит к возникновению ошибки и не выполнению операции.
Так, ограничение целостности по первичному ключу не позволяет добавить две строки с одинаковым значением первичного ключа или с пустыми его значениями.
Особый интерес представляют действия по ограничениям целостности внешнего ключа. При вставке строки в дочернюю таблицу проверяется наличие строки в родительской таблице с соответствующим значением первичного ключа, или полная неопределенность внешнего ключа, если это допустимо.
Однако, ограничения внешнего ключа могут быть нарушены и при манипулировании данными родительской таблицы, например, удаление строки в родительской таблице или изменение значения внешнего ключа, при этом в дочерней таблице значение ключа становится некорректным. Для операций, приводящих к нарушениям целостности внешнего ключа, указывают один следующих допустимых вариантов развития событий:
Запрет выполнения операции, что приводит к возникновению ошибки и невыполнению операции.
Установка неопределённых значений, что приводит к установке неопределённых значений внешних ключей строк дочерней таблицы, ссылавшихся на модифицированную или удаленную строку.
Каскадирование операции, что приводит в случае удаления строки в родительской таблице к удалению всех ссылающихся на неё строк дочерней таблицы и к изменению значения внешнего ключа всех связанных строк дочерней таблицы при изменении первичного ключа строки родительской таблицы. Таким образом, одна операция удаления или изменения может повлечь за собой каскадное выполнение операций в нескольких таблицах, причем при иерархической связи таблиц могут быть удалены все данные. Однако, все эти операции рассматриваются как единое целое, и если хотя бы в одной из них возникает ошибка, то все операции считаются невыполненными. Это тесно связано с понятием транзакции, широко описанным в литературе[4, 11].
