- •Конспект лекций не официальный, возможны ошибки! Еремеев н.Б.
- •Распределенная база данных
- •Пример транзакции
- •Пример рбд
- •Прямые и косвенные соединения
- •Объекты: схемы и именования в рбд
- •Удаленные и распределенные предложения
- •Прозрачность в системе рбд
- •Архитектура рбд Oracle
- •Прозрачность в рбд. Прозрачность местоположения.
- •Прозрачность транзакций.
- •Прозрачность дублирования.
- •Разрешение имен в рбд
- •Снимки.
- •Двухфазный commit.
- •Фаза подготовки.
- •Фаза подтверждения
- •Создание точки подтверждения.
- •Проектирование распределенных приложений.
- •Уникальность имен.
- •Последовательности в распределенных транзакциях.
- •Обработка ошибок в удаленных процедурах.
- •Разрешение проблем распределенных транзакций
- •Снимки. Управление ими.
- •Спецификация определяющего запроса снимка (as ...).
- •Порядок создания снимков и их журналов:
- •Альтернативы снимкам.
- •Дублирование таблиц с помощью триггеров:
- •Создание триггера
- •Управление снимками
- •Создание снимков
- •Установление параметров памяти для снимков.
- •Конфигурирование автоматических обновлений
- •Ручное обновление снимков.
- •Связь между декларативными ограничениями и снимками.
- •Управление журналами снимков.
- •Внутренняя реализация журнала снимка.
- •Удаление журнала снимков.
- •Управление распределенными бд администратором.
- •Принципы простроения глобального имени бд:
- •Безопасность бд.
- •Характеристики и квоты различных табличных пространств.
- •Ресурсные лимиты и профили пользователей.
- •Лицензирование.
- •Привилегии и роли.
- •Защита таблиц.
- •Защита обзоров:
- •Усиление защиты таблиц через обзоры:
- •Защита процедур.
- •Табличные пространства и файлы данных Файлы данных
- •Табличное пространство
- •Объекты табличного пространства
- •Блок данных
- •Экстенты
- •Сегменты
- •Копирование и восстановление баз данных
- •Рекомендации по копированию баз данных.
- •Стратегии копирования Стратегии копирования в режиме no archive log
- •Стратегии копирования в режиме archive log
- •Процедуры копирования.
- •Процедура полного копирования базы данных
- •Восстановление
- •Опции предложений Audit и NoAudit.
- •Дополнительные опции по аудиту предложений:
- •Включение аудита
- •Выключение аудита.
- •Контролирование роста и размера аудиторского журнала.
- •Защита аудиторского журнала
- •Аудит с помощью триггеров
- •Поддержка национальных языков.
- •Лингвистическая сортировка.
- •Перекрытие стандартных умолчаний.
- •Форматы чисел и дат.
- •Объекты в Oracle.
- •Атрибуты
- •Сравнение объектов
- •Синтаксис объявления типов
- •Объявление и инициализация объектов
- •Вызов методов
- •Хранение объектов в бд
- •Использование оператора select
- •Вставка объектов
- •Обновление объектов
- •Удаление объектов
Перекрытие стандартных умолчаний.
NLS_DATE_FORMAT – умалчиваемый формат данных.
NLS_DATE_LANGUAGE – указывает умалчиваемый язык для дат.
NLS_NUMERIC_CHARACTERS – задает десятичный и групповой разделитель в числе (для США 1,000 – это тысяча, для СНГ 1,000 – это единица).
NLS_CURRENCY – местный символ валюты.
NLS_ISO_CURRENCY – международный символ валюты.
NLS_SORT – последовательность сортировки.
Параметр NLS_DATE.
Чтобы задать параметр NLS_DATE_FORMAT, нужно выполнить команду ALTER SESSION или включить в строку специализации (NLS_DATE_FORMAT='DD-RM-YY' – в этом случае на первом месте – день, на втором – месяц римскими цифрами, на третьем – две последние цифры века).
Чтобы задать параметр NLS_DATE_LANGUAGE, нужно команду ALTER SESSION или включить в строку специализации (NLS_DATE_LANGUAGE=FRENCH).
Пример:
SELECT TO_CHAR (sysdate, 'Day:DD Month YYYY') FROM dual;
Результат: Mercredi: 13 Fevrier 2000.
Oracle позволяет вывести число прописью только на английском языке (13 - Thirteenth , а не тринадцатое).
Параметр NLS_NUMERIC_CHARACTERS.
Перекрывает те параметры, которые были заданы в NLS_TERRITORY.
Десятичный разделитель отделяет целую часть числа от дробной; групповой разделитель (символ, возвращаемый маской формата G) отделяет тысячи, миллионы и т.д.
Пример:
NLS_NUMERIC_CHARACTERS=',.' – в качестве десятичного разделителя используется запятая, в качестве группового – точка.
Оба разделителя должны быть одиночными символами. Любой из них может быть пробелом. Если десятичный разделитель отличен от точки, или если используется групповой разделитель, то числа, которые появляются в предложениях SQL должны заключаться в апострофы.
Пример:
INSERT Into Sizes(ItemId, Width, Quantity) values (618, '45,5', to_Number ('1.234','9G999'));
Параметр NLS_CURRENCY
Специфицирует строку символов, возвращаемую числовой маской формата L и обозначающую местный символ валюты. Перекрывает значение, определенное параметром NLS_TERRITORY.
Пример:
NLS_CURRENCY='Грн'
SELECT To_Char(Total, 'L099G999D99') "TOTAL" from ORDERS where CustNo=586;
Результат
TOTAL
Грн 12.673,49
Изменить это значение можно в реестре, в файле инициализации (Config.ora) или с помощью команды ALTER SESSION.
Параметр NLS_SORT
Специфицирует тип сортировки, используемой для символьных данных. Перекрывает значения, заданные неявно параметром NLS_LANGUAGE.
Пример:
NLS_SORT={BINARY,'имя'}, где BINARY – бинарная сортировка (по принципу кода), 'имя' - лингвистическая сортировка (в соответствии с алфавитом).
Форматы чисел и дат.
Используются в функциях To_Char, To_Date и To_Number.
Формат дат
RM, rm – возвращает месяц в форме римского числа;
MM, mm - возвращает месяц в форме числа;
Mon, Month – название месяца (сокращение или полное название);
dd – возвращает день в числовой форме;
ddspth – возвращает день в прописной форме;
Dy - поддерживает сокращение названий дней;
Day – название дня недели.
Соглашения в нумерации недель и дней
Номер недели, возвращаемый маской формата WW вычисляется согласно алгоритму INT( (day-jan1) / 7 ). Этот номер недели не соответствует формату ISO, поэтому используют формат IW.
Формат годов
Форматы ISO I, IY, IYY, IYYY
Форматы в Oracle Y, YY, YYY, YYYY
Для 1989 года результат: 9 89 989 1989
Числовые форматы
D – возвращает десятичный разделитель;
G – возвращает групповой разделитель;
L – возвращает местный символ валюты;
C – возвращает международный символ валюты;
RN – возвращает число римскими цифрами.
Для римских числительных можно специфицировать как прописные (RN), так и строчные (rn) начертания: IX или ix. Диапазон выводимых римских чисел 1..3999.
