- •Реляционная модель данных. Общая характеристика. Целостность реляционных данных.
- •Технологии проектирования реляционных бд. Этапы разработки базы данных. Критерии оценки качества логической модели данных.
- •Проектирование реляционных баз данных на основе принципов нормализации. Понятие метода нормализации отношений. Декомпозиция без потерь и функциональные зависимости. 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. Применение многозвенных архитектур.
27.Основы sql. Формат оператора select. Вложение подзапросов.
Вложение подзапросов. Часто невозможно решить поставленную задачу путем использования единственного запроса. Например, в тех случаях, когда при использовании условия поиска в предложении WHERE параметр <значение, с которым сравнивать> заранее не определен и должен вычисляться в момент выполнения оператора SELECT.
В этом случае оператор SELECT с подзапросом имеет следующий вид:
SELECT …
FROM …
WHERE <сравниваемое_значение> <оператор> (SELECT …)
Ошибкой для данного вида запроса является использование вложенного оператора SELECT, возвращающего вместо единичного список значений.
Логический порядок выполнения запроса:
Определяется самая крупная покупка – отыскивается максимальное значение в столбце KOLVO («самый вложенный» запрос).
Определяется покупатель, осуществивший эту покупку (средний запрос)
Основной запрос выбирает записи с заданным покупателем.
Дополнительные возможности
Предложение EXISTS. Требуется отобрать только те данные, для которых подзапрос возвращает одно или более значений.
EXISTS (<подзапрос>)
Предложение SINGULAR. Требуется выбрать лишь те записи, для которых подзапрос возвращает только одно значение.
SINGULAR (<подзапрос>)
Использование ALL, SOME (ANY). Если в условиях поиска необходимо указать , что сравниваемое значение должно находиться в определенных отношениях со всеми или некоторыми значениями из множества значений, возвращаемых подзапросом, применяют выражение:
<сравниваемое_значение> [NOT] <оператор> {ALL | SOME | ANY } (<подзапрос>)
ALL указывает, что условие поиска будет истинно только тогда, когда сравниваемое значение находится в нужном отношении со ВСЕМИ значениями, возвращаемыми подзапросом.
WHERE STOLBEZ > ALL (SELECT POLE FROM TABLIZA)
SOME (или ANY) условие истинно, когда сравниваемое значение находится в нужном отношении ХОТЯ БЫ С ОДНИМ значением, возвращаемым подхвпросом.
WHERE STOLBEZ > SOME (SELECT POLE FROM TABLIZA)
Использование ALL, SOME (ANY)
28.Основы sql. Формат оператора select. Внешние соединения
Внешние соединения
Внешнее соединение таблиц определяется в предложении FROM согласно следующей спецификации:
SELECT { * | <значение1> [, <значение2> …]}
FROM <таблица1> <вид_соединения> JOIN <таблица2> ON <условие_поиска>
Внешнее соединение отличается от внутреннего тем, что в результирующий НД включаются также записи ведущей таблицы соединения, которые объединяются с пустым множеством записей другой таблицы. Какая из таблиц будет ведущей, определяет вид соединения:
LEFT – (левое внешнее соединение), когда ведущей являются таблица1
RIGHT – (правое внешнее соединение), когда ведущей являются таблица2.
FULL – (полное внешнее соединение), когда ведущими являются и таблица1, и таблица2.
29.Основы sql. Формат оператора select. Объединение запросов – union. Использование is null. Использование операции сцепления строк.
1.1.1.Оператор SELECT позволяет производить выборки из таблиц БД и преобразовывать к нужному виду полученные результаты.
1.1.1.1.Общий формат оператора SELECT
SELECT [DISTINCT | ALL ] {* | <значение1> [,<значение2> …]}
FROM <таблица1> [ , <таблица2> … ]
[ WHERE <условия_поиска> ]
[ GROUP BY столбец [, столбец1 … ]
[ HAVING < условия_поиска> ]
[ UNION <оператор_select>]
[ PLAN <план_выполнения_запроса>]
[ ORDER BY <список_столбцов>]
Простейший формат:
SELECT { * | <значение1>, <значение1> [,<значение2> …]}
FROM <таблица1> [ , <таблица2 … ]
1.1.1.2.Объединение запросов – UNION
Иногда бывает полезным объединить два или более результирующих наборов данных. Результирующие наборы должны иметь одинаковую структуру (состав столбцов). Если в результирующих наборах имеется одна и та же запись, в сводном наборе она не дублируется.
1.1.1.3.Использование IS NULL
Если требуется выдать записи, в которых некоторый столбец (или результат вычисления выражений) имеет значение NULL, то в условии достаточно указать предложение: <значение> IS [NOT] NULL
1.1.1.4.Использование операции сцепления строк
Операция || соединяет два строковых значения , которые могут быть представлены выражениями:
<строковое_выражение1> || <строковое_выражение2>
Операцию можно использовать как после слова SELECT, так и в предложении WHERE