Слайд 22 способа создания базы
Создание базы с помощью специальных утилит и загрузка скрипта
с описанием структуры базы (рекомендуется для опытных пользователей)
Создание базы с помощью инструмента Data Dictionary (рекомендуется для начинающих пользователей)
Слайд 3Пример (скрипт с описанием структуры)
...
ADD SEQUENCE "Next-Ref-Num"
INITIAL 1
INCREMENT 1
CYCLE-ON-LIMIT
no
MIN-VAL 1
ADD TABLE "Customer"
AREA "Customer/Order Area"
DESCRIPTION "Customer information"
DUMP-NAME "customer"
TABLE-TRIGGER "CREATE" NO-OVERRIDE PROCEDURE "sports/crcust.p" CRC "?"
TABLE-TRIGGER "DELETE" NO-OVERRIDE PROCEDURE "sports/delcust.p" CRC "?"
TABLE-TRIGGER "WRITE" NO-OVERRIDE PROCEDURE "sports/wrcust.p" CRC "?"
ADD FIELD "Cust-Num" OF "Customer" AS integer
FORMAT ">>>>9"
INITIAL "0"
POSITION 2
MAX-WIDTH 4
VALEXP "cust-num > 0"
VALMSG "Customer number must be greater than zero"
ORDER 10
ADD FIELD "Name" OF "Customer" AS character
FORMAT "x(20)"
INITIAL ""
POSITION 3
MAX-WIDTH 40
...
Слайд 6Создание новой базы с кодировкой по умолчанию
Слайд 8
Создание empty-базы с кодировкой 1251
C:\Progress\OpenEdge\bin\prodb.exe empty1251 C:\Progress\OpenEdge\empty
C:\Progress\OpenEdge\bin\_proutil.exe empty1251 -C convchar
convert undefined -G 1
C:\Progress\OpenEdge\bin\_proutil.exe empty1251 -C convchar convert 1251 -G 1
Или взять готовую базу empty1251 (прилагается к презентации для версии 10.2B)
Слайд 9Создание новой базы с кодировкой, отличной от умолчания
Слайд 14Упражнение 1
Создайте таблицу STUDENT со следующими полями:
Слайд 15Назначение индексов
ускорение доступа к записи;
автоматическое упорядочение записей при выводе;
контроль за уникальностью значений;
ускорение
поиска соответствующих записей в связных таблицах.
Слайд 17Упражнение 2
Создайте следующие индексы для таблицы STUDENT:
Слайд 18Создание секвенций
Sequence Name - имя секвенции
Initial Value - начальное значение (по умолчанию
- 0);
Increment by - шаг секвенции (по умолчанию - 1);
Upper Limit - максимальное значение (по умолчанию - ?);
Cycle at Limit - является ли секвенция циклической.
Слайд 19Операторы и функции для работы с секвенциями
CURRENT-VALUE (name-seq) = n - оператор,
устанавливающий текущее значение секвенции равным n
NEXT-VALUE (name-seq) - функция, выдающая очередное значение секвенции (при этом изменяется текущее значение)
CURRENT-VALUE (name-seq) - функция, выдающая текущее значение cеквенции.
Слайд 20Упражнение 3
Создайте секвенцию S1 с начальным значением 0 и шагом 1. В
дальнейшем она будет использоваться для генерации номеров студентов в таблице student.
Слайд 21Триггеры
Триггеры уровня таблицы:
CREATE - добавление новой записи;
DELETE - удаление записи;
FIND -
чтение записи;
WRITE - изменение содержимого записи.
Слайд 22Триггеры
Триггер уровня поля:
ASSIGN - изменение содержимого поля.
Слайд 23Заполнение таблиц
Для работы с данными и для создания приложений в OPEN EDGE
существует специальный язык – ABL (доклады по нему будут позднее).
Есть альтернативный способ работы с данными – SQL DML.
Возможный инструмент – Procedure Editor.
Слайд 25Заполните таблицу STUDENT содержимым (не менее 10 записей).
Упражнение 4
Слайд 26Дампирование/загрузка структуры и содержимого таблиц
Слайд 29Содержимое файла sports.df
ADD SEQUENCE "Next-Cust-Num"
INITIAL 1000
INCREMENT 5
CYCLE-ON-LIMIT no
MIN-VAL
1000
ADD SEQUENCE "Next-Inv-Num"
INITIAL 1000
INCREMENT 1
CYCLE-ON-LIMIT no
MIN-VAL 1000
ADD SEQUENCE "Next-Ord-Num"
INITIAL 1000
INCREMENT 5
CYCLE-ON-LIMIT no
MIN-VAL 1000
ADD SEQUENCE "Next-Item-Num"
INITIAL 100
INCREMENT 10
CYCLE-ON-LIMIT no
MIN-VAL 100
ADD SEQUENCE "Next-Ref-Num"
INITIAL 1
INCREMENT 1
CYCLE-ON-LIMIT no
MIN-VAL 1
ADD TABLE "Customer"
AREA "Customer/Order Area"
DESCRIPTION "Customer information"
DUMP-NAME "customer"
TABLE-TRIGGER "CREATE" NO-OVERRIDE PROCEDURE "sports/crcust.p" CRC "?"
TABLE-TRIGGER "DELETE" NO-OVERRIDE PROCEDURE "sports/delcust.p" CRC "?"
TABLE-TRIGGER "WRITE" NO-OVERRIDE PROCEDURE "sports/wrcust.p" CRC "?"
.....
Слайд 32Содержимое файла state.d
"AK" "Alaska" "West"
"AL" "Alabama" "South"
"AR" "Arkansas" "Central"
"AZ" "Arizona" "West"
"CA" "California"
"West"
"CO" "Colorado" "West"
"CT" "Connecticut" "East"
"DC" "Dst of Columbia" "East"
"DE" "Delaware" "East"
"FL" "Florida" "East"
"GA" "Georgia" "East"
"HI" "Hawaii" "West"
"IA" "Iowa" "Central"
"ID" "Idaho" "West"
"IL" "Illinois" "Central"
"IN" "Indiana" "East"
"KS" "Kansas" "Central"
"KY" "Kentucky" "East"
"LA" "Louisiana" "Central"
"MA" "Massachusetts" "East"
"MD" "Maryland" "East"
"ME" "Maine" "East"
"MI" "Michigan" "East"
"MN" "Minnesota" "Central"
"MO" "Missouri" "Central"
"MS" "Mississippi" "Central"
"MT" "Montana" "West"
"NC" "North Carolina" "East"
"ND" "North Dakota" "Central"
"NE" "Nebraska" "Central"
"NH" "New Hampshire" "East"
"NJ" "New Jersey" "East"
"NM" "New Mexico" "West"
"NV" "Nevada" "West"
"NY" "New York" "East"
"OH" "Ohio" "East"
"OK" "Oklahoma" "Central"
"OR" "Oregon" "West"
"PA" "Pennsylvania" "East"