- •Базы данных и информационные системы
- •Базы данных и файловые системы
- •Архитектура информационный системы
- •Структура ис
- •Системы управления базами данных. Функции
- •Системы управления базами данных. Классификация
- •Субд с последовательной обработкой;
- •Локальные информационные системы
- •Способы разработки и выполнения приложений
- •Модели и типы данных
- •Реляционная и постреляционные модели
- •Индексирование связывание таблиц. Контроль целостности связей
- •Реляционная алгебра
- •Язык запросов по образцу qbe
- •Структурированный язык запросов sql
- •Модели архитектуры клиент-сервер
- •Управление распределенными данными
- •Проблемы проектирования баз данных
- •Метод нормальных форм
- •Функциональная зависимость
- •Транзитивная зависимость
- •Множественная зависимость
- •Взаимно независимые атрибуты
- •Обеспечение непротиворечивости и целостности данных в базе данных
- •Метод «сущность - связь»
- •Этапы проектирования баз данных
- •Жизненный цикл базы данных
- •Правила формирования отношений
- •Формирование отношений для связи 1:1
- •Формирование отношений для связи 1:м (и м:1)
- •Формирование отношений для связи м:м
- •Уровни представления информации в бд
- •Реляционный подход к построению модели данных
- •Запросы к базе данных. Назначение и виды
- •Программирование на языке vba. Объекты и семейства vba
- •Модули, процедуры и функции vba
- •Инструкции описания переменных и констант. Создание процедур
- •Технология загрузки, просмотра и корректировки данных базы с использованием форм
- •Технология конструирования запросов.
- •Понятие макрос и макрокоманда, общие сведения о макросах.
- •Концептуальное проектирование бд
- •Логическое проектирование бд
- •Физическое проектирование бд
- •Распределенные субд
- •Структурная часть реляционной модели
- •Сценарии и пакеты, управляющие конструкции sql
- •Хранимые процедуры
- •Триггеры
- •Избыточные функциональные зависимости
- •Основные принципы нормализации. Понятие первичного ключа и ключа связи
- •Функциональная зависимость
- •Транзитивная зависимость
- •Множественная зависимость
- •Взаимно независимые атрибуты
- •Этапы проектирования многопользовательских баз данных
- •Разработка концептуальной модели.
- •Разработка проекта субд в соответствие с тз.
- •Реализация проекта и разработка технической документации.
- •Основные компоненты систем управления реляционными базами данных
- •Управление транзакциями и защита баз данных
- •Вопросы инфологического проектирования модели базы данных
- •Вопросы логического проектирования модели баз данных
- •Организация выполнения макросов
- •Использование условий в макросе
- •Переменные, константы и типы данных vba
- •Область действия переменных и процедур vba
- •Работа с формами, отчетами, запросами и таблицами в vba
- •Работа с формами
- •Работа с элементами управления
- •Работа с отчетами
- •Работа с запросами
- •Проектирование связей между таблицами
-
Сценарии и пакеты, управляющие конструкции sql
Ответ:
Сценарий – набор операторов SQL, сохраненный в файле.
Пакет – это последовательность инструкций и управляющих конструкцией SQL.
Блок инструкций
Блок инструкций может состоять из одного или нескольких инструкций языка SQL. Каждый блок начинается с инструкции BEGIN и заканчивается инструкцией END.
BEGIN
Инструкция_1
Инструкция_2
…
END
Инструкция IF
Инструкция IF выполняет одну или несколько составляющих блок инструкций, если логическое выражение, следующее после ключевого слова IF, возвращает значение TRUE (истина). Если же
инструкция IF содержит оператор ELSE, то при условии, что логическое выражение возвращает значение FALSE (ложь), выполняется вторая группа инструкций.
IF (условие)
BEGIN
….
END
ELSE
BEGIN
….
END
Инструкция WHILE
Инструкция WHILE выполняет одну или несколько инструкций, находящихся в блоке BEGIN…END пока выполняется условие, заключенное в скобки.
Блок внутри инструкции WHILE может содержать инструкции:
-
BREAK останавливает выполнение инструкций внутри блока и начинает исполнение инструкций, следующих сразу же после этого блока;
-
CONTINUE останавливает выполнение только текущей инструкции в блоке и начинает выполнять его с самого начала.
Синтаксис:
WHELE (условие)
BEGIN
…
END
-
Хранимые процедуры
Ответ:
Хранимая процедура – это специальный тип пакета инструкций SQL.
Хранимая процедура сохраняется в виде объекта БД. Она сохраняется на стороне сервера, чтобы улучшить производительность и постоянство выполнения повторяемых задач.
ХП предварительно компилируется перед тем, как она будет сохраняется в виде объекта в БД. Далее сохраненная форма постоянно используется при ее каждом вызове.
Цели использования ХП:
-
Управления авторизацией доступа;
-
Создание аудиторского следа действий с таблицами БД.
Синтаксис создания ХП: CREATE PROCEDURE имя_процедуры (@параметр1, @параметр2, …)
AS
Запросы
Пример: создание ХП для изменения данных таблицы
CREATE PROCEDURE increate_budget (@percent INT = 5)
AS UPDATE Project
SET Budget = Budget + Budget * @percent / 100;
Жизненный цикл хранимой процедуры состоит из двух этапов: ее создания и ее выполнения. Каждая процедура создается один раз, а выполняется многократно. Хранимая процедура выполняется посредством инструкции EXECUTE пользователем, который является владельцем процедуры или обладает правом EXECUTE для доступа к этой процедуре. Инструкция EXECUTE имеет следующий синтаксис.
Синтаксис вызова ХП:
EXECUTE имя_процедуры (параметры)
Пример:
EXECUTE increase_budget 10;
-
Триггеры
Ответ:
Триггер – это механизм, который вызывается, когда в указанной таблице происходит определенное действие.
Основные составляющие триггера:
-
Имя – может содержать максимум 128 символов.
-
Действие – может быть или инструкцией DML (INSERT, UDPATE, DELETE) или инструкцией DDL. Т.о. существуют 2 типа триггеров: триггеры DML и триггеры DDL.
-
Исполнение – состоит из ХП или пакета.
Создание триггеров:
CREATE TRIGGER имя_триггера
ON {имя_таблицы | имя_представления}
[WITH dml_trigger_option [,...]]
{FOR | AFTER | INSTEAD OF} {[INSERT] [,] [UPDATE] [,] [DELETE]}
[WITH APPEND] {AS sql_statement | EXTERNAL NAME method_name}
AFTER – триггеры данного типа вызываются после выполнения действия, запускающего его (можно создавать только для таблиц).
INSTEAD OF - выполняются вместо действия, запускающего триггер.
Параметры INSERT, UPDATE и DELETE задают действие триггера.