
- •Оглавление
- •Раздел 4. Проектирование реляционных баз данных. 113
- •Раздел 5. Определение структур данных и обслуживание баз данных. 114
- •Введение
- •Раздел 1. Основы теории баз данных Тема 1: Базы данных и информационные системы. Основные понятия.
- •Понятия базы данных и информационные системы.
- •Архитектура информационной системы.
- •Понятия базы данных и информационные системы.
- •Архитектура информационной системы.
- •Тема 2: Банки данных. Системы управления базами данных.
- •Банки данных. Основные компоненты системы.
- •Классификация субд.
- •Банки данных. Основные компоненты системы.
- •Классификация субд.
- •Раздел 2. Реляционная алгебра Тема1: Реляционная алгебра. Классические операции теории множеств.
- •Тема 2: Специальные операции теории множеств.
- •Раздел 3. Модели данных. Тема 1: Классические модели данных.
- •Сетевая модель представления данных.
- •Реляционная модель представления данных.
- •Элементы реляционной модели
- •Тема 2: Связывание таблиц. Целостность связей.
- •Основные виды связи таблиц.
- •Контроль целостности связей.
- •Характеристика видов связей
- •Раздел 4. Проектирование реляционных баз данных. Тема 1: Основные принципы проектирования баз данных.
- •2. Избыточное дублирование данных и аномалии
- •3. Формирование исходного отношения.
- •Тема 2: Метод нормальных форм
- •2. Выявление зависимостей между атрибутами
- •3. Нормальные формы
- •Тема 3: Метод сущность-связь. Этапы проектирования.
- •2.Этапы проектирования
- •3.Пример проектирования бд учебной части.
- •Тема 4: Правила формирования отношений.
- •2. Формирование отношений для связи 1:м
- •3. Формирование отношений для связи м:м
- •Раздел 5. Определение структур данных и обслуживание баз данных. Тема 1: Среда sql*Plus.
- •Функции.
- •2. Основные типы данных
- •3. Арифметические выражения
- •4. Операторы сравнения
- •5. Обработка неопределенных значений
- •6. Функции
- •7. Форматные модели
- •Тема 2: Структуры данных. Создание таблиц.
- •Создание таблиц.
- •3. Создание таблиц
- •Тема 3: Изменение таблиц и ограничений
- •Добавление и изменение столбца.
- •Изменение ограничений.
- •Удаление таблицы. Изменение имени таблицы и добавление комментариев.
- •Тема 4: Операции с ограничениями.
- •Тема 5: Манипулирование данными.
- •1. Вставка новых строк в таблицу
- •2. Копирование строк из другой таблицы
- •3. Обновление строк в таблице
- •4. Удаление строк из таблицы
- •Тема 6: Команда запроса данных. Простой запрос.
- •Тема 7: Сложные запросы.
- •Использование функций для работы с датами при организации запроса.
- •Тема 8: Группировка строк в запросе
- •2. Группы внутри групп.
- •3. Предложение having.
- •Тема 9: Подзапросы.
- •Подзапрос. Его назначение и синтаксис.
- •Однострочные и многострочные подзапросы.
- •Подзапрос. Его назначение и синтаксис.
- •2.Однострочные и многострочные подзапросы.
- •Тема 10: Выборка данных из нескольких таблиц.
- •2. Псевдонимы таблиц.
- •3. Дополнительные условия поиска.
- •4. Внешние соединения.
- •Select таблица.Столбец, таблица.Столбец
- •Тема 11: Создание, изменение и удаление последовательностей.
- •Создание последовательности.
- •2. Изменение и удаление последовательности.
- •3. Генерация значений последовательности.
- •Тема 12: Создание, изменение и удаление представлений.
- •Представления. Создание представлений.
- •Изменение и удаление представлений.
- •Представления. Создание представлений.
- •Изменение и удаление представлений.
- •Тема 13: «Индексы»
- •Понятие индекса. Необходимость использования.
- •Создание и удаление индексов.
- •1. Понятие индекса. Необходимость использования.
- •2. Создание и удаление индексов.
- •Тема 14: «Создание отчетов»
- •2. Форматирование number колонок.
- •3. Оформление Отчета пробелами и итоговыми строками.
- •4. Вычисление итоговых строк при изменении значения колонки.
- •5. Определение заголовков.
- •6. Установка размеров страницы
- •7. Сохранение и Печать Результатов Запроса
- •Тема 15: Управление транзакциями
- •Практикум Раздел 3. Реляционная алгебра.
- •Раздел 4. Проектирование реляционных баз данных.
- •Раздел 5. Определение структур данных и обслуживание баз данных.
- •Библиографический список
2. Создание и удаление индексов.
Индексы можно создать автоматически (при описании ограничений типа PRIMARY KEY или UNIQYE) или вручную как объект:
CREATE INDEX имя_индекса ON имя_таблицы (имя_столбца)
Пример 1:
CREATE INDEX Orderdate ON Orders(odate)
Определение индекса содержится в представлении словаря данных USER_INDEXES. Таблица USER_IND_COLUMNS содержат имя индекса, имя таблицы и имя столбца.
SELECT ic.index_name, ic.column_name, ic.column_position col_pos, ix.uniqueness
From user_indexes ix, user_ind_columns ic
WHERE ic.index_name=ix.index_name
AND ic.table_name=’имя_таблицы’
Поиск по индексу производится гораздо быстрее, чем поиск по таблице, так как индекс упорядочен и занимает меньше места.
Пример 2:
SELECT *
FROM Orders
WHERE Odate = ‘10/02/2000’
Если индекс существует, оптимизатор будет использовать его, когда он кажется полезным. Поэтому для использования индекса в самом запросе не надо делать никаких изменений.
Пример 3: Создание уникального индекса:
CREATE UNIQUE INDEX onlyonename
ON Salespeople(sname);
Удалить индекс можно с помощью оператора DROP INDEX имя_индекса
Пример 4:
DROP INDEX Orderdate;
Тема 14: «Создание отчетов»
Изменение заголовка колонки.
Форматирование NUMBER колонок.
Оформление Отчета пробелами и итоговыми строками.
Вычисление итоговых строк при изменении значения колонки.
Определение заголовков.
Установка размеров страницы
Сохранение и печать результатов запроса
1. Изменение заголовка колонки
Синтаксис:
COLUMN имя_колонки HEADING заголовок_колонки
Пример 1: Изменение заголовка comm на Commission:
COLUMN comm HEADING Commission
SELECT deptno, ename, sal, comm
FROM emp
WHERE job = 'менеджер';
Чтобы заменить заголовок колонки на два или более слова, нужно заключить новый заголовок в одиночные или двойные кавычки при вводе команды COLUMN. Для разделения имени колонки в несколько строк, используется вертикальная черта (|) там, где необходимо начать новую строку.
Пример 2: Присвоение колонке ENAME заголовка EMPLOYEE NAME и разделение нового заголовка на две строки:
COLUMN ename HEADING 'Employee|Name'
Чтобы заменить символ подчеркивания заголовка каждой колонки, установите переменную UNDERLINE команды SET и укажите новый символ подчеркивания. (Это может быть *, =,…)
SET UNDERLINE =
Чтобы восстановить символ подчеркивания, необходимо указать в команде SET знак тире в кавычках, иначе SQL воспримет тире как символ переноса и будет ожидать продолжения команды на следующей строке.
SET UNDERLINE '-'
2. Форматирование number колонок.
Можно задавать разные форматы для колонок типа NUMBER, используя модель формата в команде COLUMN. С помощью модели формата задают вид колонок при печати, для представления цифр используется 9.
Команда COLUMN указывает колонку, которую необходимо форматировать, и используемую модель, как показано ниже:
Синтаксис:
COLUMN имя_колонки FORMAT модель
Модели форматов используются, чтобы добавить запятые, знак доллара, угловые скобки, ведущие нули и числа форматируемой колонки. Также можно подвергать числа округлению, выводить знак числа справа (обычно он выводится слева), выводить числа в экспоненциальной форме.
Чтобы использовать одну форматную модель для одной колонки, нужно объединить модель в одной команде COLUMN.
Чтобы вывести значение столбца SAL со знаком доллара, запятой и нулями вместо пробелов для любого нулевого значения, можно использовать следующую команду:
COLUMN sal FORMAT $99,99
Замечание: Модель формата действует до тех пор, пока вы не введете новый, не сбросите формат колонки или не покинете SQL*PLUS.
Сбросить формат колонки можно с помощью следующей команды:
COLUMN sal FORMAT A10
Чтобы сбросить атрибуты вывода у колонки (восстановить значения по умолчанию), используется параметр CLEAR команды COLUMN:
COLUMN имя_колонки CLEAR
Для сброса атрибутов у всех колонок используется параметр COLUMN команды CLEAR.
Чтобы сбросить атрибуты вывода у всех колонок к их значениям, вводится следующая команда:
CLEAR COLUMNS
Для проверки того, что уже введенные команды COLUMN не влияют на результаты ваших запросов, необходимо поместить команду CLEAR COLUMNS в начало командного файла.
Можно подавить и восстановить атрибуты вывода, которые были назначены определенной колонке. Для подавления атрибутов колонки вывода колонки, используется команда COLUMN в следующем формате:
COLUMN имя_колонки OFF
Фраза OFF сообщает SQL*PLUS, что необходимо использовать атрибуты вывода для данной колонки определенные по умолчанию, но сами атрибуты вывода удалять не надо. Для восстановления атрибутов необходимо ввести команду COLUMN с фразой ON:
COLUMN имя_колонки ON
Чтобы напечатать строку из тире после каждой записи, необходимо ввести следующие команды:
SET RECSEP EACH
SET RECSEPCHAR '-'
COLUMN loc FORMAT A7 WORD_WRAPPED
SELECT * FROM DEPT;
Перед тем как продолжить работу необходимо установить RECSEP в состояние OFF, чтобы подавить печать разделителя записей:
SET RECSEP OFF