
- •Реляционная модель данных. Общая характеристика. Целостность реляционных данных.
- •Технологии проектирования реляционных бд. Этапы разработки базы данных. Критерии оценки качества логической модели данных.
- •Проектирование реляционных баз данных на основе принципов нормализации. Понятие метода нормализации отношений. Декомпозиция без потерь и функциональные зависимости. 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. Применение многозвенных архитектур.
24.Основы sql. Формат оператора select. Использование предложения where для задания условия отбора и внутреннего соединения таблиц.
Оператор 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 … ]
Предложение WHERE используется для включения в НД лишь нужных записей.
Внутреннее соединение таблиц
При сравнении значения одной таблицы с со значением столбца другой таблицы условие поиска имеет следующий вид: <условия поиска > = <имя столбца 1> <оператор> <имя столбца 2>
Внутреннее соединение таблиц
При внутреннем соединении двух таблиц A и B логический порядок формирования результирующего набора данных можно представить следующим образом.
Из столбцов, которые указаны после слова SELECT, составляется промежуточный набор данных путем сцепления результирующих столбцов каждой записи из таблицы А и результирующих столбцов записи из таблицы В.
Из получившегося НД отбрасываются все записи , не удовлетворяющие условию в предложении WHERE.
Замечание:
Фактический порядок выполнения запроса для конкретного SQL-сервера может быть другим.
Внутреннее соединение таблиц
25.Основы sql. Формат оператора select. Использование псевдонимов таблиц. Определение сортировки. Устранение повторяющихся значений. Расчет значений вычисляемых столбцов.
Использование псевдонимов таблиц
SELECT …
FROM < таблица1 псевдоним1> [, таблица2 псевдоним 2 … ]
WHERE … Предложение ORDER BY – определение сортировки
Результирующий набор данных можно отсортировать с помощью предложения:
ORDER BY <список_столбцов>
Устранение повторяющихся значений.Часто в результирующий НД необходимо включать не все записи с одинаковым значением комбинации столбцов. Для этого используется ключевое слово
DISTINCT
Замечание: использование DISTINCT может существенно замедлить выполнение запроса, т.к. сервер будет тратить дополнительные ресурсы на проверку каждой записи. Обычно применяется в запросах, использующих агрегатные функции.
Для расчета значений вычисляемых столбцов результирующего НД используются арифметические выражения. При этом в списке возвращаемых столбцов после SELECT вместо имени вычисляемого столбца указывается выражение:
SELECT [DISTINCT | ALL ]
{ * | <значение1> [,<значение2> …], <выражение1>[AS <имя_столбца>] …}
FROM <таблица1> [ , <таблица2> … ]
AS STOIM – необязательное присвоение имени вычисляемому столбцу
26.Основы sql. Формат оператора select. Агрегатные функции. Группировка записей. Наложение ограничений на группировку записей.
Агрегатные функции предназначены для вычисления итоговых значений операций над всеми записями НД. К агрегатным относятся следующие функции:
COUNT(<выражение>) – число вхождений выражения в результирующий НД;
SUM(<выражение>) – суммирует значение выражения;
AVG(<выражение>) – находит среднее значение;
MAX(<выражение>) – определяет максимальное значение;
MIN(<выражение>)- определяет минимальное значение.
Группировка записей. Иногда требуется получить агрегированные значения не по всему результирующему НД, а по каждой из входящих в него групп записей, характеризующихся одинаковым значением какого-либо столбца. Для этого перед предложением WHERE вводится предложение: GROUP BY столбец [ , столбец1 … ]
Наложение ограничений на группировку записей
Если нужно в результирующем НД выдавать агрегацию не по всем группам, а только по группам, которые отвечают некоторому условию то после GROUP BY указывается предложение :
HAVING <агрегатная функция> <отношение> <значение>
Агрегатная функция – одна из функций MIN, MAX, AVG, SUM
Отношение – одна из операций отношения.
Значение – константа, результат вычисления выражения или единичное значение, возвращаемое вложенным оператором SELECT.
Отличие HAVING от WHERE:
HAVING – исключает из результирующего НД группы с результатами агрегированных значений;
WHERE – исключает из расчета агрегатных значений по группировкам записи, не удовлетворяющие условию;
В условии поиска WHERE нельзя указывать агрегатную функцию.