Oracle SQL

Фильтр по тегу: create table


Фрагментация, секционирование – partition. О фрагментации таблиц. Часть первая.

Фрагментация (секционирование) это

Чалышев М.М www.orasource.ru
изучаем SQL группа в контакте - присоединяйтесь

Подари, продай, обменяй - множество недорогих и отличных вещей объявления вместо AVITO - ВКонтакте

разделение таблицы или индекса на несколько логически связанных частей , фрагментов, секций с неким общим признаком.
Допустим , то есть у нас есть таблицы начислений , мы разбиваем эту таблицу на множество секций , например по начислениям за каждый месяц

Кому и зачем это нужно? Вопрос с секционированием таблиц, тесно связан с другим важным вопросом , вопросом масштабируемости проекта.

С помощью фрагментации появляется возможность управления фрагментами(секциями) в больших таблицах, то есть часть не нужных нам данных в текущий момент можно перенести на сторонний носитель.

Оставить для работы , для оптимального доступа к данным, только лишь необходимые нам в сейчас секции таблицы.
Так же очень часто возникает необходимость быстрого построения индекса по заданному фрагменту , а не по всей таблице , для решения данных задач в Oracle используется фрагментация.

Итак, для демонстрации перечисленных возможностей фрагментации подготовим небольшой тестовый пример
Для выполнения данного примера нам потребуется войти под пользователем с правами администратора .
читать дальше...


Создание таблиц - краткий обзор

Чалышев М.М www.orasource.ru ; резюме автора

изучаем SQL группа в контакте - присоединяйтесь
Подари,продай, обменяй - множество недорогих и отличных вещей объявления вместо AVITO - ВКонтакте

Нашел вот такую статью, показалась интересной - перевел, и внес некоторые корректировки
Это некий краткий - на одну страницу, обзор с примерами на тему - создание таблиц в oracle
Чтобы пользователь мог создать таблицу он должен обладать соответствующей системной привилегией create table.
Кроме того в дисковом пространстве должно быть достаточно места для создания таблиц.
Стандартная heap таблица
Рассмотрим пример создания простой таблицы
create table t (
  a number,
  b varchar2(10)
)

Так же можно создать таблицы ограничение первичный ключ
create table orders (
  order_id number,
  order_dt date,
  cust_id  references customer
  constraint pk_orders (order_id) using index tablespace ts_idx
)


читать дальше...
добавлено: 13 июн 13 просмотры: 26542, комментарии: 1



Задача с валютами

Чалышев М.М www.orasource.ru ; резюме автора

Исходные данные
-- есть таблица в с номером валюты, датой заполнения курса, курсом валюты
-- оператор вводит курс валюты, когда он поменялся , то есть если несколько дней подряд одинаковый курс - то, в таблице будет единственное значение курса на дату изменения
-- необходимо вывести курс валюты на заданную дату , по каждой валюте
-- если на данную дату нет курса тогда выводится курс на последнюю дату, если в заданную дату курс менялся несколько раз , то надо вывести все изменения
-- Подготовим данные для примера
-- создадим таблицу с валютами
create table cratio as
(
  select 
    trunc(sysdate-dbms_random.value*10) ddate -- случайная дата отдаленная от текущего числа на случайное количество дней
  , trunc(dbms_random.value*3+1)  currency -- случайный номер валюты - идентификатор от 1 до 3
  , trunc(dbms_random.value*10) ratio  -- курс валюты от 1 до 10
     from dual
  connect by level <= 30)

читать дальше...
добавлено: 19 ноя 12 просмотры: 2320, комментарии: 7



Временные таблицы в Oracle

GLOBAL TEMPORARY

Чалышев М.М www.orasource.ru изучаем SQL группа в контакте - присоединяйтесь

Внимание!!! ТОЛЬКО ДЛЯ АЙТИшников скидка на проживание в одном из моих мини отелей 20%
пишите в личку ,если собираетесь в Москву или Питер vk.com/piterstylehostel vk.com/moscowstylehostel

Что же такое временные таблицы, и зачем они нужны?
Давайте разберемся...
Временные таблицы используются в Oracle для хранения данных, которые относятся к одной сессии или одной транзакции.
Причем применение Oracle временных таблиц существенно отличается от применения временных таблиц в том же MS SQL. ORACLE временная таблица это тот же DDL обьект со всеми ограничениями , в MS SQL подобных ограничений нет.
итак подробнее
читать дальше...
добавлено: 14 окт 12 просмотры: 25908, комментарии: 0