
- •Отличия хранилищ данных от систем oltp
- •Связь olap и хд
- •Структура информационно-аналитической системы и место olap в ней
- •Логическая многомерная модель
- •Архитектуры olap
- •О преимуществах и недостатках различных архитектур Реляционное хранилище
- •1.1.2.1.Явное указание списка значений
- •1.1.2.2.Формирование значений при помощи оператора select
- •1.1.4.Оператор delete Формат оператора удаления записей
- •1.1.5.Работа с просмотрами (view) Понятие просмотра как виртуальной таблицы
- •1.1.5.1.Способы формирования просмотра
- •1.1.5.2.Обновляемые и не обновляемые просмотры
- •1.1.5.3.Дополнительные параметры просмотра
- •1.1.6.Создание хранимой процедуры Хранимая процедура создается оператором:
- •1.1.7.Алгоритмический язык хранимых процедур Формат объявления локальных переменных:
- •Операторные скобки :Используются для указания границ составного оператора begin ... End ;
- •Оператор for select … do
- •1.1.8.Изменение хп
- •Оператор execute procedure Оператор вызова другой хранимой процедуры:
- •1.1.9.Создание триггеров
- •1.1.10.Изменение существующего триггера:
- •1.2.1.Уровни изоляции транзакций
- •1.3.1.Денормализация для оптимизации
- •Целесообразность создания индексов. Их необходимо создавать в случае, когда по столбцу или группе столбцов:
- •Уменьшение общего количества индексов.
- •Компоненты для доступа к данным, реализующие:
- •Визуальные компоненты, реализующие интерфейс пользователя;
1.1.2.1.Явное указание списка значений
INSERT INTO <Объект> [ (столбец1 [ , столбец2 …]) ]
VALUES ( <значение1> [,<значение2> …])
Пример.
INSERT INTO RASHOD (N_RASH, DAT_RASH, KOLVO, TOVAR)
VALUES (45 ,”20.01.2005”, 100, “Сахар”, “Саяны”)
Или, если столбцы указаны в полном составе и порядке создания:
INSERT INTO RASHOD VALUES (45 ,”20.01.2005”, 100, “Сахар”, “Саяны”)
1.1.2.2.Формирование значений при помощи оператора select
INSERT INTO <Объект> [ (столбец1 [ , столбец2 …]) ] <оператор SELECT>
При этом значениями, которые присваиваются столбцам, являются значения, возвращаемые оператором SELECT. Порядок их назначения столбцам аналогичен предыдущей форме оператора INSERTЖ значение первого по порядку столбца результирующего набора данных оператора SELECT присваивается первому столбцу оператора INSERT, второй – второму и т.д. Следует обратить внимание на важную особенность: поскольку оператор SELECT в общем случае возвращает множество записей, то и оператор INSERT в данной форме приведет к добавлению в объект аналогичного количества новых записей.
31. Основы SQL. Формат операторов UPDATE и DELETE.
1.1.3.Оператор UPDATE оператора изменения записей UPDATE <Объект>
SET столбец1 = <значение1> [ , столбец2 = <значение 2> …]
[WHERE <условие_поиска> ]
Если опустить условие WHERE то в таблице будут изменены все записи!!!
1.1.4.Оператор delete Формат оператора удаления записей
DELETE FROM <Объект>
[WHERE <условие_поиска> ]
Если опустить условие WHERE то в таблице будут удалены все записи!!!
32. Основы SQL. Работа с просмотрами (VIEW).
1.1.5.Работа с просмотрами (view) Понятие просмотра как виртуальной таблицы
Формирование записей в просмотре определяется оператором SELECT. Для создания просмотра применяется оператор CREATE VIEW:
CREATE VIEW ИмяПросмотра [ (столбец_view [, столбец_view1 … ] ) ]
AS < оператор_select > [WITH CHECK OPTION]
Необязательный параметр WITH CHECK OPTION определяет, допускать ли для обновляемых просмотров ввод записей, не удовлетворяющих условию формирования просмотра.
1.1.5.1.Способы формирования просмотра
Просмотр может создаваться как:
1) вертикальный срез таблицы, когда в просмотр включается подмножество столбцов таблицы, например:CREATE VIEW RASH_VERT AS
SELECT DAT_RASH, TOVAR, KOLVO FROM RASHOD
2) горизонтальный срез таблицы, когда в просмотр включаются все столбце, но не все записи, например: CREATE VIEW RASH_GORIZ AS SELECT * FROM RASHOD WHERE TOVAR = “Сахар”
3) вертикально-горизонтальный срез таблицы: CREATE VIEW RASH_VERT_GORIZ AS
SELECT DAT_RASH, TOVAR, KOLVO FROM RASHOD WHERE TOVAR = “Сахар”
4) подмножество строк и столбцов соединения разных таблиц:
CREATE VIEW FULL_RASHOD AS
SELECT R.DAT_RASH, R.TOVAR, R.KOLVO, T.ZENA
FROM RASHOD R, TOVARY T
WHERE R.TOVAR = T.TOVAR
1.1.5.2.Обновляемые и не обновляемые просмотры
Чтобы просмотру можно было применять операторы UPDATE, DELETE необходимо одновременное выполнение двух условий:
Просмотр должен формироваться из записей только одной таблицы;
Оператор SELECT просмотра не должен использовать агрегатных функций, режима DISTINCT, предложения HAVING, соединения таблиц, хранимых процедур и функций, определённых пользователем.
Чтобы в просмотр можно было добавлять записи оператором INSERT необходимо одновременное выполнение трёх условий:
В просмотр должен быть включен каждый столбец таблицы, имеющий атрибут NOT NULL ;
Просмотр должен формироваться из записей только одной таблицы;
Оператор SELECT просмотра не должен использовать агрегатных функций, режима DISTINCT, предложения HAVING, соединения таблиц, хранимых процедур и функций, определённых пользователем.