DDL и объекты схемы — Итоги

Объекты БД

  • Некоторые объекты содержат данные, главные это таблицы и индексы.
  • Программные объекты такие как хранимые процедуры и функции это исполняемый код
  • Представления и синонимы это объекты которые предоставляют доступ к другим объектам
  • Талблица это двумерная структура данных, хранящая строки с определёнными столбцами
  • Таблица существует в схеме. Имя схема с именем таблицы организуют уникальный идентификатор

 

Типы данных

  • Самые часто используемые типы данных это VARCHAR2, NUMBER и DATE
  • Существует много других типов данных

 

Создание простой таблицы

  • Таблицы могут создаваться из ничего или используя подзапрос
  • После создания столбцы могут добавляться, изменяться и удаляться
  • Определение столбца может включать значение по умолчанию

 

Создание и использование временных таблиц

  • Строки во временной таблице доступны только для сессии которая их добавила
  • DML надо временными таблицами не генерируют данных для отмены изменений
  • Временные таблицы существуют только в PGA сессии или во временных сегментах
  • Временная таблица может хранить данные всё время жизни сессии или только время действия транзакции, в зависимости от того как она была создана

 

Ограничения

  • Ограничения могут определяться в момент создания таблицы и добавляться позже
  • Ограничения могут определяться в строке определения столбца или после определения столбцов
  • Ограничения табличного-уровня могут быть более гибко настраиваемы чем ограничения создаваемые в строке определения столбца
  • Таблица может иметь только один первичный ключ но много ограничений уникальности
  • Превичные ключ функционально равен ограничению уникальности вместе с ограничением обязательности
  • Ограничение уникальности не предотвращает от возможности вставки нескольки строк со значением NULL
  • Внешний ключ определяет отношения между таблицами

 

Индексы

  • Индексы необходимы для работы ограничений уникальности и первичных ключей
  • Значени NULL не влючается в B* Tree индекс, но включается в bitmap индекс
  • B* Tree индексы подходят для столбцов с высокой мощностьб, битмап индексы – для столбцов с маленькой мощностью
  • B* Tree индекс может быть уникальным или неуникальным, что определяет возможность хранить дубликаты в значении ключа
  • Bitmap индексы могут быть составными, основанными на функции, и сортированными; B* Tree индексы в добавок к этим свойствам так же ещё могут быть уникальными, сжатыми и обратными

 

Представления

  • Простые представления используют одну (базовую или детальную) таблицу и не используют ни функции ни аггрегацию
  • Сложные представления основаны на команде SELECT вне зависимости от сложности запроса
  • Представления это объекты схемы. Для использования представления из другой схемы, имя представления должно предваряться именем схемы
  • К представлениям можно писать запросы как будто это таблицы
  • Предстваления можно объединять с другими представлениями или таблицами, их можно аггрегивароть и в некоторых случаях использовать для DML команд
  • Представления существуют только как конструкции в словаре данных. Когда вы выполняете запрос к представлению запрос-основа всегда выполняется

 

Синонимы

  • Синонимы это псевдоним для представления или таблицы
  • Частные синонимы это объекты схемы; общие синонимы существуют вне пользовательской схемы и могут использоваться без указания схемы в уникальном идентификаторе
  • Синонимы используют тоже пространство имен что и представления и таблицы

 

Сиквенсы

  • Сиквенсы генерируют уникльные значения – до тех пор пока MAXVALUE или MINVALUE и CYCLE не указаны
  • Увеличение значения сиквенса не может подтверждаться или отменяться
  • Любая сессия может увеличить значение сиквенса путём запроса следующего значения. Также возможно получить текущее (последнее использованное) значение для текущей сессии но не последнее сгенерированное значение.

Добавить комментарий