- •1) Базовые понятия реляционных баз данных.
- •Кортеж, отношение
- •2) Фундаментальные свойства отношений. Отсутствие кортежей-дубликатов
- •Отсутствие упорядоченности кортежей
- •Отсутствие упорядоченности атрибутов
- •Атомарность значений атрибутов
- •3) Теоретические языки запросов.
- •4) Реляционная алгебра.
- •Общая интерпретация реляционных операций:
- •Замкнутость реляционной алгебры и операция переименования
- •Специальные реляционные операции:
- •Операция ограничения
- •Операция взятия проекции
- •Операция соединения отношений
- •Операция деления отношений
- •5) Реляционное исчисление.
- •Кортежные переменные и правильно построенные формулы
- •Целевые списки и выражения реляционного исчисления
- •Реляционное исчисление доменов
- •6) Индексирование.
- •7) Связывание таблиц.
- •8) Контроль целостности связей.
- •1) Общая характеристика субд Access.
- •2) Создание таблиц и ввод данных средствами sql.
- •Определение столбца
- •Определение ограничений целостности таблицы
- •3) Выборка данных средствами sql.
- •Директива from
- •4) Предикаты.
- •Предикат all
- •Предикат distinct
- •Предикат distinctrow
- •Предикат null
- •Операция объединения inner join
- •5) Сложные запросы в sql и поддержка целостности данных. Групповые функции
- •Запросы на выполнение действия
Запросы на выполнение действия
-
Запрос на выполнение действия
директива SQL
Добавление записи
INSERT INTO
Обновление
UPDATE
Удаление
DELETE
Создание таблицы
SELECT…INTO
Пример1
INSERT INTO Клиенты
SELECT [Город] = “Рославль”
FROM [Заинтересованные лица]
Если таблица, к которой добавляются записи, содержит первичный ключ, добавляемые записи должны содержать такое поле или эквивалентное поле того же типа данных.
Пример2
UPDATE [Прейскурант]
SET цена = цена * 1,1
WHERE [Категория] = “Шторы”
Цены на все шторы в таблице Прейскурант повышаются на 10%.
Пример3
DELETE FROM Заказы
WHERE [Дата заказа] < 1.01.06
Пример4
SELECT Заказы.*
INTO [Архив заказов]
FROM Заказы
WHERE [Дата заказа] < 1.01.06
Из записей таблицы Заказы формируется новая таблица «Архив заказов», которая содержит заказы до января 2006 года.
Формирование SQL- запросов
Преобразование запроса по образцу QBE-запроса в SQL–запрос.
В окне запросов сформировать запрос, из которого необходимо создать SQL–запрос.
Выбрать инструмент SQL или войти в меню ВИД и выбрать команду SQL. На экране появится окно с текстом готового SQL–запроса.
Непосредственное формирование SQL–запроса.
Перейти в режим конструирования запроса, оставить окно конструирования пустым.
Войти в меню ВИД и выбрать команду SQL .
Сформировать запрос. Нельзя использовать просто клавишу Enter для перехода к новой строке (нажать <Ctrl>+<Enter>)
Для сохранения запроса выполнить команду меню ФАЙЛ, СОХРАНИТЬ.
Если SQL–запрос не содержит синтаксических ошибок, то после сохранения Access автоматически преобразует SQL–запрос в запрос по образцу, и можно проверить его в окне конструирования QBE-запроса.
Для выполнения запроса выбрать инструмент ВЫПОЛНИТЬ (кнопка с восклицательным знаком) на панели инструментов или войти в меню ЗАПРОС и выбрать команду ВЫПОЛНИТЬ.
Использование триггеров
Триггер - это специальный вид хранимых процедур. Триггер выполняется при попытке изменения данных, которые он защищает. Это обязательно происходит, когда в таблице выполняются изменения, связанные с командами SQL INSERT, UPDATE, DELETE.
Триггеры часто используются для поддержки целостности данных или для сложных операций, типа автоматического изменения суммарных данных. Так как каскадные операции для поддержки декларативной ссылочной целостности недоступны в данной версии, триггеры нужны. Они позволяют проводить операции каскадного удаления и модификации, если происходит попытка нарушить ссылочную целостность между таблицами.
Если для таблицы, имеющей триггер, есть ограничения, то они проверяются до выполнения триггера. Если ограничения не могут быть преодолены, то выражение не выполнится, а вслед за ним не сможет сработать триггер.
Триггер имеет следующие характеристики:
он связан с таблицами;
выполняется автоматически независимо от того, как происходит изменение данных (помощью команды UPDATE, в процессе работы пользовательского приложения, написанного на Visual Basic и т.д.).
триггер не может быть вызван напрямую и не имеет параметров;
он может иметь до 16 уровней вложенности. Это позволяет триггеру, который изменяет значение в таблице, вызвать другой триггер, который в свою очередь запустит на исполнение следующий;
триггер является продвинутой формой правил, которые позволяют устанавливать более полный контроль над данными. Они предупреждают о вводе неправильных данных и данных, которые пытаются нарушить внутреннее соответствие в базах данных.
Правила использования триггеров:
таблицы могут иметь только три триггера: один для UPDATE (триггер на модификацию), один для INSERT (триггер на добавление новых записей) и один для DELETE (триггер на удаление). Все три действия может обрабатывать один триггер.
триггер может применяться только к одной таблице;
только владелец таблицы может добавлять триггеры в таблицу или удалять их из нее;
триггеры не могут создаваться для представлений или временных таблиц, хотя триггеры вправе ссылаться на них;
триггеры используются для поддержки целостности данных.
