Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Болотская Методическое пособие по выполнению лабораторных 2010

.pdf
Скачиваний:
20
Добавлен:
16.08.2013
Размер:
551.51 Кб
Скачать

Пусть, например, требуется сконвертировать дату. Нажав F1 на коде «d», получим исчерпывающую информацию по этому коду и примеры их применения, которые представлены на рис. 3.8. Обращаем внимание, что внутреннее представление даты – целое число, причем нулю (0) соответствует 31 декабря 1967 г.

Важное качество разработанной «on-line» помощи состоит в том, что, выйдя на необходимую информацию и нажав F3, можно непосредственно проверить результаты, к которым приводит применение того или иного кода. Покажем это на примере конвертирования денежных сумм.

Данные

Код

Вывод

0

d

31 Dec 1967

1

d2-

01-01-68

-1

d-

30-12-1967

15342

d0

01 Jan

15342

d0-

01-01

15342

d

1 Jan 2010

19/05/2010

di

15480

15342

dj

1

15342

dm

1

15342

dma

January

15342

dq

1

15342

dw

5

15342

dwa

Friday

15480

d

19 May 2010

15342

d4y

2010

Рис. 3.8. Примеры кодов обработки, используемых для конвертирования дат из внутреннего представления во внешний

Денежные суммы во внутреннем представлении обычно выражаются в копейках или центах и при выводе должны быть соответствующим образом оформлены. Для этого используется код маски «m», к которому приписываются уточняющие факторы. Чтобы получить информацию по этому коду, нажимаем F1, а чтобы перейти к интерактивным примерам, затем нажимаем F3. В частности, видим пример:

41

Код

Сумма в центах

 

Вывод

mr2,$

123456

 

$1,234.56

В коде «mr2,$»: m – маска;

r – сдвиг вправо (число);

2 – точность (два знака после десятичной точки); , – разделитель целой части; $ – знак доллара.

Код маски обычно используется в атрибуте «outputconversion», чтобы оформить данные непосредственно перед выводом, так как в отформатированном виде их обрабатывать достаточно сложно.

3.3.Лабораторная работа 3. Разработка меню

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

Продемонстрируем разработку элементарного меню под назва-

нием «футбол» для системы «Футбольный чемпионат».

Формирование меню осуществляется командой:

:u md ‘футбол’

После кода команды «u» стоит имя файла, в котором будет храниться меню. В данном случае это «md», следовательно, меню с именем «футбол» хранится как запись в главном словаре счета (базы данных).

Вызов меню системы «Футбольный чемпионат» осуществ-

ляется командой:

:футбол

42

Внешний вид меню «футбол» представлен на рис. 3.9. В нем показаны четыре опции, которые выполняют команды, представленные в записи файла «md», показанной на рис. 3.10. Эта запись имеет ключ или идентификатор (Item ID в терминологии D3) ‘футбол’.

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

ФУ Т Б О Л Ь Н Ы Й Ч Е М П И О Н А Т

1)Список игр чемпионата

2)Очередная игра

3)Таблицы игр для команд

4)Таблица чемпионата

Enter number of choice, number? for Help, <Enter> to exit menu:

Рис. 3.9. Внешний вид меню «футбол»

md ‘футбол’ size = 250

01 me

02 Ф У Т Б О Л Ь Н Ы Й Ч Е М П И О Н А Т 03 Список игр чемпионата

Вы смотрите список игр чемпионата России! list Play by t1 by t2 id-supp

04 Очередная игра Результаты очередной игры чемпионата! u Play (c

05 Таблицы игр для команд Интегрированная информация по командам! u Team * (c

06 Таблица чемпионата Сводная таблица чемпионата!

list Team by-dsnd SochAW id-supp

Рис. 3.10. Запись файла md с ключом ‘футбол’ представляющая меню «футбол»

43

В первом поле записи стоит код меню «me», во втором – внешнее название меню, которое представлено строкой

«Ф У Т Б О Л Ь Н Ы Й Ч Е М П И О Н А Т».

Опции меню формируются, начиная с 3-го поля записи, которые являются многозначными и имеют три значения:

1)название опции;

2)комментарий к опции;

3)текст операции, выполняемой при выборе опции.

3.4.Лабораторная работа 4. Демонстрация работы многопользовательской системы

Выдача по опции 1 («Список игр чемпионата») меню

