Задание 2. Создание политик секционирования и связанных с ними деталей
В Database Administration Console нам нужно теперь создать политику секционирования, реализующую подсекционирование list-list для таблицы Customer. Затем создадим политику секционирования, реализующую подсекционирование list-range для таблицы Order.
Таблица |
Свойства политики секционирования |
Customer | Policy name: Customer
Table: Customer Default data area: CustomerData1 Default index area: CustomerIndex1 Default LOB area: CustomerData1 Object allocation rule: Immediate Fields: Country, Salesrep Index: CountrySalesrepLocalIdx |
Order | Policy name: Order
Table: Order Default data area: OrderData1 Default index area: OrderIndex1 Default LOB area: OrderData1 Object allocation rule: Immediate Fields: Carrier, OrderDate Index: CarrierOrderDateLocalIdx |
- Находясь в Database Administration Console, подключитесь к базе данных sportsco:
- Перейдите в меню Database Administration -> Go to Database Administration. Откроется вкладка Database Administration со списком доступных подключений.
- Щёлкните по подключению sportsco.
- В секции Storage Management щёлкните по ссылке Create partition policy. Откроется мастер создания политики секционирования Create Table Partition Policy:
- Создайте политику секционирования для таблицы Customer, которая реализует подсекционирование list-list:
- В поле Policy name введите Customer.
- В поле Table щёлкните по иконке поиска и выберите из списка таблицу Customer.
- В поле Default data area щёлкните по иконке поиска и выберите область хранения CustomerData1.
- В поле Default index area щёлкните по иконке поиска и выберите область хранения CustomerIndex1.
- В поле Default LOB area щёлкните по иконке поиска и выберите область хранения CustomerData1.
- В качестве правила размещения объектов выберите Immediate.
- Щёлкните по кнопке Next.
- Щёлкните по кнопке Add field from index и выберите индекс CountrySalesrepLocalIdx. Убедитесь, что поля Country и Salesrep появились в области Partition fields, а в области Partition aligned indexes появился индекс CountrySalesrepLocalIdx.
- Установите флажок в столбце Local для индекса CountrySalesrepLocalIdx в области Partition aligned indexes.
- Щёлкните по кнопке Next и на открывшейся странице щёлкните по кнопке Load Details.
Вы должны увидеть сообщение о том, что обнаружено 23 детали политики секционирования. - Щёлкните по кнопке Next. На следующей странице убедитесь, что 23 детали политики секционирования были созданы.
- Щёлкните по кнопке Finish для сохранения политики секционирования. Откроется страница Table Partition Policies, где в списке имеющихся политик должна быть политика секционирования с именем Customer.
- В таблице Order есть записи, у которых поле Carrier имеет пустое значение, выполните программу popVals.p, чтобы заполнить эти поля:
- Откройте командную строку PROENV.
- Перейдите в каталог C:\OpenEdge\WRK\tablepartitioning:
- Выполните команду:
mpro sportsco –p popvals.p
Код программы popVals.p:
FOR EACH order : IF carrier EQ "" THEN carrier = "Standard Mail". END. QUIT.
- Создайте политику секционирования для таблицы Order, которая реализует подсекционирование list-range:
- На странице Table Partition Policies щёлкните по кнопке New. Откроется мастер создания политики секционирования Create Table Partition policy.
- В поле Policy name введите имя политики Order.
- В поле Table щёлкните по иконке поиска и выберите из списка таблицу Order.
- В поле Default data area щёлкните по иконке поиска и из списка областей хранения выберите OrderData1.
- В поле Default index area щёлкните по иконке поиска и из списка областей хранения выберите OrderIndex1.
- В поле Default LOB area щёлкните по иконке поиска и из списка областей хранения выберите OrderData1.
- В качестве правила размещения объектов выберите Immediate.
- Щёлкните по кнопке Next.
- Установите флаг Has range, тем самым указав, что применяется секционирование по диапазону.
- Щёлкните по кнопке Add fields from index и выберите индекс CarrierOrderDateLocalIdx. Убедитесь, что поля Carrier и OrderDate появились в области Partition fields, а в области Partition aligned indexes появился индекс CarrierOrderDateLocalIdx.
- Установите флаг в столбце Local для индекса CarrierOrderDateLocalIdx в области Partition aligned indexes.
- Щёлкните по кнопке Next и затем выполните анализ данных, щёлкнув по кнопке Load Details. На экране вы должны увидеть сообщение о том, что OpenEdge обнаружил 6 возможных секций.
- Щёлкните по кнопке Next. Убедитесь, что в таблице деталей появилось описание шести секций с правильными диапазонами дат.
- Щёлкните по кнопке Finish для сохранения политики секционирования. После успешного сохранения откроется страница Table Partition Policies, где в списке политик должна появиться политика секционирования Order.
- На странице Table Partition Policies щёлкните по кнопке New. Откроется мастер создания политики секционирования Create Table Partition policy.
Задание выполнено!