- •Реляционная модель данных. Общая характеристика. Целостность реляционных данных.
- •Технологии проектирования реляционных бд. Этапы разработки базы данных. Критерии оценки качества логической модели данных.
- •Проектирование реляционных баз данных на основе принципов нормализации. Понятие метода нормализации отношений. Декомпозиция без потерь и функциональные зависимости. 1-я форма.
- •Минимальные функциональные зависимости и вторая нормальная форма.
- •Нетранзитивные функциональные зависимости и третья нормальная форма.
- •Перекрывающиеся возможные ключи и нормальная форма Бойса-Кодда.
- •Проектирование реляционных баз данных с использованием семантических моделей. Семантическая модель Entity-Relationship. Основные понятия er-модели. Уникальные идентификаторы типов сущности.
- •Нормальные формы er-диаграмм.
- •Получение реляционной схемы из er-диаграммы. Базовые приемы. Представление в реляционной схеме супертипов и подтипов сущности. Представление в реляционной схеме взаимно исключающих связей.
- •Методология idef1x.
- •Основные понятия диаграмм классов uml. Получение схемы рбд из диаграммы классов uml.
- •15.Case-системы проектирования информационных систем. Назначение и разновидности case-систем.
- •16.Классификация архитектур построения приложений баз данных.
- •17.Базовая архитектура сервера баз данных.
- •18.Технология хранилищ данных. Концепция хранилищ данных. Отличия хранилищ данных от систем oltp.
- •Отличия хранилищ данных от систем oltp
- •19.Системы оперативной аналитическая обработка (olap). Связь olap и хд. Структура информационно-аналитической системы и место olap в ней.
- •Связь olap и хд
- •Структура информационно-аналитической системы и место olap в ней
- •Логическая многомерная модель
- •Архитектуры olap
- •О преимуществах и недостатках различных архитектур Реляционное хранилище
- •24.Основы sql. Формат оператора select. Использование предложения where для задания условия отбора и внутреннего соединения таблиц.
- •25.Основы sql. Формат оператора select. Использование псевдонимов таблиц. Определение сортировки. Устранение повторяющихся значений. Расчет значений вычисляемых столбцов.
- •26.Основы sql. Формат оператора select. Агрегатные функции. Группировка записей. Наложение ограничений на группировку записей.
- •27.Основы sql. Формат оператора select. Вложение подзапросов.
- •28.Основы sql. Формат оператора select. Внешние соединения
- •29.Основы sql. Формат оператора select. Объединение запросов – union. Использование is null. Использование операции сцепления строк.
- •30.Основы sql. Формат оператора insert. Явное указание списка значений. Формирование значений при помощи оператора select.
- •1.1.2.1.Явное указание списка значений
- •1.1.2.2.Формирование значений при помощи оператора select
- •31. Основы sql. Формат операторов update и delete.
- •1.1.4.Оператор delete Формат оператора удаления записей
- •32. Основы sql. Работа с просмотрами (view).
- •1.1.5.Работа с просмотрами (view) Понятие просмотра как виртуальной таблицы
- •1.1.5.1.Способы формирования просмотра
- •1.1.5.2.Обновляемые и не обновляемые просмотры
- •1.1.5.3.Дополнительные параметры просмотра
- •Основы sql. Понятие хранимой процедуры. Алгоритмический язык хранимых процедур. Создание хп.
- •Основы sql. Понятие хранимой процедуры. Алгоритмический язык хранимых процедур. Создание хп, параметры и переменные в хп.
- •1.1.6.Создание хранимой процедуры Хранимая процедура создается оператором:
- •1.1.7.Алгоритмический язык хранимых процедур Формат объявления локальных переменных:
- •Операторные скобки :Используются для указания границ составного оператора begin ... End ;
- •Основы sql. Понятие хранимой процедуры. Алгоритмический язык хранимых процедур. Формат оператора select в хп.
- •Оператор for select … do
- •1.1.8.Изменение хп
- •36. Основы sql. Понятие хранимой процедуры. Алгоритмический язык хранимых процедур. Операторы if, while, exit, suspend. Оператор вызова хп.
- •Оператор execute procedure Оператор вызова другой хранимой процедуры:
- •37. Понятие и особенности триггера. Использование триггеров для реализации каскадных воздействий.
- •1.1.9.Создание триггеров
- •38. Понятие и особенности триггера. Использование триггеров для реализации бизнес-правил.Использование генераторов.
- •1.1.10.Изменение существующего триггера:
- •39. Основы sql. Понятие транзакции. Уровни изоляции транзакций.
- •1.2.1.Уровни изоляции транзакций
- •40. Физическое проектировании бд. Способы повышения производительности работы с бд. Определение структуры индексов. Денормализация. Оптимизация запросов.
- •1.3.1.Денормализация для оптимизации
- •Целесообразность создания индексов. Их необходимо создавать в случае, когда по столбцу или группе столбцов:
- •Уменьшение общего количества индексов.
- •41. Реализация доступа к базам данных на примере Borland Delphi. Понятие набора данных. Механизмы доступа.
- •Компоненты для доступа к данным, реализующие:
- •Визуальные компоненты, реализующие интерфейс пользователя;
- •42. Реализация доступа к базам данных на примере Borland Delphi. Применение многозвенных архитектур.
1.1.7.Алгоритмический язык хранимых процедур Формат объявления локальных переменных:
DECLARE VARIABLE <имя переменной> < тип данных > ;
Операторные скобки :Используются для указания границ составного оператора begin ... End ;
Оператор присваивания: Имя_переменной = выражение ;
Удаление ХП:
DROP PROCEDURE ИмяПроцедуры
Основы sql. Понятие хранимой процедуры. Алгоритмический язык хранимых процедур. Формат оператора select в хп.
Оператор условия : IF ( < условие> ) THEN < оператор 1> [ELSE < оператор 2 > ]:
Оператор SELECT используется в ХП для выдачи единичной строки. К обычному формату SELECT в процедурный оператор добавлено предложение:
INTO :переменная [, переменная … ]
Пример: …
SELECT AVG(KOLVO), SUM(KOLVO)
FROM RASHOD
WHERE TOVAR = :IN_TOVAR
INTO :AVG_KOLVO, :SUM_KOLVO;
Оператор for select … do
FOR < оператор SELECT > DO < оператор > ;
Оператор SELECT используется в ХП в расширенном синтаксисе с INTO. Для каждой строки полученного результирующего НД выполняется оператор, следующий за словом DO. Этим оператором часто бывает SUSPEND, который приводит к возврату выходных параметров в вызывающее приложение.
1.1.8.Изменение хп
ALTER PROCEDURE ИмяПроцедур
[ ( входной_параметр тип_данных
[, входной_параметр тип_данных … ] ) ]
[ RETURNS
( выходной_параметр тип_данных
[ , выходной_параметр тип_данных … ] ) ]
AS < тело процедуры>
36. Основы sql. Понятие хранимой процедуры. Алгоритмический язык хранимых процедур. Операторы if, while, exit, suspend. Оператор вызова хп.
Оператор WHILE … DO WHILE (<условие>) DO < оператор > ;
В цикле проверяется выполнение условия. Если истинно – выполняется оператор. Цикл продолжается пока условие не станет ложным.
Оператор EXIT инициирует прекращение выполнения процедуры и выход в вызывающее приложение.
CREATE PROCEDURE MAX_VALUE ( А INTEGER, B INTEGER )
RETURNS ( M_V INTEGER ) AS
DECLARE VARIABLE TMP INTEGER;
BEGIN
IF ( :A IS NULL OR :B IS NULL ) THEN EXIT;
IF ( :A > :B ) THEN M_V = :A ; ELSE M_V = :B ;
END
Оператор execute procedure Оператор вызова другой хранимой процедуры:
EXECUTE PROCEDURE имя [параметр [, параметр … ] ] ;
[ RETURNING_VALUES параметр [, параметр … ] ];
Оператор POST_EVENT Оператор применяется для посылки сервером клиентским приложениям сообщения о наступлении какой-либо ситуации, связанной с именем события. POST_EVENT “Имя события”;
После выполнения оператора наступает событие с указанным именем. Сервер БД уведомляет о наступлении этого события все активные приложения, зарегистрировавшие свой интерес к нему с помощью EVENT INIT.
Обмен событиями между сервером и приложениями может широко использоваться. Например, с его помощью можно создать клиентское приложение, которое будет видеть все изменения, вносимые в БД другими пользователями. Для этого нужно, чтобы в соответствующий момент возбуждалось заданное событие. Получив сообщение, программа-наблюдатель отображает внесенные изменения.
37. Понятие и особенности триггера. Использование триггеров для реализации каскадных воздействий.
Триггеры - это хранимые процедуры, связанные с некоторыми событиями, происходящими во время работы базы данных. В качестве таких событий выступают операции вставки, обновления и удаления строк таблиц. Если в базе данных определен некоторый триггер, то он запускается автоматически всегда при возникновении события, с которым этот триггер связан. Пользователь не может обойти триггер. Триггер срабатывает независимо от того, кто из пользователей и каким способом инициировал событие, вызвавшее запуск триггера. Таким образом, основное назначение триггеров - автоматическая поддержка целостности базы данных.
По событию изменения триггеры различают на вызываемые при:
Добавлении новой записи
Изменении существующей записи
Удалении записи
По отношению к событию, влекущему их вызов, триггеры различаются на:
Выполняемые до наступления события
Выполняемы после наступления события
Особенности триггеров:
Непосредственно обратиться к триггеру нельзя
Нельзя передавать параметры и получать значения выходных параметров
Триггер всегда реализует действие
Преимущества использования триггеров:
Автоматическое обеспечение каскадных воздействий, выполняющихся на сервере.
Изменения в триггерах не влекут необходимости изменения клиентских приложений.
Обязательное выполнение бизнес-правил, реализованных с использованием триггеров для всех приложений работающих с БД.
Все изменения вносимые триггером выполняются в рамках одной транзакции. Как следствие, при откате транзакции откатываются также и все изменения, внесенные в БД триггерами.