(рис. 3.11) выполняется по команде ACCESS-процессора:

:list Play by t1 by t2 id-supp

Page 1

Список игр чемпионата

Хозяин....

Гость.....Забил

Хозяин

Забил Гость

Динамо

Спартак

 

2

0

Динамо

Торпедо

 

2

3

Динамо

Ротор

 

3

2

Локомотив

Динамо

 

3

3

Локомотив

Спартак

 

3

2

Локомотив

Ротор

 

3

1

Спартак

Динамо

 

3

1

Спартак

Локомотив

 

3

1

Спартак

Торпедо

 

2

0

Спартак

Ротор

 

4

3

Торпедо

Динамо

 

2

3

Торпедо

Ротор

2

5

2

Ротор

Динамо

 

1

Hit any key to return to the Menu

Рис. 3.11. Выдача по опции «Список игр чемпионата»

В этой команде:

list – оператор ACCESS-процессора;

44

by t1 – сортировка по возрастанию по атрибуту t1;

by t2 – сортировка по возрастанию по атрибуту t2 в пределах t1;

id-supp – подавление выдачи идентификаторов записей. Список выдаваемых атрибутов в команде не указан. Он берется

из записи описания файла «Play».

Play NEW ITEM

 

ID_Play

127

Хозяин

Динамо

Гость

Локомотив

Забил Хозяин

2

Забил Гость

3

Play '127' size 21 filed.

Hit any key to return to the Menu

Рис. 3.12. Выдача по опции «Очередная игра»

TeamName ИгрD МячиD ОчкиD ИгрG МячиG ОчкиG ИгрW МячиW ОчкиW

Динамо

3

7:5

6

4

8:10

4

7

15:15

10

*

 

 

 

 

 

 

 

 

 

───────────────────────────────────────────────────────────

 

Счет

 

Очки

 

 

 

 

 

Игры дома

 

 

 

 

 

 

 

Спартак

 

2:0

 

3

 

 

 

 

 

Торпедо

 

2:3

 

0

 

 

 

 

 

Ротор

 

3:2

 

3

 

 

 

 

 

*

 

 

 

 

 

 

 

 

 

───────────────────────────────────────────────────────────

 

Счет

 

Очки

 

 

 

 

 

Игры в гостях

 

 

 

 

 

 

Локомотив

 

3:3

 

1

 

 

 

 

 

Торпедо

 

3:2

 

3

 

 

 

 

 

Ротор

 

1:2

 

0

 

 

 

 

 

Спартак

 

1:3

 

0

 

 

 

 

 

*

 

 

 

 

 

 

 

 

 

───────────────────────────────────────────────────────────

 

 

 

 

 

 

 

 

 

Team '1' size = 79 exited.

 

 

 

 

 

Hit any key to return to the Menu

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 3.13. Выдача по опции («Таблицы игр для команд»)

45

Выдача по опции 2 («Очередная игра») меню (рис. 3.12) выполняется по команде UPDATE-процессора:

:u Play (c

Фрагмент выдачи по опции 3 («Таблицы игр для команд»)

меню (рис. 3.13):

:u Team * (c

Team '1' size = 79

Выдача по опции меню 4 (рис. 3.14):

:list team by-dsnd SochAW id-supp

Page 1

Таблица

чемпионата

 

 

 

 

 

-----Дома----- ---В

гостях--- -В чемпионате-

TeamName Игры Мячи Очки Игры

Мячи Очки Игры Мячи Очки

Спартак

4

12:5

12

2

3:4

3

6

15:9

15

Динамо

3

7:5

6

4

8:10

4

7

15:15

10

Локомотив

3

9:6

7

1

1:3

0

4

10:9

7

Торпедо

2

7:5

3

2

3:4

3

4

10:9

6

Ротор

2

4:4

3

3

6:10

0

5

10:14

3

[405] 5 items listed

out of 5 items.

 

 

 

 

Hit any key to

return to the Menu

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 3.14. Выдача по опции («Сводная таблица чемпионата»)

3.5. Заключение по лабораторным работам

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

46

Списокрекомендуемой литературы

1.Системы управления полуструктурированными данными, http://www.osp.ru/os/1999/05-06/179837/_p1.html

2.СУБД D3 для пользователей, http://www.infologic.com

3.Vaskevitch D., Two Steps Forward, One Step Back, BYTE, May

1992.

47

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]