Paradox for Windows

Загрузить архив:
Файл: paradox.zip (42kb [zip], Скачиваний: 167) скачать

                      ОГЛАВЛЕНИЕ

      ВВЕДЕНИЕ...................................

      ОСНОВНЫЕ ПОНЯТИЯ...........................

      РАБОТА С СУБД PARADOX......................

      РАЗРАБОТКА СТРУКТУРЫ ТАБЛИЦЫ...............

      РАБОТА С ДАННЫМИ В ТАБЛИЦАХ................

      ЗАПРОСЫ....................................

      РАЗРАБАТЫВАЕМЫЕ ДОКУМЕНТЫ..................

      КРОССТАБЛИЦЫ И ГРАФИКИ.....................

      ОБМЕН ДАННЫМИ..............................

      ЗАКЛЮЧЕНИЕ.................................

      СПИСОК ЛИТЕРАТУРА..........................


                            - 2 -

                       I. ВВЕДЕНИЕ

     Опыт применения ЭВМ дляпостроенияприкладных  систем

обработки данных показывает,что самым эффективным инстру-

ментом здесь являются не универсальные алгоритмические язы-

ки высокого уровня, а специализированные языки для создания

систем управления данными. Такие средства обычно включаются

в состав СУБД,но они могут существовать и отдельно.СУБД

дают возможность пользователям осуществлять  непосредствен-

ноеуправление данными,а программистам быстро разрабаты-

вать более совершенные програмныесредстваих  обработки.

Характеристики   готовых  прикладныхпакетовопределяются

прежде всего принятой в СУБД организациейданныхи  типом

используемого транслятора.

     По способу установления связей между данными различают:

      - реляционную

      - иерархическую

      - сетевую модели.

     Реляционная модель является простейшей и наиболее  при-

вычной формой представления данных в виде таблицы. В теории

множеств таблице соответствует термин отношение (relation),

который и дал название модели. Для нее имеется развитый ма-

тематический аппарат - реляционное исчисление и реляционная

алгебра,где  длябаз данных (отношений) определены такие

хорошо известные теоретико-множественные операции, как объ-

единение, вычитание, пересечение, соединение и др.

     Достоинством реляционной модели является  сравнительная


                            - 3 -

простота инструментальных средств ее поддержки, недостатком

- жесткость структуры данных (невозможность,  например, за-

даниястрок таблицы произвольной длины) и зависимость ско-

рости ее работы от размера базы данных.Для многихопера-

ций, определенных в такой модели, может оказаться необходи-

мым просмотр всей базы.

     Иерархическая исетеваямодели  предполагаютналичие

связей между данными,имеющими какой-либо общий признак. В

иерархической модели такие связи могут быть отражены в виде

дерева-графа,где возможны только односторонниесвязи  от

старших вершин к младшим.Это облегчает доступ к необходи-

мой информации,но только если все возможные запросы отра-

жены в структуре дерева. Никакие иные запросы удовлетворены

быть не могут.

     Указанный недостатокснятв сетевой модели,где,  по

крайней мере теоретически,возможны связи "всех со всеми".

Поскольку на практике это,естественно, невозможно, прихо-

дится прибегать к некоторым ограничениям. Использование ие-

рархическойи сетевой моделей ускоряет доступ к информации

в базе данных.Но поскольку каждый элементданных  должен

содержатьссылки  на некоторые другие элементы,  требуются

значительные ресурсы как дисковой,так иосновной  памяти

ЭВМ.Недостаток основной памяти, конечно, снижает скорость

обработки данных.Кроме того, для таких моделей характерна

сложность реализации СУБД.

     Хотя известны попытки создания СУБД, поддерживающих се-

тевую модель для персональных компьютеров, в настоящее вре-

мя реляционные системы лучше соответствуютихтехническим

возможностям и вполне удовлетворяют большинство пользовате-

лей.Скоростные характеристикиэтих  СУБДподдерживаются

специальнымисредствами ускоренного доступа к информации -


                            - 4 -

индексированием баз данных.

     В наиболее полном варианте СУБД должна содержать следу-

ющие составные части :

        - Среда пользователя,дающая возможность непосредс-

          твенного управления данными с клавиатуры.

        - Алгоритмический язык для программирования приклад-

          ных систем обработки данных, реализованный как ин-

          терпретатор. Последнее позволяет быстро  создавать

          и отлаживать программы.

        - Компилятор для придания завершенной программе вида

          готового коммерческого подукта в форме независимо-

          го ЕХЕ-файла.

        - Программы-утилиты быстрого программирования рутин-

          ных операций (генераторы отчетов,экранов, меню и

          других приложений).

     Собственно СУБД - это оболочка пользователя.Ввиду то-

го, что такая среда ориентирована на немедленное удовлетво-

рение его запросов, это всегда система-интерпретатор.

     Наличие вСУБД языка программирования позволяет созда-

вать сложные системы обработки данных,  ориентированные под

конкретные задачи и даже под конкретного пользователя. Есть

также СУБД,которые имеют только язык и не имеютоболочки

пользователя.Они предназначены исключительно для програм-

мистов,и это системы компилирующеготипа.  Такиепакеты

лишь с оговорками могут быть названы СУБД.Обычно их назы-

вают просто компиляторами.

     Paradox (программный продукт фирмы Borland) - это приз-

нанныйлидер  нарынкена рынке систем управления базами

данных. В течение последних пяти лет (начиная с версии 3.0)

Paradoxпризнается  специалистамилучшей реляционной СУБД

для персональных компьютеров.


                            - 5 -

     В 1991году  Paradox 3.5 признается лучшей реляционной

СУБД и пользователями (премия журнала PC World  MAgazinза

1991 год). Свидетельством все возрастающего признания явля-

ется и то,что каждая третья СУБД, проданная в 1991 году в

США, - это Paradox.

     Многие экспертыприходят к выводу что технология обра-

ботки информации, на которой базируется Paradox, - это тех-

нология СУБД 90-х годов. Paradox фактически стал стандартом

СУБД для персональных компьютеров.

     Среди многочисленных особенностей Paradox выделяют уни-

кальное сочетание необычайной простоты и прозрачности с ог-

ромными возможностями функционально завершенной системы уп-

равления данными ( в этом и есть "парадокс"). И как резуль-

тат такогопарадоксального сочетания - мощнейшая СУБД под-

чиняется не толькопрофессиональномупрограммисту,  нои

пользователю, неимеющемуни  малейшегопредставленияо

программировании или обработке информации на компьютере.

     Paradox forWindows  - новыйпродуктфирмы Borland.

     Paradox for Windows версии 1.0 представляет собойуни-

кальный программныйпродукт,впитавший  всебяновейшие

программные технологии фирмы Borland. Прекрасный интерфейс,

визуальные средства проектирования таблиц,форм, запросов,

отчетов, полное использование графическихвозможностей MS

Windows 3.1(в  томчислевозможности работать с видео и

звуком), объектно ориентированный язык программирования Ob-

jectPal ивеликолепный  отладчик в сочетании с простотой и

наглядностью использования,делает Paradox for Windows не-

заменимым средствомсоздания широкого спектра приложений -

от простых однотабличныхформдо  сложныхраспределенных

программных комплексов,функционирующих в сети и обрабаты-

вающих большие объемы текстовой,графической, видео и зву-


                            - 6 -

ковой информации в реальном масштабе времени.

                 II. ОСНОВНЫЕ ПОНЯТИЯ

                  1. ОБЪЕКТЫ PARADOX

     Paradox предоставляетбольшой выбор способов хранения,

отображения и представления данных. Компоненты, которые ис-

пользуются для хранения и представления данных,  называются

объектами. В системе Paradox существуют следующие объекты :

таблица, форма,отчет, запрос, программа, библиотека прог-

рамм.

                     1.1. ТАБЛИЦЫ

     Paradox размещает данные в таблицах. Таблицы состоят из

рядов и колонок. Каждый ряд содержит всю доступную информа-

цию о конкретном предмете и называется "запись",  акаждая

колонка - одну категорию данных, называемую "полем".

               1.1.1. Типы полей в Paradox

     Paradox разделяет поля на несколько типов.  Каждыйтип

поля определяет вид данных, которое оно содержит.


                            - 7 -

┌──────────┬────────┬────────────────────────────────────┐

│ Тип Поля │ Размер │             Описание              │

├──────────┼────────┼────────────────────────────────────┤

│Алфавитно-│ 1-255│ Хранит буквы, числа, спецсимволы и │

│цифровое│        │любые другие печатные символы.      │

├──────────┼────────┼────────────────────────────────────┤

│ Числовое │Не нужен│ Хранит числа в диапазоне от -10^307│

│          │        │до 10^308 с 15 значащими цифрами.   │

├──────────┼────────┼────────────────────────────────────┤

│ Денежное │Не нужен│ Хранит числа в диапазоне от -10^307│

│          │        │до 10^308 с 15 значащими цифрами.   │

│          │        │ Денежные поля - абсолютно такие же,│

│          │        │как и числовые, нопри  отображении│

│          │        │форматируютсятаким  образом, чтобы│

│          │        │выделятьдесятичные позициисотен,│

│          │        │тысяч, миллионов и знак валюты.     │

│          │        │ Независимо от количества показанных│

│          │        │десятичныхпозиций, Paradox распоз-│

│          │        │нает до шести десятичных позиций при│

│          │        │выполнении внутренних вычислений над│

│          │        │денежными полями.                   │

├──────────┼────────┼────────────────────────────────────┤

│   Дата   │Не нужен│ Содержит любую допустимую дату от 1│

│          │        │января 100 до 31 декабря 9999. Para2-0│

│          │        │dox правильно обрабатываетвисокос-│

│          │        │ные годы и столетия и проверяетвсе│

│          │        │даты на допустимость                │

└──────────┴────────┴────────────────────────────────────┘


                            - 8 -

  ┌─────────┬────────┬────────────────────────────────────┐

│Короткое │Не нужен│ Содержит целые числа в диапазоне от│

│ целое   │        │-32767 до 32768. Короткое целое поле│

│         │        │не позволяет использовать те жеоп-│

│         │        │ции форматирования, чтои  числовое│

│         │        │поле.                               │

  ├─────────┼────────┼────────────────────────────────────┤

│Мемо   │1-240 в │ Содержит текст  переменной длиныи│

│         │.DB ф-ле│обычнослишком  длинный, чтобы хра-│

│         │ неогра-│ниться в алфавитно-цифровом поле.   │

│         │ничен в │ Поля мемо могут хранить буквы,числа│

│         │.MB ф-ле│и спецсимволы, любые печатные симво-│

│         │        │лы, а также символы перехода нано-│

│         │        │вуюстроку, возврата каретки и дру-│

│         │        │гие символы управления печятью.     │

│         │        │ Полямемо  могут бытьпрактически│

│         │        │любойдлины.  Значениезадаваемого│

│         │        │размера относится к части мемо-поля,│

│         │        │которая хранится в таблице. Онамо-│

│         │        │жет быть от 1 до 240 символов.      │

│         │        │ Оставшуюся часть мемо-поляParadox│

│         │        │хранит вне таблицы в файле срасши-│

│         │        │рением .МВ. Paradox считывает данные│

│         │        │из файла .МВ когдалистается запись│

│         │        │в таблице. Количестводанных, кото-│

│         │        │роеможет  содержаться в этомполе│

│         │        │ограничено только доступным дисковым│

│         │        │пространством.                      │

  └─────────┴────────┴────────────────────────────────────┘


                            - 9 -

   ┌────────┬────────┬────────────────────────────────────┐

   │Формати-│1-240 в │ Форматированноемемо-поле не отли-│

   │рованное│.DB ф-ле│чается отмемо-поля кроме того, что│

   │ мемо   │неогра- │что в нем можно хранить отформатиро-│

   │        │ничен в │ванный текст.                       │

   │        │.МВ ф-ле│ Paradox распознает и хранитнаряду│

   │        │        │с данными атрибуты текста(оформле-│

   │        │        │ние различными цветами, стили, цвета│

   │        │        │и размер букв), а также и формат па-│

   │        │        │раграфов (позиции табуляции, отступы│

   │        │        │и выравнивания).                    │

   ├────────┼────────┼────────────────────────────────────┤

   │Двоичный│1-240 в │ Содержит данные, которые Paradox не│

   │        │.DB ф-ле│может интерпретировать.Принято ис-│

   │        │неогра- │пользовать двоичные поля дляхране-│

   │        │ничен в │нениязвуковых  данных. Paradoxне│

   │        │.МВ ф-ле│можетотобразить илиинтерпретиро-│

   │        │        │вать двоичные данные, нопри помощи│

   │        │        │ObjectPAL можнок ним получать дос-│

   │        │        │туп.                                │

  ├────────┼────────┼────────────────────────────────────┤

   │ Графи- │-||-||-|│ Содержит графику (рисунки).        │

   │ ческий │        │                                    │

   ├────────┼────────┼────────────────────────────────────┤

   │OLE   │1-240 в │ Содержит объекты, помещенные в таб-│

   │        │.DB ф-ле│лицуиз других  приложений Windows,│

   │        │неогра- │которыеподдерживают   OLE(Object│

   │        │ничен в │Linking and Embedding - Связывание и│

   │        │.МВ ф-ле│ВстраиваниеОбъектов)  каксервер.│

   └────────┴────────┴────────────────────────────────────┘


                           - 10 -

     Задание размера поля для трех последних полей не обяза-

тельно.

                1.1.2. Типы полей dBASE

     Paradox позволяет создавать и использовать таблицы фор-

мата dBASEтакже просто,как и таблицы формата Paradox.

При использовании таблиц dBASE надо учитывать,что типы их

полей отличаются от типов полей Paradox-таблиц.

   ┌────────┬────────┬────────────────────────────────────┐

   │Тип поля│ Размер │            Описание                │

   ├────────┼────────┼────────────────────────────────────┤

   │Символь-│1-254 │ Хранит любой печатный символ (вклю-│

   │   ное  │        │чая пробелы).                       │

   ├────────┼────────┼────────────────────────────────────┤

   │Действи-│   1-20 │ Хранит численные данные в  двоичном│

   │тельное │        │формате с плавающей точкой.         │

   │ число│        │                                    │

   ├────────┼────────┼────────────────────────────────────┤

   │ Число│   1-20 │ Содержит числовыеданные в формате│

   │        │        │ВСD (Binary Coded Decimals). Привы-│

   │        │        │числении в них дают большую точность│

   ├────────┼────────┼────────────────────────────────────┤

   │Дата  │8     │ Содержит даты. Форматпо умолчанию│

   │        │(автома-│для ввода и отображения дат устанав-│

   │        │тически)│ливается в Windows Control Panel, но│

   │        │        │можно форматировать полядаты dBASE│

   │        │        │точно также, как и поля даты Paradox│

   │        │        │                                    │

   └────────┴────────┴────────────────────────────────────┘


                           - 11 -

   ┌────────┬────────┬────────────────────────────────────┐

   │Логичес-│Не нужен│ Содержит величины, имеющие значения│

   │кое   │        │Истинно или Ложно.                  │

   ├────────┼────────┼────────────────────────────────────┤

   │Мемо  │Не нужен│ Содержит   блокитекста,   слишком│

   │        │        │большие для того, чтобы хранить их в│

   │        │        │символьном поле. Содержимое мемо-по-│

   │        │        │лей хранитсяв  отдельном файле   с│

   │        │        │именемтаблицы  и расширением .DBT.│

   └────────┴────────┴────────────────────────────────────┘

                     1.1.3. BLOB-поля

     Мемо, форматированное мемо, графичeские, OLE и двоичные

поля могут содержать так называемые Двоичные Файлы  Больших

Объектов. К этой группе полей применимы определенные прави-

ла, поэтому они иногда собирательно обозначаютсякак BLOB-

поля. Мемо-поле dBASE таблицы также является BLOB-полем.

                 1.1.4. Временные таблицы

     При выполнениинекоторых операций Paradox создает вре-

менные таблицы,существующие до тех пор, пока пользователь

не меняетличный  каталогили не завершает сеанс работы с

Paradox.

     Paradox хранитвсе временные таблицы в личном каталоге

пользователя. Временные таблицы можно редактировать  иде-

лать к ним запросы так же, как и к другим таблицам.


                           - 12 -

   ┌────────┬─────────────────────────┬────────────────────┐

   │Имя   │       Содержимое        │ Создается во время │

   │        │                         │     операции       │

   ├────────┼─────────────────────────┼────────────────────┤

   │ Answer │ Результат запроса       │ Запрос             │

   ├────────┼─────────────────────────┼────────────────────┤

   │ Changed│ Копии   первоначального │ Запрос CHANGETO или│

   │        │содержания    измененных │операция добавления │

   │        │записей                  │Add                 │

   ├────────┼─────────────────────────┼────────────────────┤

   │Crosstab│ Кросстаблица│Создание кросстабли-│

   │        │                         │цы в форме          │

   ├────────┼─────────────────────────┼────────────────────┤

   │ Deleted│ Удаление записи         │ Запрос DELETE      │

   ├────────┼─────────────────────────┼────────────────────┤

   │ Errchng│ Записи, которые не могут│ Запрос CHANGETO    │

   │        │быть изменены│                    │

   ├────────┼─────────────────────────┼────────────────────┤

   │ Errdel │ Записи, которые не могут│ Запрос DELETE      │

   │        │быть удалены             │                    │

   ├────────┼─────────────────────────┼────────────────────┤

   │ Errins │ Записи, которые не могут│ Запрос INSERT      │

   │        │быть добавлены           │                    │

   ├────────┼─────────────────────────┼────────────────────┤

   │ Export │ Специальнаятаблица для│ Операция Export    │

   │        │экспортирования текстас│                    │

   │        │полями     фиксированной │                    │

   │        │длины                    │                    │

   └────────┴─────────────────────────┴────────────────────┘


                           - 13 -

   ┌────────┬─────────────────────────┬────────────────────┐

   │ Import │ Специальная таблицадля│ Операция Import    │

   │        │импортированиятекста с│                    │

   │        │полями     фиксированной │                    │

   │        │длины                    │                    │

   ├────────┼─────────────────────────┼────────────────────┤

   │Inserted│ Добавление записи       │ Запрос INSERT      │

   ├────────┼─────────────────────────┼────────────────────┤

   │ Keyvoil│ Записи сдублированным │ Изменение структуры│

   │        │значением ключевого поля │таблицы или операция│

   │        │                         │добавления   записей│

   ├────────┼─────────────────────────┼────────────────────┤

   │ Locks│ Все   активные  в данном│ File│Multiuser     │

   │        │сеансе работыс  Paradox│ Display│Locks      │

   │        │заблокированные записи   │                    │

   ├────────┼─────────────────────────┼────────────────────┤

   │ Pal$scr│ Списокисходныхкодов,│ Language│Browse    │

   │        │объектов, методов в форме│ Sources│

   ├────────┼─────────────────────────┼────────────────────┤

   │Problems│ Непреобразованные записи│ File│Utilities│    │

   │        │                         │Import   Restructure│

   ├────────┼─────────────────────────┼────────────────────┤

   │ Struct │Определения полей таблицы│Create  Restructure │

   └────────┴─────────────────────────┴────────────────────┘

                       1.2. ФОРМЫ

     Иногда более удобно работать с данными в отдельных  за-

писях, а не со всей таблицей целиком. Формы позволяют поль-

зователю видеть столько данных из таблицы, сколько он пред-


                          - 14 -

почтет. Приэтом  ихможно представлять в другом формате.

Если редактируются данные в форме, то Paradox обновляет со-

ответствующую информацию в таблице.

     Для создания форм с необходимойструктуройможно  ис-

пользовать средстваразработки Paradox.Paradox позволяет

отображать в форме несколько записей одной таблицы илиза-

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

                    1.3. ОТЧЕТЫ

     При работе с базами данных часто бывает нужнораспеча-

тать необходимуюинформацию.Paradox предоставляет мощные

средства генерации отчетов.Пользователь может сортировать

и группироватьзаписи,производить необходимые вычисления

над полями,а также упорядочиватьи  представлятьданные

практически в любом формате.

     При создании отчетов, также как и форм, доступны средс-

тва разработки Paradox. Используя их, можно сконструировать

необходимый вид отчета.А так как Paradox позволяет связы-

вать данные из разных таблиц, пользователь может легко соз-

давать сложные отчеты,использующие несколько таблицбазы

данных.

                   1.4. ЗАПРОСЫ

     Запрос в Paradox - это некий вопрос об информации в ба-

зе данных. При помощи запросов можно:

     - вести поиск или выбор данных в таблице;

     - комбинировать данные из нескольких таблиц;

     - производить вычисления над данными;

     - вставлять данные;


                           - 15 -

     - удалять данные;

     - изменять данные;

     - определять группы и наборы данных, над которыми будут

       производиться вычисления или сравнения.

     Paradox предоставляет простой,но гибкий и мощный спо-

соб создания запросов.В окне Query можно выбрать таблицы,

по которымможно  сделатьзапрос.Затем вводится образец

данных, удовлетворяющий условиям,аParadox  выбираетиз

таблицы те данные, которые соответствуют этому образцу. Это

называется Запрос По Образцу.

                     1.5. ПРОГРАММЫ

     Программы - этопоследовательность   команд  наязыке

ObjectPAL (языке разработкиприложенийParadox),  которые

позволяют автоматизировать выполнение определенной последо-

вательности действий над базой данных. Коды ObjectPAL обыч-

но "присоединяются"кобъектам форм,но можно написать и

отдельные программы,которые будут выполнятьсянезависимо

от какой-либо формы. Например, можно написать программу для

открытия определенной таблицы и выполнения  вычисленийнад

одним или более полями этой таблицы.Программы такого типа

запускаются непосредственно из основного окна Paradox, а не

в результате того,что произошло какое-либо событие, кото-

рое запустило на выполнение программу, присоединенную к не-

которому объекту формы.

     Paradox также позволяет создавать библиотекипрограмм.

Библиотека -это объект,  который может использоваться для

хранения команд ObjectPAL. Это дает возможность пользовате-

лю создавать процедуры,доступные различным формам,прог-

раммам и другим библиотекам.


                           - 16 -

               1.6. КОНСТРУКЦИОННЫЕ ОБЪЕКТЫ

     Кроме рассмотренных выше объектов Paradox предоставляет

набор такназываемых конструкционных объектов,при помощи

которых разрабатывается структура форм и отчетов.  Эти объ-

екты создаются при использовании специальных средств, нахо-

дящихся на SpeedBar, (линейке, расположенной в верхней час-

ти экранаи содержащей набор кнопок-иконок для вызова раз-

личных операций), и могут размещаться на документе, который

разрабатывает пользователь, будь то форма или отчет.

     В случае формы - страница, на которой пользователь раз-

мещает объекты,сама является объектом.Можно изменить ее

свойства, например,цвет,или присоединить кней  методы

(метод - это последовательность команд ObjectPAL, выполняю-

щая определенные действия).Методы, присоединенные к стра-

нице, могутначать  выполнятьсяпри открытии или закрытии

документа, при щелчке или двойном щелчке клавишей мыши  или

при выполнении другого события.

                 1.6.1. Текстовые объекты

     Текстовый объект - это объект,содержащий текст. Поль-

зователь может создать рамку,в которую можно будет помес-

тить текст. Текст может быть любой длины и любого формата.

     Чаще всего текстовые объекты используются для  размеще-

ния заголовковнаформатах и отчетах или для задания имен

полей и таблиц.

1.6.2. Прямоугольники, линии, эллипсы

     Прямоугольники, линии и эллипсы - это объекты,которые


                           - 17 -

могут размещаться в форме или отчете для придания документу

более привлекательного вида.Можно рисовать прямоугольники

или эллипсы вокруг полей или таблиц,использовать дополни-

тельные линии для того,чтобы указать на какую-либо важную

особенность в документе.

                    1.6.3. Поля

     Пользователь может размещать поля из таблиц в форме или

отчете. Приэтом используется инструмент Field на SpeedBar

для того, чтобы начертить рамку (границу поля), а затем за-

дать ему необходимые свойства. Можно определить объект типа

поле из уже существующей таблицыилисоздать  вычисляемое

или итоговое поле для выполнения действий над данными.

                    1.6.4. Таблицы

     Таблица - один из основных объектов Paradox. В разраба-

тываемых документах (формах или отчетах) можно использовать

инструмент Tableдлятого,  чтобысоздать столбцы и ряды

таблицы, а затем задать и саму таблицу с данными.В табли-

цах наэкранных формах и отчетах можно размещать поля и их

заголовки гораздо свободнее и разнообразнее,чем врежиме

просмотра и редактирования таблиц в окне Table.

                 1.6.5. Кросстаблицы

     Кросстаблица преобразуетданныеиз  структуры таблицы

базы данных в структуру,подобную электронной таблице. Она

подводит итоги по одному полю, группируя записи в этом поле

и основываясь назначенияходного  илинесколькихполей


                           - 18 -

(например, можноузнатьобъем продаж различных изделий по

месяцам). Кросстаблицы дают возможность анализировать  дан-

ные по одному или нескольким факторам.

    Например, пользователь хочет определить, в какие месяцы

клиенты предпочитают расплачиваться наличными, а в какие по

перечислению. Он может создать кросстаблицу,которая пока-

жет суммыотпуска  товаровпонакладным в каждом месяце,

сгруппированные по способам оплаты.

                     1.6.6. Графики

     Иногда более удобно анализировать и представлять инфор-

мацию в виде графиков и диаграмм.Paradox дает возможность

легко создаватьграфики.Можно изменять тип графика,его

строение и свойства.Paradox автоматически обновляетгра-

фик, еслиизменяются данные в таблице (даже если изменение

произошло при работедругогосетевого  пользователяэтой

таблицы.

               1.6.7. Многозаписные объекты

     Многозаписные объектыпредставляют собой повторяющиеся

поля нескольких записей.Пользователь задаетрасположение

одной записии  указывает,сколькораз  повертикалии

горизонтали повторяется этот образец.Многозаписный объект

позволяет отображатьодновременно несколько записей (как и

в таблицах) и так располагать поля,чтобы было удобно (как

в форматах).


                           - 19 -

                        1.6.8. Кнопки

     Кнопки - это объекты Paradox, которые можно размещать в

формах иприсоединять  кним методы ObjectPAL.Работая с

формой, можно щелкнуть мышью на кнопке для того,чтобы вы-

полнить действия,определяемыеприсоединенным методом.К

кнопке можно добавить любой текст илирисунок,поясняющий

ее значение.

     В форме можно разместить сколько угодно кнопок и присо-

единить к ним различные методы.Пользователь может присое-

динить к одной кнопке несколько различныхметодов,каждый

из которых активизируется отдельным событием.

                       1.6.9. Графика

     Графика -это графические образы,которые можно поме-

щать в поля графического типа Paradox-таблиц, или размещать

как независимый графический объект в форме или отчете.

     Рaradox может импортировать графику изфайловформата

.BMP,.EPS,  .PCX, .TIF, .GIF   или   из  буфера   Windows

Clipboard.

                      1.6.10. OLE-объекты

     OLE - технология связывания и встраивания объектов. Ис-

пользуя технологию OLE, можно создавать "контейнеры", кото-

рые будут содержать объекты из других приложений Windows.

     Так кактехнология OLE обеспечивает связь между табли-

цей и исходным файлом встроенного объекта, пользователь мо-

жет, щелкнувдважды мышью над этим объектом,запустить то

приложение, в котором был создан этот объект.


                           - 20 -

                1.7. ФАЙЛЫ ОБЪЕКТОВ PARADOX

     В таблице ниже приведены расширения файлов,вкоторых

Paradox хранит основные объекты.

  ┌──────────┬────────────────────────────────────────────┐

  │Расширение│Тип объектов                              │

  ├──────────┼────────────────────────────────────────────┤

│ .CFG     │ Файл конфигурации                          │

  ├──────────┼────────────────────────────────────────────┤

│ .DB      │ Paradox-таблица                            │

  ├──────────┼────────────────────────────────────────────┤

│ .DBF     │ dBASE-таблица                              │

  ├──────────┼────────────────────────────────────────────┤

│ .DBT     │ Файл мемо-поля dBASE-таблицы               │

  ├──────────┼────────────────────────────────────────────┤

│ .FAM     │ Список связанных файлов Paradox│

  ├──────────┼────────────────────────────────────────────┤

│ .FDL     │ Оттранслированная форма                    │

  ├──────────┼────────────────────────────────────────────┤

│ .FSL     │ Сохраненная форма                          │

  ├──────────┼────────────────────────────────────────────┤

│ .FTL     │ Временная форма                            │

  ├──────────┼────────────────────────────────────────────┤

│ .INI     │ Файл конфигурации системы                  │

  ├──────────┼────────────────────────────────────────────┤

│ .LDL     │ Оттранслированная библиотека               │

  ├──────────┼────────────────────────────────────────────┤

│ .LSL     │ Сохраненная библиотека                     │

  ├──────────┼────────────────────────────────────────────┤

│ .LTL     │ Временная библиотека                       │

  └──────────┴────────────────────────────────────────────┘


                          - 21 -

  ┌──────────┬────────────────────────────────────────────┐

│ .MB      │ Файл мемо-поля Paradox-таблицы             │

  ├──────────┼────────────────────────────────────────────┤

│ .MDX     │ Поддерживаемый индекс dBASE-таблицы        │

  ├──────────┼────────────────────────────────────────────┤

│ .NDX     │ Неподдерживаемый индекс dBASE-таблицы      │

  ├──────────┼────────────────────────────────────────────┤

│ .PX      │ Первичный индекс Paradox-таблицы           │

  ├──────────┼────────────────────────────────────────────┤

│ .QBE     │ Сохраненный запрос                         │

  ├──────────┼────────────────────────────────────────────┤

│ .RDL     │ Оттранслированный запрос                   │

  ├──────────┼────────────────────────────────────────────┤

│ .RSL     │ Сохраненный запрос                         │

  ├──────────┼────────────────────────────────────────────┤

│ .RTL     │ Временный запрос                           │

  ├──────────┼────────────────────────────────────────────┤

│ .SDL     │ Оттранслированная программа                │

  ├──────────┼────────────────────────────────────────────┤

│ .SSL     │ Сохраненная программа                      │

  ├──────────┼────────────────────────────────────────────┤

│ .STL     │ Временная программа                        │

  ├──────────┼────────────────────────────────────────────┤

│ .TV      │ Установка параметров Paradox-таблицы       │

  ├──────────┼────────────────────────────────────────────┤

│ .TVF     │ Установка параметров dBASE-таблицы         │

  ├──────────┼────────────────────────────────────────────┤

│ .VAL     │ Критерии допустимых значений и системы     │

│          │ ссылок Paradox-таблицы                     │

  └──────────┴────────────────────────────────────────────┘


                           - 22 -

  ┌──────────┬────────────────────────────────────────────┐

│ .Xnn     │ Вторичныйпростой  пронумерованныйиндекс│

│          │ Paradox-таблицы                            │

  ├──────────┼────────────────────────────────────────────┤

│ .Ynn     │ Вторичныйпростой  пронумерованныйиндекс│

│          │ Paradox-таблицы                            │

  ├──────────┼────────────────────────────────────────────┤

│ .XGn    │ Составной вторичный индекс Paradox-таблицы │

  ├──────────┼────────────────────────────────────────────┤

│ .YGn     │ Составной вторичный индекс Paradox-таблицы │

  └──────────┴────────────────────────────────────────────┘

                 2. ОСНОВЫ ПРЕДСТАВЛЕНИЯ ДАННЫХ

                         2.1. КЛЮЧИ

     Paradox поддерживаетдва типа формата таблиц - Paradox

и dBASE.При использовании таблиц Paradox-форматаследует

понимать, какработают ключи таблиц (dBASE тоже использует

индексы, но в dBASE нетпонятияпервичного  ключавтом

смысле, как в Paradox).

     Первичным ключом,который иногда называют простоклю-

чом, являетсяполе (или группа полей),содержащие данные,

однозначно идентифицирующие каждую запись в таблице.

     Значение ключа должно быть уникальным для каждой записи

таблицы. Таблица, у которой определен первичный ключ, назы-

вается индексированной.

     Ключ устанавливает порядок сортировки по умолчанию  за-

писей таблицы.Paradox сортирует записи таблицы на основа-

нии значений поля (полей - в случаесоставногопервичного


                           - 23 -

ключа), котороезадано как ключевое.Это позволяет быстро

находить записи по значению ключа и совершать другие опера-

ции над записями индексированной таблицы.

     Paradox допускаетпустое значение ключа только у одной

записи таблицы.Все последующие записи с пустымзначением

ключа считаютсязаписямис дублирующим ключом и в таблицу

не допускаются.

             2.1.1. Составной первичный ключ

     Можно задавать в качестве ключалибоотдельное  поле,

либо группу полей. Когда в качестве ключа определена группа

полей, его называют составным первичным ключом.

     Paradox недопускаетприсутствия  в таблице записей с

дублирующими значениями первичного ключа. В случае, когда в

таблице создан составной ключ,Paradox позволяет значениям

отдельных полей,составляющих первичный ключ, повторяться,

но только в тех случаях,когда набор значений полей,сос-

тавляющих ключ, остается уникальным для каждой записи. Дру-

гими словами, поля, составляющие ключ как целое, должны од-

нозначно идентифицировать запись.

     Например, таблица "Клиенты" может иметь несколько запи-

сей, имеющих значение поля "Фамилия" "Сидоров". Аналогично,

может быть   несколько  записейсозначением  поля"Имя"

"Петр". Ни одно из этих полей не идентифицирует запись  од-

нозначно. Нопредположим,  чтоих комбинация в упрощенном

случае (Петр Сидоров) уникальным образом идентифицирует за-

пись (то есть среди клиентов нет двух с одинаковыми фамили-

ей и именем). Тогда можно создать для этой таблиццы состав-

ной первичный ключ,состоящий из сочетания полей "Фамилия"

и "Имя".Конечно,этого может быть в реальномслучае  не


                           - 24 -

достаточно. Как правило,следует всегда включать в таблицу

достаточное количество полей, чтобы обеспечить уникальность

каждой записи таблицы.Если пользователь не может разумным

способом создатьсоставной ключ,в этой ситуации он может

определить поле идентификатора записи, которое имеет единс-

твенное значение для каждой записи таблицы.  Например,для

таблицы "Клиенты" можно ввести поле "Номер клиента",задав

каждому клиентууникальный (и в достаточной степени произ-

вольный) номер.

                    2.2. ИНДЕКСЫ

     Индекс определяет порядок, в котором Paradox имеет дос-

туп к записям таблицы.Как Paradox,так и dBASE позволяют

создавать у таблицы несколько индексов,  определяющихраз-

личные порядки доступа к записям.Но Paradox и dBASE рабо-

тают с индексами различным образом.

     Когда пользовательопределяет индекс,Рaradox создает

файл, содержащий значения индексированных полей и  порядко-

вые номера записей с этими значениями индекса.Paradox ис-

пользует индексный файл для определения местоположенияза-

писи в таблице по значению индекса.

     Индексы можно использовать для просмотра записей впо-

рядке, отличномотопределяемого  поумолчанию первичным

ключом или физическим порядком расположения записей (в слу-

чае отсутствия ключа).При этом пересортировки и изменения

физического порядка хранения записей в таблице не  происхо-

дит.


                           - 25 -

         2.2.1. Первичный индекс Paradox-таблицы

     Paradox упорядочивает записи в индексированной  таблице

в соответствии со значением поля (полей),являющегося клю-

чом таблицы. Этот порядок называется первичным индексом.

     По умолчанию все индексы (как первичные,так и вторич-

ные) упорядочивают и позволяют получить доступ к записямв

возрастающем порядкезначений( от А до Z или от 0 до 9).

Например, если в качестве индекса алфавитно-цифровое  поле,

записи будутупорядочены в естественном для каждого нацио-

нального языка порядке. Если этот индекс первичный - записи

с дублирующимися значениями недопустимы.

     В случае составногоключаParadox  создаетсоставной

первичный индекс,которыйупорядочивает записи сначала по

первому из полей,составляющихключ  (всоответствиисо

структурой таблицы),затем по следующему полю и так далее.

Причем значения отдельных полей ключа могут быть  одинаковы

для отдельныхзаписей,  носочетание полей в целом должно

быть уникальным.

         2.2.2. Вторичные индексы Paradox-таблицы

     Работая с таблицами в Paradox,можно использовать вто-

ричный индекс для того, чтобы задать альтернативный порядок

доступа и отображения записей.

     Вторичные индексымогут быть как автоматически поддер-

живаемые, так и неподдерживаемые системой Paradox  (первич-

ный индекс всегда поддерживаемый).Если индекс поддержива-

ем, то Paradox обновляет индексный файл всякий  раз,когда

изменяется таблица (редактируются значения полей, составля-

ющих этот индекс,добавляются или удаляются записи).Файл


                           - 26 -

неподдерживаемого индексанеобновляется  приизменениях

таблицы, но может быть открыт явным образом для использова-

ния. Paradox позволяет открыть только один неподдерживаемый

индекс одновременно.

     Вторичные индексы могут использоваться также для связы-

вания нескольких таблиц.

     Paradox допускает создание составного вторичного индек-

са, использующего группу полей таблиц.

          2.2.3. Индексирование dBASE-таблиц

     Хотя Paradoxподдерживаетиндексные файлы двух форма-

тов: .MDX и .NDX,рекомендуется использовать только формат

.MDX.

2.3. СИСТЕМА ССЫЛОК МЕЖДУ ТАБЛИЦАМИ

     Система ссылок обеспечивает соответствие множества зна-

чений поля или группы полей одной таблицы,  называемойдо-

черней, множествузначений первичного ключа другой таблицы

- родительской. Поля в дочерней таблице, по которым обеспе-

чивается связь таблиц в единую базу данных на основе значе-

ний ключа из родительской таблицы,называется заимствован-

ным ключом. Система ссылок предоставляет несколько способов

воздействия на значения заимствованных ключей во  всехдо-

черних таблицах при изменении значений ключа в родительской

таблице (поддержание системы ссылок  обеспечиваетсятолько

для Paradox-таблиц.

     Например, таблица "Заказы" имеет поле "Номерклиента".

Пользователь хочет быть абсолютно уверен,что любое значе-

ние этого поля представляетномер,который  былприсвоен


                           - 27 -

клиенту призанесении его в таблицу "Клиент", связанную с

таблицей "Заказы" по этомуполю.Чтобы  обеспечитьтакое

строгое соответствие (для того, чтобы не было счетов, выпи-

санных неизвестно кем), можно объявить поле "Номер клиента"

заимствованным, используюсвязьс ключом из таблицы "Кли-

ент". Тогда Paradox каждый раз,как только вводитсяновый

счет изаполняется и вводится в поле "Номер клиента" иден-

тификационный номер клиента,проверяет,допустимо ли  это

значение, и есть ли в базе данных клиент с таким номером.

    2.3.1. Каскадное обновление

     Предположим, что возникла необходимость изменит  значе-

ние ключав родительской таблице.Система ссылок позволит

автоматически изменить на новое значение все записи  вдо-

черней таблицес соответствующим значением заимствованного

ключа.

     Продолжая предыдущий пример, допустим, возникла необхо-

димость у какого-либо клиента в таблице  "Клиент"изменить

его идентификационный номер "Номер Клиента".Если при этом

не будет использоваться система ссылок, то все заказы в до-

черней таблице"Заказы"не  будутотслеживать изменения,

происходящие с данными о клиентах из таблицы "Клиент".При

использовании системыссылок Paradox самостоятельно произ-

ведет каскадное обновление соответствующих записей в табли-

це "Заказы". Paradox найдет все записи из таблицы "Заказы",

для которых значениезаимствованногоключа  совпадаетсо

значением ключа родительской таблицы "Клиент", и заменит их

на новое значение идентификационного номера клиента.


                           - 28 -

              3. ТЕРМИНЫ И ПОНЯТИЯ PARADOX

                    3.1. ПСЕВДОНИМ

     Псевдоним - это имя,которое можно присвоитькаталогу

DOS для краткости.Если пользователь работает с базой дан-

ных, состоящей из таблиц,текстовых файлов, форм, отчетов,

программ и графиков, находящихся в одном и том же каталоге:

C:PARADOXPRJNEWPLAN. Используядиалоговое  окноAlias

Manager, можно дать этой последовательности псевдоним.

     Использование псевдонимов дает следующие преимущества:

   - избавляетпользователя от необходимости печатать длин-

     ные имена каталогов DOS;

   - ссылкик файлам в формах,отчетах и подобных объектах

     Paradox могутиспользоватьимена  псевдонимоввместо

     указания полного пути доступа к ним;

   - в любой момент можно изменитьопределениепсевдонима.

     Тогда все формы,отчеты и другие объекты Paradox авто-

     матически будут ссылаться к файлам из другого каталога.

                  3.2. РАБОЧИЙ КАТАЛОГ

     Рабочий каталог Paradox - это каталог,содержащий таб-

лицы, с которыми пользователь работает в данный момент вре-

мени (соответствует текущему каталогу DOS). Рабочий каталог

Paradox определяет, какие файлы будут показаны в диалоговом

окне, которое открывается при использованиикоманды  меню

File|Open или File|Save.При инсталяции Paradox на отдель-

ной машине,не подключенной к локальной сети, Paradox соз-

дает каталогс  именем WORKING в своем системном каталоге.

Это рабочий каталог пользователя по умолчанию.


                           - 29 -

     Можно определить любой каталог в качестве рабочего. Pa-

radox присваивает рабочему каталогу псевдоним :WORK:, и ес-

ли этому каталогу был присвоен ранее другой псевдоним,Pa-

radox все равно будет использоватьдлярабочего  каталога

псевдоним :WORK:.

                   3.3. ЛИЧНЫЙ КАТАЛОГ

     В многопользовательской среде каждому пользователюне-

обходимо место для размещения временных объектов. Временные

таблицы, такие как,Answer или Inserted (создающиеся в ре-

зультате запросов) должны храниться в неразделяемом катало-

ге, иначе другой пользователь,работающийодновременно  и

запустивший позжена  исполнение запрос,может переписать

эти таблицы.В локальной сети каждый пользовательParаdox

должен задаватьсвой личный каталог для хранения временных

объектов.

     Файлы, содержащиесявличном  каталогепользователя,

будут показаны в диалоговом окне,котороепоявляется  при

выполнении командFile|Open или File|Save вместе с файлами

из рабочего каталога. Они располагаются в конце списка фай-

лов с префиксом :PRIV:и доступны только конкретному поль-

зователю.

     Задать личныйкаталогможно командой File|Private Di-

rectory. Parаdox присваивает ему псевдоним :PRIV:.

     При установке Parаdox на машине,не подключенной к се-

ти, личным каталогом по умолчанию будет  каталогсименем

PRIVATE в системном каталоге Parаdox.


                           - 30 -

                    3.4. ИНСПЕКТОР ОБЪЕКТА

     Каждый объект Parаdox содержит в себе меню.Дляболь-

шинства объектов Parаdox - таблиц, форм, запросов - это ме-

ню содержит команды (такие как View, Design, Run). В случае

конструкционных объектов   это   меню  предоставляетвыбор

свойств данного объекта (например, цвет, формат представле-

ния чисел или стиль отображения текста). Пользователь полу-

чает доступ к этому меню,инспектируя объект.Эта возмож-

ность присуща Parаdox for Windows,Quattro Pro for Windows

и другим объектам фирмыBorlandиназывается"инспектор

Объекта".

              III. РАБОТА С СУБД PARADOX

                  1. PARADOX DESKTOP

     Рaradox DeskTop- это наиболее мощное средство системы

Paradox.

     DeskTop являетсяродительским окном для любого другого

окна Paradox. Используя Paradox DeskTop можно:

     - управлять файлами;

     - задавать рабочие параметры среды;

     - управлять многопользовательским доступом к данным;

     - определять и задавать предпочитаемые текущие установ-

       ки и установки по умолчанию.

     Многие из установленных пользователем параметров  среды


                           - 31 -

остаются действительными на протяжении всего сеанса работы.

Сеанс работы с Paradox - это время с момента запуска систе-

мы Paradox и до завершения работы с ней.Paradox позволяет

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

их в дальнейшем.

     DeskTop являетсяосновнымрабочим окном Paradox.Все

остальные окна открываются на фоне DeskTop.

     Каждый видимый объект Paradox отображается в своем осо-

бом типе окна. Каждый тип окна обладает специфичным ему на-

бором команди функций,  применимых только к нему.Но так

как DeskTop содержит все другиеокна,команды  ифункции

DeskTop доступны им всем.

     DeskTop содержит в себе следующиепунктыменю:  File,

Properties, Windows, Help, которые всегда доступны.

                   1.1. МЕНЮ FILE

     Пункты менюFileосуществляют  весь комплекс операций

над файлами,который позволяет Paradox.Зайдя в это меню,

можно выполнить следующие операции:

     - создать, вызвать, сохранить файл;

     - распечатать документ;

     - работать над каталогами;

     - менять конфигурацию Paradox;

     - выполнять специальные функции.

     Некоторые операции подробнее будут описаны ниже.

             1.2. ИСПОЛЬЗОВАНИЕ SPEEDBAR

     В каждомокне  ниже меню находится набор иконок в виде

кнопок и инструментов SpeedBar.Его предназначение - уско-


                           - 32 -

рять работу.Одни кнопки просто являются быстро доступными

эквивалентами команд менюиликомбинаций  клавиш.Другие

кнопки позволяютболеебыстро  и удобно получать доступ к

данным (переход на следующую или предыдущую запись, переме-

щение в начало или конец таблицы и т.п.).

     Как и меню,SpeedBar изменяется в зависимости от того,

окно какого типа активно.Каждому типуокна  присущсвой

SpeedBar.

IV. РАЗРАБОТКА СТРУКТУРЫ ТАБЛИЦЫ

     Таблицы -основные строительные блоки системы Paradox:

все действия,которые производятся вParadox,  каким-либо

образом связаны с таблицами.

     Ниже будут рассмотрены вопросы, связанные с разработкой

и изменением структуры Paradox- и dBASE-таблиц.

                  1. РАЗРАБОТКА ТАБЛИЦ

     Первым шагомразработкитаблицы является продумывание

ее структуры.Пользователь решает,какую информацию будет

таблица содержать и в каком порядке она должна располагать-

ся. При разработке таблиц следует :

     - избегатьповторенияполей.  Этообеспечивает более

       гибкое хранение данных и простой доступ к ним. В этом

       состоит отличиеразработки таблиц базы данных от ор-

       ганизации данных в системах электронных таблиц.


                           - 33 -

     - бытьисчерпывающим.В таблицу следует включать поля

     для всей необходимой информации,но не забивать таб-

       лицу ненужнымиданными.Дополнительноеполе  можно

       легко при необходимости ввести в таблицу.

     - использовать небольшие базы данных.Если нужно орга-

       низовать базу данных под большой объем информации, то

       обычно, лучше разместитьеев  нескольконебольших

       взаимосвязанных таблиц, чем в одну всеобъемлющую.

     - определять необходимый тип таблиц.

                    2. СОЗДАНИЕ ТАБЛИЦ

     Для создания новой таблицы нужно выбрать пункт меню Fi-

le|New|Table илищелкнуть правой клавишей мыши кнопку Open

Table, находящуюся на SpeedBar.Paradox выведетна  экран

диалоговое окно Table Type.

     Paradox поддерживает следующие форматы файлов:

     - Paradox for Windows;

     - Paradox;

     - dBASE IV;

     - dBASE III+.

Любой из этих форматов можно выбрать, указав на него мышью.

     При открытии таблицы типа Paradox нафонедиалогового

окна Create Table появится следующая структура:

  ───┬────────Field Name───────┬Type─┬─Syze─┬Key┐

    1│                         │     │      │   │

     Диалоговое окно Create Table служит для:

     - ввода имен полей таблицы;

     - определение типа и размера поля.


                           - 34 -

     Кроме этого, можно:

     - определить ключевые поля;

     - назначить проверку значений в каждом поле;

     - определить вторичный индекс таблицы;

     - назначить для данной таблицы таблицу-справочник;

     - определить систему ссылок к другим таблицам

     - назначить пароль доступа к таблице или к ее отдельным

       полям.

     Пример. Создание Paradox-таблицы

     Для создания Paradox-таблицы нужно:

     - ввести имя первого поля в колонке Field Name  перечня

       полей;

     - указать тип поля, переместившись с помощью клавиатуры

       или мышью в колонку Type;

     - переместится в колонку Size и ввести желаемыйразмер

       поля (если это необходимо);

     - переместится на вторую строку перечня полей иповто-

       рить проделанные операции для остальных полей;

     - нажать мышью кнопку Save As для сохранения таблицыи

       выбора ее имени.

     Перечень полейслужит для определения полей новой таб-

лицы. При перемещении по колонкам Paradox показывает список

значений, допустимых для ввода в каждую текущую позицию.

     Имена полей вводятся в колонку Field Name  перечняпо-

лей. Требования к именам полей:

     - максимальная длина имени поля составляет 25 символов;

     - имя не должно начинаться с символа пробела;

     - каждое поле в таблице должноиметьуникальное  имя.


                           - 35 -

       Нельзя сделать имя уникальным:

- добавлением пробелов в конце имени;

- изменением верхнего и нижнего регистров букв;

     - имя поля не должно содержать следующие символы:

- { }, [ ], ( );

- комбинацию ->;

- один символ #.

                 3. ОПЕРАЦИИ НАД ТАБЛИЦАМИ

                   3.1. ОБЩИЕ ОПЕРАЦИИ

     Функции в меню Paradox позволяют пользователюосущест-

влять широкийкомплекс  операцийи различных действий над

таблицами. Они всесторонне охватывают все этапы создания  и

использования таблиц, предоставляют возможность реализовать

все замечания,возникшие в процессе их использования,как

по содержимому таблицы, так и по ее структуре.

     Операции, связанные с таблицами:

     - вставка, удаление полей;

     - операции с ключевыми полями;

     - заимствование готовой структуры таблицы;

     - редактирование имени поля;

     - изменение порядка следования полей;

     - контроль корректности данных;

     - задание таблицы-справочника;

     - определение вторичных индексов;

     - определение системы ссылок между таблицами;

     - установка пароля доступа к данным;

     - выбор драйвера национального языка.

     Некоторые операции подробнее описаны ниже.


                           - 36 -

                    3.2. КЛЮЧЕВЫЕ ПОЛЯ

     Ключевые поля определяютпервичныйиндекс  ипорядок

сортировки записейв таблице.Ключевое поле подразумевает

также, что находящееся в нем значение должно бытьуникаль-

ным.

     Ключевые поля необходимы для связывания таблиц иорга-

низации системы ссылок между таблицами.

             3.2.1. Определение ключевых полей

     При определении ключевых полей следует учитывать следу-

ющие ограничения:

     - таблицаможет  иметь только один ключ,состоящий из

       одного или нескольких полей;

     - ключевыеполятаблицы должны быть первыми в перечне

       полей;

     - при определении нескольких полей как ключевых, зада-

       ется составной ключ. Набор значений в этих полях дол-

       жен быть уникальным для каждой записи в таблице. Сос-

       тавной ключ должен начинаться с первого поляперечня

       полей.

     Чтобы определить поле как ключевое (илиснять ключс

поля), надо переместится в колонку Key перечня полей и про-

извести двойной щелчок мышью или нажать любую клавишу.

      3.3. ЗАИМСТВОВАНИЕ ГОТОВОЙ СТРУКТУРЫ ТАБЛИЦЫ

    Иногда бывает необходимо создать таблицу со  структурой,

или идентичной уже имеющейся таблицы.Можно также восполь-

зоваться структурой готовой таблицы чтобы изменить  еепри


                           - 37 -

необходимости. Paradox предоставляет такую возможность.

     Кроме самойструктурытаблицы  можнозаимствовать ее

первичный и вторичныйиндексы.контроль  надопустимость

значения полей,таблицы-справочники, систему ссылок и дру-

гие таблицы.

             3.4. КОНТРОЛЬ КОРРЕКТНОСТИ ДАННЫХ

     Контроль значений - это условия,которым должныудов-

летворять вводимые в поля данные.

    ┌─────────────┬───────────────────────────────────────┐

    │ Тип контроля│ Значение                              │

    ├─────────────┼───────────────────────────────────────┤

    │ Required    │ Это поле каждой записитаблицы должно│

    │ field       │ содержать не пустое значение          │

    ├─────────────┼───────────────────────────────────────┤

    │ Minimum     │ Значения,вводимые  вданное   поле,│

    │             │ должны быть не меньше указаннойвели-│

  │             │ чины                                  │

    ├─────────────┼───────────────────────────────────────┤

    │ Maximun     │ Значения,вводимые  вданное   поле,│

    │             │ должны быть не больше указаннойвели-│

    │             │ чины                                  │

    ├─────────────┼───────────────────────────────────────┤

    │ Default     │ Указываемая величина автоматически за-│

    │             │ носится вполе.                      │

    ├─────────────┼───────────────────────────────────────┤

    │ Picture     │ Пользователь определяет строкусимво-│

    │             │ лов, которая работаеткак шаблон  для│

    │             │ вводимых данных                       │

    └─────────────┴───────────────────────────────────────┘


                           - 38 -

              3.5. ЗАДАНИЕ ТАБЛИЦЫ-СПРАВОЧНИКА

     Задание таблицы-справочника означает,что пользователь

обязан вводить в свою таблицу только те данные, которые уже

содержаться в другой таблице - таблице-справочнике. "Присо-

единение" таблицы-справочника к какому-либо полю приводит к

следующему:

     - заставляет вводить те значения6 которые уже существу-

       ют в первом поле таблицы-справочника;

     - позволяет найти и автоматически скопировать данные из

       таблицы-справочника.

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

данных. В отличие от системы ссылок, этот режим не отслежи-

вает и не контролирует изменения, которые вносятся в табли-

цу-справочник. Использование справочника обеспечивает безо-

шибочное копирование из одной таблицы в другую, в то время,

как система ссылоксохраняетнеразрывность  связеймежду

данными в различных таблицах.

3.6. ОПРЕДЕЛЕНИЕ ВТОРИЧНЫХ ИНДЕКСОВ

     Пользователь имеет возможность присвоить полю или груп-

пе полей вторичный индекс чтобы:

     - производить быстрый поиск значений в определенных по-

       лях;

     - иметь возможность другого порядка просмотра таблицы;

     - связывать таблицы.

     Чтобы просмотретьзаписив таблице,  имеющей ключ,в

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

Только таким образом можно временно скрыть физический поря-

док записей, заданный ключом таблицы.


                           - 39 -

     Примером использования вторичного индекса может служить

задача связывания таблиц "Клиент" и "Заказы" таким образом,

чтобы были видны заказы каждого клиента.Таблица"Заказы"

имеет вторичный индекс,связанный с полем "Номер клиента".

Это означает,что Paradox может быстро найти все записис

данным значением номера клиента. Когда связываются таблицы,

Paradox для каждогозначения"Номер  клиента"втаблице

"Клиент" находит и показывает все совпадающие значения "Но-

мер клиента" в таблице"Заказы".Используя  такую связь,

можно создать форму,содержащую все заказы, сделанные каж-

дым клиентом.

     Таблица может иметь несколько вторичных индексов. Можно

создавать составные вторичные индексы,объединяя два и бо-

лее полей. Количество сложных вторичных индексов может дос-

тигать 16,а максимальное количество простых вторичных ин-

дексов равно количеству полей в таблице.

       3.7. ОПРЕДЕЛЕНИЕ СИСТЕМЫ ССЫЛОК МЕЖДУ ТАБЛИЦАМИ

      Система ссылокподразумеваетсоответствие  поляили

группы полей одной таблицы ("дочерней") к ключу другой таб-

лицы ("материнской"). Для определения полей дочерней табли-

цы Paradox считает верными только те значения,которые су-

ществуют в ключевых полях материнской таблицы.

  ┌────────────────┬──────┬───────┐

│ Номер клиента│ Имя  │ Город │     Клиент

  └────────────────┴──────┴───────┘

  ┌────────────┬─────────────┬───────┐

│Номер заказа│Номер клиента│ Имя   │    Заказы

  └────────────┴─────────────┴───────┘


                           - 40 -

     Paradox запрещает вводить значение поля "Номер клиента"

в таблице"Заказы",которое  не соответствует какому-либо

существующему значению этого поля в таблице "Клиент".

     Возможность задатьсистемуссылок  существуеттолько

между однотипными полями.Также, система ссылок может быть

установлена толькомеждутаблицами одного каталога.Если

система ссылок определена для таблицы,уже содержащей дан-

ные, товсе  данные из дочерней таблицы,  которые не соот-

ветствуют данным в материнской, будут помещены во временную

таблицу Keyviol.

     Paradox предлагает два способа обновления  таблиц,ис-

пользующих системуссылок.При определении системы ссылок

должен быть задан один из них:

     - Cascade:Всеизменения  значенийключа материнской

       таблицы автоматически происходят и в дочерней  табли-

       це. Этот способ определен по умолчанию.При этом Pa-

       radox блокирует как материнскую,так все ее дочерние

       записи. Если блокировка отвергается (уже заблокирова-

       но другим пользователем), Paradox не в состоянии про-

       извести обновление;

     - Prohibit:Этот способ не позволяет изменить значение

       ключа материнскойтаблицы,еслив дочерней таблице

       имеются записи,соответствующие этому значению. Нап-

       ример, еслив  поле "Номер клиента" таблицы "Заказы"

       имеется значение 350,Paradoxзапретит  менятьэто

       значение в таблице "Клиент". А если ни в одной записи

       дочерней таблице это значение не встречается, Paradox

       разрешает изменения в материнской таблице.

     Paradox for Windows - первая Paradox, полностью исполь-

зующая возможности системы ссылок.Но Paradox имеет опции,

которые позволяют контролировать работу ранних версий Para-


                           - 41 -

dox с таблицами, для которых определена система ссылок.

     Также Paradox предоставляет возможность создать систему

ссылок для таблицы так,что одно поле будетссылаться  на

поле ключаэтой же таблицы.Например,  имеется таблица со

списком служащих.Ключевое поле для нее-  "Идентификатор

служащего". Имеетсятакжеполе "Руководители".Поскольку

руководители - тоже служащие,можно создать такуюсистему

ссылок, чтобы данные вводимые в поле "Руководители",запи-

сывались и в поле "Идентификатор служащего".  Ноприэтом

нельзя задавать систему ссылок с полем, ссылающимся само на

себя.

              V. РАБОТА С ДАННЫМИ В ТАБЛИЦАХ

     После этапа разработки структуры и создания таблицы на-

чинается работас  данными,которую можно подразделить на

просмотр данных и ввод и редактирование данных.

                     1. ПРОСМОТР ДАННЫХ

       Paradox предоставляетнесколькоспособов  просмотра

данных:

     - использовать окно Table для просмотра данных в табли-

       це, перемещаясь по столбцам и строкам. При этом можно

       использовать как стандартныйформаттаблиц,  таки

       разработанный пользователем;

     - использовать окно Form для отображения табличныхза-


                           - 42 -

       писей нетабличнымспособом.Данный  режимявляется

       очень гибким. Он позволяет просматривать все или нес-

       колько полей одной таблицы,а также любую комбинацию

       полей из нескольких таблиц;

     - использоватьокноReport для предварительного прос-

      мотра отчета на экране перед его распечаткой.

       Paradox позволяетотображатьодновременно  данные в

различных режимах и в отдельныхокнах,причем  количество

открытых окон может быть практически не ограничено.

               1.1. ИСПОЛЬЗОВАНИЕ ТАБЛИЦ

     В зависимости от ситуации Paradox у пользователяможет

возникнуть желаниепо-разномуотображать данные.Paradox

предоставляет практическинеограниченноечисло   способов

просмотра данных, находящихся в таблицах.

     Чтобы открыть на экране таблицу,надо выбратькоманду

File|Open|Table из меню Paradox Desktop. В появившемся диа-

логовом окне Open Table выбирается нужная таблица.

     Paradox открывает таблицу в окне Table. При этом меню и

SpeedBar отображают операции,осуществимыепри  работес

таблицей.

     Paradox-таблицы состоят из  строкистолбцов.  Каждая

строка называется записью и содержит всю имеющуюся информа-

цию о каком-либо одном объекте.Каждый столбецназывается

полем исодержит какой-либо элемент информации, составляю-

щей запись.Поля Paradox-таблицы могут содержать различные

виды информации. Paradox предусматривает для каждого из них

определенный тип поля, который определяет, какой вид инфор-

мации может храниться в данном поле.


                           - 43 -

              1.1.1. Перемещение по таблице

     Для перемещения по записямтаблицыиспользуется  меню

Record илииконки  на SpeedBar.Меню Record предоставляет

следующие команды перемещения:

     - First - переход к первой записи таблицы;

     - Last - переход к последней записи таблицы;

     - Next - переход к следующей записи;

     - Previous - переход к предыдущей записи;

     - Next Set - переход к следующей группе записей,  отоб-

       ражаемых в окне Table;

     - PreviousSet- переход к предыдущей группе записей,

       отображаемых в окне Table.

     Для перемещенияпотаблице  такжеможно использовать

клавиатуру и линейку прокрутки.

           1.1.2. Изменение способа отображения

     Paradox позволяет изменять свойства, то есть визуальное

представление и параметры просматриваемой таблицы.  Paradox

предоставляет возможностьперемещатьи  изменять   ширину

столбцов, варьироватьизображениелиний  сетки,атакже

контролировать отображение и формат данных.

     Можно изменить формат таблицы двумя способами:

     - проинспектировать нужный элемент таблицы;

     - пометитьобласть,готовую  к изменению,после чего

       выбрать соответствующую команду из пункта  менюPro-

       perties.

     Вообще изменение способа отображения включает в себя:

     * Непосредственныеманипуляциис  таблицей - работу с

       изображением таблицы при помощи мыши.Это даетвоз-


                           - 44 -

       можность изменять форму, размер и положение на экране

       любого объекта.

     * Манипуляциисостолбцами  - перемещение,изменение

       размеров столбца.

     * Манипуляции со строками.

     * Установка режима выравнивания. Режим выравнивания оп-

       ределяет расположениеданных в поле или текста заго-

       ловка.

     * Выбор цвета. Можно изменить цвет любой части таблицы:

       фона таблицы,линий сетки,конкретного поля, фона и

       символов столбца, а также фона и символов заголовка.

     * Выборшрифта.  Имеетсявозможность изменять внешний

       вид текста в полях и заголовках.Можнопри  желании

       выбирать начертание,размер,стиль  и цвет символов

       шрифта.

     * Изменение свойств в соответствии с диапазоном данных.

       Пользователь имеет возможность изменить атрибуты всех

       данных вполе,  которыеудовлетворяютопределенным

       требованиям. Например, в числовом поле можно выделить

       определенным цветом значения, больше заданного.

     * Изменение способа выделения текущей записи.

                  1.2. ИСПОЛЬЗОВАНИЕ ФОРМ

     Используя формы Paradox,пользователь может отображать

данные изтаблиц  любым ему угодным способом,  выбирая при

этом те данные, которые он хотел бы видеть.

     Для того, чтобы открыть форму из Desktop, нужно выбрать

пункт меню File|Open|Form.После этого появится диалоговое

окно Open Document,которое используется для выбора нужной

формы. Для открытия формы текущей таблицы можно либо нажать


                           - 45 -

мышью кнопку Quick Form на SpeedBar, либо выполнить команду

Table|Quick|Form, либо нажать F7.Если не определена форма

для текущей таблицы, Paradox откроет по умолчанию стандарт-

ную форму.

     Над формами Paradox производит следующие операции:

     - масштабирование формы;

     - сохранение настройки окна Form;

     - распечатывание формы.

         1.3. РАБОТА С ДАННЫМИ В ТАБЛИЦАХ И ФОРМАХ

          1.3.1. Режим View Field (просмотр поля)

     При перемещении по полям таблицы или формы, Paradox вы-

деляет цветом все поле полностью.Для установки текстового

курсора внутриполянадо  включить режим Field View.При

этом Paradox поместит курсор к конец содержимого поля,  что

дает возможность перемещаться в пределах этого поля.

     Paradox имеет три режима просмотра полей:

     - Field View - дает возможность перемещаться внутри по-

       ля от символа к символу;

     - Persistent Field View - позволяет перемещаться к дру-

       гому полю, не отменяя режим просмотра поля;

     - MemoView- режим просмотра мемо- и форматированных

       мемо-полей, который при этом дает возможность неболь-

       шого редактирования этих полей.

                   1.3.2. Выбор поля

     Когда какое-либо поле делается текущим, Paradox выделя-

ет его цветом. Это означает, что поле выбрано. Если напеча-


                           - 46 -

тать что-либо в выбранном поле, то его содержимое заменится

на введенные данные.Paradox позволяетвыбрать  несколько

полей одновременно или только часть данных поля.Несколько

полей, находящихся в соседнихстрокахи  столбцах,можно

выбрать, простоокружив их рамочкой.Можно также отметить

все поля в таблице.

               1.3.3. Копирование данных

     Paradox дает пользователю возможность копировать данные

из таблицы и в таблицу.Простой командой Edit|Copy пользо-

ватель может скопировать данные в Clipboard, предварительно

их отметив. Помещенные в Clipboard данные можно перенести в

другие поля или другие Windows-программы. Paradox позволяет

копировать часть поля, целое поле, группу полей, строку.

     Следует отметить,чтогруппу  полей можно скопировать

только из таблицы, а не из формы. Однако, обратно в таблицу

из Clipboard группу полей поместить нельзя.

   1.3.4. Просмотр данных в различных порядках и диапазонах

     Предположим, упользователявозникло желание просмот-

реть таблицу,имеющую ключ,  в ином порядке, нежели в том,

который задается первичным ключом.Для этого можно исполь-

зовать вторичные индексы.Можно также задать диапазон зна-

чений индекса и Paradox покажет только те записи, соответс-

твующие поля которых находятся в заданном диапазоне.

     Выбранный индексопределяет порядок просмотра таблицы.

Он группирует близкие по значениюданныевместе,  поэтому

Paradox можетнайти их достаточно быстро.Диапазон задает

Paradox необходимую для просмотра группу значений.


                           - 47 -

     Диапазон может задаваться несколькими способами:

     - точным равенством, то есть Paradox выдаст на просмотр

       только те записи, значения индексов которых совпадают

       с заданной величиной;

     - диапазоном значений, который задается пользователем;

     - значениями составного индекса.

                  1.3.5. Поиск информации

     Для поиска записей,полей и значений в таблицах и фор-

мах используются команды Locate меню Records.

     Paradox осуществляет следующий поиск информации:

     - поиск полей;

     - поискинформации по номерам - номера записям в Para-

       dox-таблицах присваиваются автоматически и неподле-

       жат редактированию,они соответствуют позициям запи-

       сей в таблице;

     - поиск записей по значению;

     - поиск по простым шаблонам - можно  производитьпоиск

       информации по несложным шаблонам;

     - сравнение по расширенным шаблоным - этот способ отли-

       чается от предыдущего расширенным набором операций.

           1.4. ПРЕДВАРИТЕЛЬНЫЙ ПРОСМОТР ОТЧЕТА

     Обычно, отчетамив Paradox считаются документы,пред-

назначенные для печати,а на экране данные просматриваются

в виде таблиц или форм.Однако,иногда бывает нужно прос-

мотреть отчет на экране перед тем,как его распечататьна

принтере. Дляэтого в Paradox имеется специальное окно Re-

port. Следует заметить,что в отчетенельзя  осуществлять


                           - 48 -

ввод или редактирование данных. Окно Report является исклю-

чительно средством просмотра.

             2. ВВОД И РЕДАКТИРОВАНИЕ ДАННЫХ

     Режим редактирования данных позволяет выполнять следую-

щие операции:

     - вставлять и удалять записи;

     - работать в режимах просмотра полей FieldView,Per-

       sistent Field View и Memo View;

     - вырезать,копировать и вставлять данные из Clipboard

       и других файлов;

     - отменять сделанные изменения;

     - производить поиск данных в режиме Find and Replace;

     - вводить графики и OLE-объекты втаблицы,редактиро-

       вать специальные поля (такие, как мемо, форматирован-

       ное мемо) и поля с контролем правильности данных;

     - блокировать записи;

     - использовать привводепроверку  данныхпотабли-

       це-справочнику.

          2.1. ВКЛЮЧЕНИЕ РЕЖИМА РЕДАКТИРОВАНИЯ

     В Paradoxможно  редактировать данные,открыв таблицу

или форму и войдя в режим редактирования. Для этого нужно:

     - открытьтаблицу  или форму посредством выбора пункта

       File|Open;

     - включить режим редактирования, используя один из сле-

       дующих способов:

           - выбрать   пункт   меню   Table|Edit   Dataили

             Form|Edit Data;


               - 49 -

           - нажать кнопку Edit Data на SpeedBar;

           - нажать клавишу F9.

     Следует отметить, что ввод данных в мемо, форматирован-

ные мемо и OLE-поля может отличаться от ввода данных в поля

других типов. Эти типы полей будут рассматриваться ниже.

             2.2. ВСТАВКА И УДАЛЕНИЕ ЗАПИСЕЙ

     Paradox позволяет вставлять новыезаписиили  удалять

существующие при работе как с таблицей, так и с формой. Для

вставки пустой записи перед текущей выбирается  пунктменю

Record|Insert (нажимается Ins).

     Если таблица имеет ключ,то можно вводить данные в лю-

бом месте,а Paradox потом автоматически переместит нужную

запись в новое место.Пока Paradox не сохранитновую  за-

пись, текущейостается та запись,которая была до нажатия

клавиши Ins.

     Запись, вставленная в таблицу, не имеющую ключей, будет

сохранена в том месте, где ее вводили.

     Во время работы в форме, содержащей одну запись, встав-

ка новой записи выглядит как очисткаэкрана.При  нажатии

Ins записьна  экранене будет содержать ни каких данных.

Это происходит потому,что Paradoxсразу  перемещаетсяк

только что вставленной записи. Следует помнить, что Paradox

всегда вставляет новую запись перед отмеченной текущей  за-

писью. Также, в Paradox-таблице нельзя восстановить удален-

ную запись,в то время,  как при работе сdBASE-таблицами

физического удаления данных не происходит, удаленные данные

можно опять просмотреть.


                           - 50 -

    2.3. ВЫРЕЗАНИЕ, КОПИРОВАНИЕ И ВСТАВКА ДАННЫХ С ПОМОЩЬЮ

                         CLIPBOARD

     Кроме того, что у пользователя есть возможность вручную

вводить данные в поля,он можетвырезать  иликопировать

данные из одного поля и вставлять их в другое поле и в дру-

гие Windows-приложения. Вырезанные или скопированные данные

остаются в Clipboard до тех пор, пока пользователь не очис-

тит Clipboard или не выйдет из Windows. Clipboard обеспечи-

вает временноехранениеданных до их перемещения в другие

области.

     2.4. КОПИРОВАНИЕ ДАННЫХ И ВСТАВКА ДАННЫХ ИЗ ФАЙЛОВ

     Paradox позволяет копировать данные из поля во  внешние

файлы, а также вставлять данные из файлов в поле.

                 2.4.1. Копирование в файл

     Paradox предоставляетвозможность копировать данные из

поля во внешние файлы.При работе с таблицей можно копиро-

вать данные графических,двоичных,мемо и форматированных

мемо-полей в файлы других (отличных отParadox)форматов.

При работес формой также можно копировать данные из полей

любых типов во внешние файлы.

     Например, для того,чтобы скопировать графические дан-

ные в .BMP-файл, нужно выбрать пункт меню Edit|Copy To. По-

явится диалоговое окно Cjpy To Graphic File, в котором мож-

но выбрать имя существующего графического файла (содержимое

поля перезапишетфайл) или ввести имя нового файла в текс-

товом окошке New File Name. При этом, Paradox может копиро-


                           - 51 -

вать графические данные только в файлы .ВМР формата.

     Во время работы с формой,для копирования строк текста

(поля любого типа,включая мемо, числовые или даты) в файл

следует дать команду Edit|Copy To. Paradox может копировать

текстовые данные в файлы форматов .ТХТ или .РХТ.

     Находясь в окне Table,можно скопироватьв  текстовый

файл только мемо и форматированные мемо-поля.

               2.4.2. Вставка данных из файла

     Paradox представляет возможностьвставлятьданные  из

внешних файлов в поля Paradox-таблиц. Для этого, находясь в

режиме редактирования,нужно выбрать пункт меню Edit|Paste

Form. На экране появится диалоговое окно Paste Form.

     Тип файлов,отображенных в окне Paste Form зависитот

выбранного пользователем типа поля или объекта. Если выбра-

но графическое поле,то Paradoxоткроет  диалоговоеокно

Paste FromGrahpic File со словом в списке Type.

В графическое поле или объектможновставлять  данныеиз

файлов, имеющих форматы .BMP, .PCX, .TIF, .GIF, .EPS.

     Обращается внимание на то,что приимпорте  данныхв

графическое полеили  объектизфайлов,  имеющих форматы

.PCX, .TIF,.GIF, .EPS, Paradox сначала преобразовывает их

в .ВМР-формат.

     Если пользователь выбрал в таблице мемо или  форматиро-

ванное мемо-поле,Paradoxоткроет  диалоговоеокно Paste

From File со словомв  спискеType.Текст  можно

вставлять из файлов,имеющих форматы .PXT, .TXT, PTF (если

используется форма,то можно вставлять текст влюбой  тип

поля, включая графический и OLE).


                           - 52 -

                     2.5. ЗАМЕНА ДАННЫХ

     Paradox обеспечивает два средства быстрой замены данных

существующего поля:

     - команда Record|Locate and Replaceдлязамены  всего

       содержимого поля;

     - команда Edit|Search Text для замены последовательнос-

       ти символов в мемо-поле.

     Пункт Record|Locate and Replace используется для поиска

записи сконкретным  значением в поле и замены его на дру-

гое. Для замены поля вовсейтаблице  лучшеиспользовать

запрос CHANGETOтак  какв этом случае команду Lokate and

Replace придется повторять для каждой записи таблицы.

     В мемои форматированных мемо-полях можно использовать

команду Edit|Search Text дляпоискафрагментов  текстаи

(необязательно) заменыихна другой текст.Для этого ис-

пользуется диалоговое окно Search & Replace.

         2.6. РЕДАКТИРОВАНИЕ СПЕЦИАЛЬНЫХ ТИПОВ ПОЛЕЙ

     Некоторые типы полей Paradox требуют специальныхмето-

дов вводаданных.  Например,если нужно ввести картинку в

графическое поле,то нельзя просто напечатать ее имя точно

также: имеютсяопределенные правила и соглашения,которые

контролируют способ ввода и редактирования данных  вполях

графического типа, OLE, мемо и форматированное мемо.

   2.6.1. Редактирование мемо и форматированных мемо-полей

     Ввод данных в мемо и форматированные мемо-поля осущест-

вляется таким же образом, как и в алфавитно-цифровые. Одна-


                           - 53 -

ко, при вводе данных в мемо и форматированные мемо-поля Pa-

radox практически не вводит ограничения наобъемвводимых

данных. Во время редактирования мемо и форматированных  ме-

мо-полей можноиспользовать режим Memo View,который пре-

доставляет некоторые возможности по обработке текста и  по-

вышает функциональные возможности клавиатуры по сравнению с

режимом Field View.

     Для того, чтобы отформатировать текст в форматированном

мемо-поле, надо выделить нужный блок текста, проинспектиро-

вать его и из меню выбрать необходимые пункты.

             2.6.2. Ввод графических изображений

     Данные вграфическом поле могут быть любыми картинками

или графиками,которые отсканированы или созданы вграфи-

ческих редакторах.Paradox предоставляет два способа ввода

графического изображения в поле:

     - использованиемкомандCut,  Copy и Paste и при пос-

       редстве Clipboard;

     - командой Paste From.

     Сам Paradox не имеет возможностиредактироватьграфи-

ческие изображения.

     Для ввода графического изображения надо войти  врежим

редактирования ивставить графическое изображение из Clip-

boarb или файла.

             2.6.3. Использование технологии OLE

     OLE-поля могут использоваться для того, чтобы виртуаль-

но хранить любой тип данных - от графических до текстовых и

вычисляемых. Преимущество использования OLE-полей  заключа-


                           - 54 -

ется в   том,   чтоеслипользователь  однаждыразместил

OLE-данные, они сохраняют связь со средой, в  которойбыли

созданы. Всегдаможноперейти  вэтусреду  или файл из

OLE-объекта, который размещен в Paradox-таблице или  форме.

Изменения, которыесделанытамс оригиналом OLE-объекта,

отразятся в Paradox-таблице или форме.

2.6.4. Редактирование полей с контролем корректности данных

     Проверка корректностинакладываетна  вводимые данные

ограничения с тем,чтобы гарантировать, что они удовлетво-

ряют определеннымтребованиям.Если  установленконтроль

корректности, то пользователь не сможет поместить в таблицу

запись иливыйти из нее,  если все поля записи не отвечают

поставленным условиям.При вводе некорректных данных Para-

dox заблокирует выход из записи.

               2.7. БЛОКИРОВАНИЕ ЗАПИСЕЙ

     Блокирование записей- очень важная и необходимая опе-

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

вательской среде. Если пользователь при работе в среде (ло-

кальной или глобальной) заблокировал запись, другие пользо-

ватель могут ее просматривать, однако не могут отредактиро-

вать или удалить.Paradox автоматически блокируетзапись,

когда конкретный пользователь начинает ее редактировать,  и

снимает блокировку, когда он выходит из нее.

     Перед началомредактирования также можно заблокировать

запись вручную.Блокировка записейисключает  возможность

для других пользователей установить свою собственную блоки-

ровку. По этой же причине она также запрещает доступ кза-


                           - 55 -

писи в таблице другим пользователям.Для блокировки запись

нужно отметить и выбрать пункт Record|Lock. После того, как

запись заблокирована,командаLock в меню сменится на Un-

lock, которая,в свою очередь, освобождает запись для дос-

тупа.

         2.8. ИСПОЛЬЗОВАНИЕ ТАБЛИЦЫ-СПРАВОЧНИКА

     Данный режим позволяет вводить только те данные,  кото-

рые ужесуществуют  вдругой таблице таблице-справочнике.

Например, можно задать дляполя"Номер  клиента"таблицы

"Заказы" таблицу-справочник  "Клиенты",чтобыслучайно не

принять заказ от несуществующего клиента.

     Paradox можетиспользовать  таблицу-справочникв двух

режимах:

     - JustCurrent Field :данные в текущем поле - единс-

       твенное, что Paradox проверяет потаблице-справочни-

       ку;

     - All Corresponding Fields :Paradoxпроверяет  поле,

       для которого задан справочник,и переносит из него в

       таблицу еще несколько полей (Paradox выбираетсовпа-

       дающие имена полей).

                         VI. ЗАПРОСЫ

     Запрос -основное  средстводоступак информации баз

данных. Запросом называетсянекотораясовокупность  дейс-


                           - 56 -

твий, выполняемых системой Paradox, с помощью которых поль-

зователь может извлечь необходимую информацию из своих таб-

лиц. Запросом может быть как простейший поиск информации по

значению в какой либо одной таблице,так и сложный процесс

преобразования и представления в определенном виде взаимос-

вязанных между собой данных из нескольких таблиц.

     Составляя запрос, пользователь может указать в нем:

     - интересующие его таблицы;

     - поля, из которых должен состоять запрос;

     - интересующие его записи;

     - необходимые преобразования данных.

     Запросы можноиспользовать для осуществления следующих

операций:

     - вставка новых записей;

     - удаление записей;

     - изменение значений;

     - создание новых полей.

     С помощью запроса можно также решать определенный класс

математических задач.

              1. МЕХАНИЗМ РАБОТЫ ЗАПРОСА

     В Paradox используется метод,называемый запрос по об-

разцу. Присоставлении запроса пользователь задает Paradox

некоторый образец,в соответствии с которым Paradox выдает

результат. Этопозволяет пользователю сосредоточить внима-

ние на определенных заданных полях записи.

     Предположим, имеется таблица "Клиент" с данными по кли-

ентам. Если в ней пользователя интересуют лишь имена иад-

реса клиентов,то для этого ему нужно открыть окно Query и

задать образец желаемой таблицы,поставив внужных  полях


                           - 57 -

соответствующий знак.Результат появится во временной таб-

лице Answer.

     Paradox переписывает таблицу Answerприкаждом  новом

запросе и уничтожает ее по окончании сеанса работы.  Чтобы,

при необходимости, сохранить содержимое запроса, надо прис-

воить таблице Answer другое имя.

                      2. ОКНО QUERY

     Новый запросв Paradox создается с помощью команды Fi-

le|New|Query. При этом открывается пустое окно Query, а по-

верх его - диалоговое окно Select File, в котором пользова-

тель выбирает те файлы,по которым онхотел  быполучить

запрос. Приэтом,  если выбранные в окне Select File файлы

защищены паролем,то Paradox попросит ввести пароль, чтобы

запрос по этому объекту был принят к исполнению.

                   2.1. ОБРАЗЕЦ ЗАПРОСА

     После выбора нужных файлов окно Select File закроется и

Paradox поместит в окно Query образцы запросов по всем объ-

ектам, находящимся в выбранных файлах. При выборе многотаб-

личного запроса Paradox помещает в это окно образцы  запро-

сов по всем таблицам, автоматически связывая их в соответс-

твии со связями внутри этих многотабличных объектов.

     Вообще, образец запроса имеет вид той таблицы,к кото-

рой он относится.В нем присутствуют те же поля и в том же

порядке, что и в соответствующей таблице;отсутствуют лишь

ее данные.

     При работес  образцомзапросапользователю доступны

следующие операции:


                           - 58 -

     - связывание таблиц с помощью элемент-примеров;

     - включение поля в запрос;

     - удаление операций запроса.

     Отметить включениеполя в запрос можно различными спо-

собами, в зависимости от того,какие данные из конкретного

поля пользователь хочет увидеть в запросе.

     Paradox допускает следующие включения:

     - значком


.При этом в таблице Answer будут представ-

       лены только уникальные значения поля, отсортированные

       в порядке возрастания;

     - значком


+. Этот значок используется при необходимос-

       ти получить все значения поля, включая повторяющиеся;

     - значком


- для сортировки значений в убывающемпо-

       рядке (от A до Z);

     - значком


G.Этотзначок  используетсядлязадания

       группы записей в SET-запросах. Он позволяет группиро-

       вать записи по значениям полей,не включая сами поля

       в таблицу Answer.

           2.2. ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ ANSWER

     При выполнениизапросатаблица Answer будет соответс-

твовать образцу запроса:первым полем является крайнее ле-

вое поле,отмеченное пользователем в образце запроса, вто-

рым - следующее поле, и т.д.

     Если таблица Answer содержит поля с повторяющимися име-

нами (из двух или более таблиц),тоParadox  оставитимя

первого изэтих  полей без изменения,а остальные назовет

"имя-1", "имя-2" и т.д. Новые вычисляемые поля помещаются в

конец таблицы и получают имя в соответствии с формулой,  по

которой производятся вычисления,если они не переименованы


                           - 59 -

пользователем.

     Перед тем,как начать выполнение запроса, пользователь

может изменить некоторые свойства таблицы Аnswer:

     - дать таблице Answer новое имя,что приводит к сохра-

       нению таблицы по окончании сеанса работы с Paradox;

     - выбрать ее тип - Paradox- или dBASE-таблица;

     - изменить порядок следования полей в таблице.

     Также, передвыполнениемзапроса можно указать способ

сортировки записей в таблице Answer.

                   3. СЕЛЕКЦИЯ ЗАПИСЕЙ

     В большинстве случаев в результате запроса пользователь

хочет получить только записи,удовлетворяющие определенным

условиям. Эти условия задаются в полях образца  запроса.B

таблицу Answer попадут лишь те записи, значение полей кото-

рых удовлетворяют наложенным пользователем условиям выбора.

     Условия могут накладываться для:

     * вывода записей с определеннымзначениемкакого-либо

       поля. Для этого нужное значение просто вводится в со-

       ответствующее поле образа запроса.

     * поиска алфавитно-цифровых значений, содержащих типог-

      рафические опечатки или допускающих различное написа-

       ние. В этих случаях используется оператор LIKE, кото-

       рый ставится перед значением, которое нужно найти.

     * выбора записей,не содержащих определенных значений.

       Для этого используется оператор NOT.Он ставится пе-

       ред темизначениями,появления которых пользователь

       хочет избежать.Этот оператор можетставится  перед

       точными значениями,диапазонами, шаблонами и другими

       операторами.


                           - 60 -

     * поиска записей,не содержащих никаких значений в оп-

       ределенных полях.В  некоторыхслучаях бывает нужно

       найти такие записи чтобы внестивних  данные.Для

       этих целей служит оператор BLANK.

                  3.1. ПОИСК ПО ШАБЛОНУ

     В Paradox имеются два оператора,которые можно исполь-

зовать для поиска значений пошаблону.Дополняя  оператор

LIKE, они существенно расширяют возможности пользователя:

     * оператор @ заменяет любой символ. При задании шабло-

       нов можноиспользовать любое количество таких опера-

       торов.

     * оператор ..заменяет собой последовательность симво-

       лов любой длины,включая пробелы.Регистр букв  при

       этом не имеет значения.

                 3.2. УСЛОВНЫЕ ОПЕРАТОРЫ

     Условные операторы в Paradox - это операторы AND и OR.

     Оператор AND выполняеттип действий"логическое И"и

используется в тех случаях,когда,например, пользователь

хочет в запросе получить записи, которые одновременно удов-

летворяют всем введенным условиям.Оператор AND часто слу-

жит одним из основныхкомпонентовпри  заданиидиапазона

значений.

     При необходимости выбора записей, удовлетворяющих одно-

му издвух  (илинескольких) условий,можно использовать

оператор Paradox OR, выполняющим действие "логическое ИЛИ".

Если значения-аргументы оператора OR относятся к одному по-

лю, то их следует вводить в это поле,разделяя их ключевым


                           - 61 -

словом OR.Если  они принадлежат разным полям,то их надо

вводить на разных строках образца запроса.

              4. ИСПОЛЬЗОВАНИЕ ЭЛЕМЕНТ-ПРИМЕРОВ

     Элемент-пример применяетсяв запросе для представления

некоторого конкретного значения.В простых запросахможно

применять элемент-примерыв сочетании с зарезервированными

словами и арифметическимиоператорами,чтобы  производить

над значениямиполей определенные вычисления.В многотаб-

личных же запросах элемент-примеры используются длясвязы-

вания таблиц по общим полям.

     Пользователь может создавать элемент-примеры сам,  либо

это можетсделать  за него Paradox.При работе на цветном

мониторе Paradox выделяет их цветом, на монохромном - подс-

вечивает.

           5. АРИФМЕТИЧЕСКИЕ ВЫРАЖЕНИЯ В ЗАПРОСАХ

     Арифметические операторыприменяютсядля  составления

арифметических выражений со значениями, содержащимися в по-

лях запроса.   Paradox  допускаетиспользованиеследующих

арифметических операторов:

     - сложение +;

     - вычитание -;

     - умножение *;

     - деление /;

     - группирующие скобки ().

     В числовых полях Paradox и dBASE можно использовать лю-

бые арифметическиеоператоры.Оператор сложения можно ис-

пользовать также валфавитно-цифровыхполях  дляслияния


                           - 62 -

значений.

                 6. ВЫЧИСЛЕНИЯ В ЗАПРОСАХ

     Помимо возможности извлекать нужные данные  изтаблиц,

можно производитьнадними вычисления с помощью оператора

CALС. Использование этого оператора позволяет:

     - составлять и редактировать математические выражения;

     - комбинировать значения из нескольких полей  изодной

       или нескольких таблиц;

     - комбинировать значения полей с константами;

     - создаватьновыеполя  ипомещать в них вычисленные

       значения.

     Если взапросе  используется оператор CALС,в таблице

Answer появляется дополнительное поле(поумолчанию  -в

конце таблицы),содержащее результаты вычислений.Paradox

автоматически присваивает этому полю имя в  соответствиис

формулой, по которой производились вычисления,  однако, его

можно изменить с помощью оператора AS.

     В условиях выбора можно определить те записи, над поля-

ми которых будут производится вычисления,а элемент-приме-

рами заменить значения этих полей в формуле.

     CALC-выражение может содержать:

     - константы;

     - элемент-примеры;

     - арифметические операторы.

     Например, в таблице есть поля "Описание  товара","Коли-

чество" и "Цена". Для того, чтобы определить стоимость каж-

дого вида товара, нужно включить поля в запрос, в двух пос-

ледних ввести элемент-пример, соответствующий названию поля

и в любое поле записать CALK-выражение. В запросе выглядеть


                           - 63 -

это будет так:

    ┬─Описание товара─┬─Количество───┬──Цена────────────────┐

    │


               │
_ Количество. │
_ Цена.,calc_ Количество.│

    │                 │              │ *_ Цена.               │

Выделенные слова - элемент-примеры.

             7. ИЗМЕНЕНИЕ ТАБЛИЦ С ПОМОЩЬЮ ЗАПРОСОВ

     Механизм созданиязапросов в Paradox дает пользователю

некоторые возможностиредактированияданных.  Взапросах

можно использовать следующие зарезервированные слова:

     - INSERT: вставить записи в таблицу;

     - DELETE: удалить записи из таблицы;

     - CHANGETO: изменить определенные значения.

                   7.1. INSERT-ЗАПРОС

     INSERT-запрос позволяетвставлятьв  таблицу-приемник

записи изнескольких  таблиц-источников.Приэтом табли-

ца-приемник и источник могут быть разныхтипов,например,

Paradox и dBASE.

     INSERТ-запрос создаетв личномкаталоге  пользователя

временную таблицуInserted.Она переписывается при каждом

выполнении запроса и удаляется по окончании сеанса работы с

Paradox. Если записи, вставляемые в таблицу-приемник, конф-

ликтуют с ее системой ссылок,илиправиламипроверки  кор-

ректности данных (при выполнении INSERT-запроса не учитыва-

ется только правила соответствия данных  шаблону),Paradox

помещает такие записи во временную таблицу Errins.  Наруше-

ние системы ссылок может произойти,например,при попытке


                           - 64 -

вставить в дочернюю таблицу запись, значение ключевого поля

которой отсутствует в родительской таблице таблице.

                     7.2. DELETE-ЗАПРОС

     DELETE-запрос применяется для удаления из таблицы опре-

деленных записей. Он удаляет только записи целиком, создает

в личном каталоге пользователя таблицу Deleted,содержащую

удаленные записи.Paradox поступает с ней также,как ис

таблицей Inserted.Можновосстановить  удаленныезаписи,

применив INSERT-запрос с таблицей Deleted в качестве источ-

ника. Еслитаблица не имеет ключа,то возвращенные записи

независимо от их прежних позицийбудут помещены  вконец

таблицы. Припопытке  удалитьзаписи,отсутствие которых

привело бы к нарушению системы ссылок,Paradox не произво-

дит удаления, а лишь помещает копии этих записей во времен-

ную таблицу Errdel.

                   7.3. CHANGETO-ЗАПРОС

     CHANGETO-запрос позволяет  изменятьзначенияполей  в

таблице, которые удовлетворяют заданным пользователем усло-

виям. Этот запрос бывает крайнеполезенпри  однообразном

изменении большого   количествазначений.  CHANGETO-запрос

создает в личном каталогепользователявременную  таблицу

Changed с исходными оригиналами записей,  измененных в про-

цессе выполнения запроса.Она такжеперезаписываетсяпри

каждом прикаждом  исполнении CHANGEТО-запроса и удаляется

по окончании сеанса работы с Paradox.При попытке изменить

с помощью CHANGETO-запроса значений ключевых полей (первич-

ных или вторичных),которая привела бы к нарушению системы


                           - 65 -

ссылок, Paradoxпомещаеткопии  конфликтующихзаписей во

временную таблицу Errchng в личном каталоге пользователя.

                 8. СЛОЖНЫЕ ЗАПРОСЫ

     Используя возможности групповых запросов Рaradox, поль-

зователь может:

     - Выбирать из базы данных записи по групповым статисти-

       ческим характеристикам (например, найти виды товаров,

       на которые поступило два и более заказов)

     - Производить статистическиевычислениявнутри  групп

       записей (например,вычислитьсредние значения сумм,

       на которые сделаны заказы, по каждой стране)

     - Сравниватьхарактеристики групп записей с отдельными

       записями (например,кто из зарубежных клиентовраз-

       местил заказов больше, чем любой российский)

     Чтобы отвечать на подобные вопросы, необходимо анализи-

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

предварительно сгруппировав их нужным образом.

     Для выполненияспециальныхвычислений  надзаданными

группами записейвParadox  предусмотреныстатистические

операторы. Таких операторов существует пять:

     - AVERAGE - усредняет значение в группе

     - COUNT - вычисляет количество значений в группе

     - MAX - определяет максимальное значение внутри группы

     - MIN - определяет минимальное значение

     - SUM - суммирует значения внутри группы

     По умолчаниювсестатистические операторы кроме COUNT

производят вычисления над всеми значениями в группе  (COUNT

по умолчанию подсчитывает только неповторяющиеся значения).

Однако, Paradox предусматривает использование модификаторов


                           - 66 -

статистических операторов:

     - ALL - означает, что вычисления производятся над всеми

       значениями внутри группы, включая дублирующие

     - UNIQUE - означает, что статистическая операция произ-

       водится только над неповторяющимися значениями

     Также вParadox  существует оператор ONLY,который не

относится к статистическим, поскольку не производит никаких

вычислений, однако,востальном действует аналогично:он

объединяет в группы записи,содержащиеодно  определенное

значение.

                VII. РАЗРАБАТЫВАЕМЫЕ ДОКУМЕНТЫ

     Разрабатываемыми документами в Paradox называются формы

и отчеты.Разрабатываемые документы могут выводится на эк-

ран компьютера и распечатываться на принтере.

     Прежде чем начинать разработку документа,  пользователю

необходимо решить,что он хочет создать - форму или отчет.

Формы в Paradox используются для отображения данных из таб-

лиц в самых различных форматах и в сочетании с графическими

объектами. Формы разрабатываются, в основном, для использо-

вания наэкране и,  прежде всего,для облегчения процесса

ввода данных.

     Отчеты вParadox  служат для извлечения из базы данных

необходимой информации.Они позволяют логическигруппиро-

вать данные и распечатывать их в виде, удобном для дальней-

шего использования содержащейся в них информации.


                           - 67 -

                1. РАЗРАБОТКА МОДЕЛЕЙ ДАННЫХ

     Моделью данныхназываетсяграфическое   представление

взаимных связей между таблицами, на основе которых разраба-

тывается документ.Она представляет пользователю простой и

наглядный способуказать Paradox,какие таблицы будут ис-

пользованы в документе,и как они должны между собой взаи-

модействовать.

    Разработка любого документа начинается с построения мо-

дели данных.В  Paradox для этого нужно войти в пункт меню

File|New и выбрать тип документа (форму или отчет). Paradox

выведет на экран диалоговое окно Data Model, одинаковое для

формы и для отчета. В нем Paradox представляет пользователю

список таблиц,полякоторых  могутбыть использованы для

разработки документа.Пользователь должентолько  указать

нужные ему таблицы.

     Однако, можно вообще не использовать ни одной таблицы в

качестве основыдокумента.При  это Paradox создаст бланк

документа, не связанный ни с какими данными.

     Документы могутразрабатываться с использованием одной

или нескольких таблиц.В основеоднотабличных  документов

лежит простейшая модель данных - одна единственная таблица.

Особых сложностей при разработке таких документов не возни-

кает. Разработка многотабличных документов - более сложная,

о ней стоит рассказать подробнее.

       1.1. РАЗРАБОТКА МНОГОТАБЛИЧНОЙ МОДЕЛИ ДАННЫХ

     Paradox позволяетсоздавать  документы,   использующие

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

модели данных многотабличного документа пользователю нужно:


                           - 68 -

     - определить для него набор таблиц;

     - определить отношение между таблицами (связать их).

     Все таблицы, данные из которых будут использоваться при

разработке документа,должны быть указаны в окне DataMo-

del.

     При определенииотношений между таблицами нужно знать,

как Paradox производит сортировку и поиск данных, основыва-

ясь назначениях  индексов(обэтом было написано выше).

Стоит отметить,что связываемые таблицы должны иметь общее

поле. Имена полей могут и не совпадать, но их тип и размеры

обязаны быть идентичными. Связывая между собой две таблицы,

пользователь указываетParadox вычислить определенной зна-

чение в главной таблице (таблице,от которой идет связь) и

отыскать соответствующее значение в связанной таблице (таб-

лице, к которой идет связь).Это означает,что  связанная

таблица обязательнодолжнабыть проиндексирована по полю,

которое используется для связывания.Здесь может использо-

ваться как первичный, так и вторичный индекс.

     При разработке многотабличной моделиданныхпользова-

тель можетсоздавать между таблицами как однозначные отно-

шения, называемыетакжесвязью  один-к-одномуили   мно-

го-к-одному, так   и   многозначныеотношения,или  связь

один-к-многим.

     Однозначными называютсятакие отношения между таблица-

ми, при которых каждая запись одной таблицы связана не  бо-

лее чемс  одной записью другой таблицы.При наличии типа

связи много-к-одному нескольким записям главной таблицы мо-

жет соответствовать одна запись связанной таблицы.

     Многозначными называются такие отношения между таблица-

ми, при которых каждой записи одной таблицы может соответс-

твовать более одной записи другой таблицы.Например, какой


                           - 69 -

либо клиент(одна  запись таблицы "Клиенты") может сделать

любое количество заказов (несколько записей таблицы  "Зака-

зы").

           1.2. ВЫБОР ИСХОДНОГО ЧЕРТЕЖА ДОКУМЕНТА

     При нажатии в окне Data Model кнопки ОК, Paradox откро-

ет диалоговое окно Design Link,которое представляет собой

средство просмотра и выбора одного из типов исходногочер-

тежа документа. В просмотровом окошке изображаются поля мо-

дели данных.

     Для одно-и  многотабличныхдокументовв окне Design

Link доступны различные наборы опций, тип окна определяется

разработанной моделью данных. Однако, всегда можно:

     - выбрать поля,которые нужно поместить в документ;

     - назначить или отменить присутствие меток полей;

     - определить,для чего разрабатывается документ -для

просмотра на экране либо для вывода на принтер.

     Диалоговое окно Design Link используется абсолютно оди-

наково как при разработке форм,так и при разработке отче-

тов. Единственное отличие состоит в способе изображения до-

кумента.

     В отчетах для отделения разных областей чертежа исполь-

зуются зоны. Существуют зоны для заголовка и окончания все-

го отчета,для верхнего и нижнего колонтитулов страницы, а

также зона тела самого отчета. Все эти опции изображаются в

просмотровом поле окна Design Link.В формах нет зон, поэ-

тому начертеже  документа в окне Design Link изображаются

только поля таблиц, включенные в модель данных.


                           - 70 -

          2. СРЕДСТВА И ПРИЕМЫ РАЗРАБОТКИ ДОКУМЕНТОВ

     Средства, предназначенныедляразработки  документов,

используются вокнах Form Design и Report Design.В обоих

окнах процесс создания документа состоит из одних и тех  же

операций: выбора объектов,инспектирования,использования

инструментария, расположенного на SpeedBar, и широкого кру-

га доступных приемов оформления чертежа документа.

                    2.1. ВЫБОР ОБЪЕКТОВ

     Документ в Paradox состоит из различных частей - объек-

тов, над которыми можно производить различные операции (пе-

ремещение, изменение размера,редактирование и т.д.).Для

выбора на чертежедокументаобъектов  служитспециальный

инструмент SpeedBar Selection Arrws. При выборе какого-либо

объекта, вокруг него появляется рамка стемнымиквадрата-

ми-"ручками", "потянув" за которые пользователь может изме-

нять размеры объекта. Paradox позволяет также выбирать нес-

колько объектовдлявыполнения  действий над всей группой

одновременно.

               2.2. ИНСПЕКТИРОВАНИЕ ОБЪЕКТОВ

     По существу,инспектирование - это определение свойств

объектов. Каждый объект имеет свое меню, опции которого оп-

ределяют его внешний вид (и,иногда,поведение). Это меню

вызывается при инспектировании.Например,при выборе поля

как объекта, его меню, наряду с другими, содержит следующие

опции: имя, цвет, рамку, шрифт,форму и т.д.   Кроме  того,

некоторые свойства объектов задаютсякомандамиязыка  Ob-


                           - 71 -

jectPAL. Далее,еслибыло  выбрано одновременно несколько

объектов для инспектирования,внесенные изменения в свойс-

тва одногоиз  них,аналогично изменят и свойства других.

Paradox позволяет вызвать меню сосвойствами,общими  для

всей выделеннойгруппы,для  внесенияизменений.Также,

пользователь имеетвозможность проинспектировать всю форму

или отчет, либо только их часть (страницу).

                   2.3. ПАЛИТРА СВОЙСТВ

     Некоторые свойства Paradox изображаетввиде  палитр.

Палитра не называет свойство,а показывает его,поэтому в

виде палитр,обычно,  представляютсявизуальныесвойства

объектов (цвет,штриховка и т.д.). Палитра в Paradox может

быть как одноразовой (после выбора в ней какого-либо свойс-

тва она исчезает), так и "плавающей", закрепленной на экра-

не, к которой пользователь будетиметьвозможность  обра-

щаться по мере необходимости.

     Палитры в Paradox бывают следующие:

     - Палитра цветов.В меню большинства объектов присутс-

       твует пункт Color, выбрав который, пользователь вызы-

       вает на экран палитру цветов. Ее можно сделать плава-

       ющей, что отличает ее изображение на экране,и, нап-

       ример, инспектируемыйобъектменяет  своисвойства

       синхронно с перемещением по опциям палитры. Кроме то-

       го, она позволяет пользователю самому создавать удов-

       летворяющие его цвета, смешивая в различных пропорци-

       ях имеющиеся.

     - Палитра рамок.Многиеобъекты  изображаютсявнутри

       рамки, и,соответственно, в меню своих свойств имеют

       пункт Frame,определяющий цвет, стиль и толщину рам-


               - 72 -

       ки.

     - Палитра штриховок.

     - Палитра линий.

     - Палитра шрифтов.

               2.4. ИНСТРУМЕНТАРИЙ SPEEDBAR

     На SpeedBarоконразработки находится ряд кнопок-ико-

нок, которые служат для размещениявдокументе  объектов;

они называются инструментами. С помощью инструментария Spe-

edBar пользователь может:

     - Разработать новый объект.Для этого достаточно щелк-

       нуть мышью соответствующийинструмент,затем  мышью

       задать его положение и размеры.

     - Разместить в документе простейшие графические объекты

       - линии,прямоугольники,эллипсы.  Дляэтого нужно

       щелкнуть мышью инструмент,нажать левую клавишу мыши

       и и перемещать мышь по экрану до придания объекту не-

      обходимой формы и размеров. Кроме прямых линий, поль-

       зователь, работая в Paradox,может рисовать и кривые

       линии.

     - Создаватьв документе текстовые объекты с различными

       характеристиками, переменных (в зависимости от разме-

       ра вводимого текста) и фиксированных размеров.

     - Размещатьграфическиеизображения.  Щелкнув   мышью

       иконку Graphic,можноимпортировать графику из Win-

       dows Clipboard и файлов форматов .BMP,  .PCX,.TIF и

       других. Приэтом вставляемые изображения можно масш-

       табироватьс различными коэффициентами масштаба.

     - Выполнятьрастровые операции.В большинстве случаев

       при определениивдокументе  графического   объекта


                           - 73 -

       пользователь хочет увидеть на экране точную копию ка-

       кого-либо графическогоизображения.Однако,  иногда

       бывает необходимо,чтобы графический объект иэкран

       взаимодействовали другсдругом.  Например,объект

       можно сделатьпрозрачнымили  проинвертироватьего

       цвета. Растровые операции определяют,как оригиналь-

       ное графическое изображение накладывается на экран  -

       инвертированием, сложением, включением или исключени-

       ем цветов.

     - Размещать  поляво время создания новых документов и

       использования чертежей, отличных от бланка.

     - Размещать многозаписные объекты.

               VIII. КРОССТАБЛИЦЫ И ГРАФИКИ

     Использование кросстаблиц и графиков позволяет сосредо-

точить вниманиенаотдельных  группахтабличныхданных,

представлять их более нагляднои выразительно.

     Очень часто данные табличныхполейпринадлежат  како-

му-либо определенномунабору значений - категории.Кросс-

таблицы производят статистическую обработку данных таблицы,

разбивая записи на группы позначению в одном или несколь-

ких полях.Графики представляют этикатегоризированныеи

статистически обработанныеданныевизуально.

     Графики в Paradox используются и в формах, и в отчетах,

кросстаблицы - только в формах. Кросстаблицы и графики соз-

даются на основе модели данных тогодокумента,в  котором


                           - 74 -

они размещаются.

                      1. КРОССТАБЛИЦЫ

     Кросстаблицы представляют собой мощныйспособанализа

табличных данных.Кросстаблицыстатистически обрабатывают

информацию из одного или нескольких полей и показывают ито-

говую информациюв виде таблицы формата,подобного элект-

ронным таблицам.

     Фактически, кросстаблицыпредоставляют доступ к "скры-

той" информации, содержащейся в таблицах, производя следую-

щие операции:

     - классификацию данных по одной или нескольким  катего-

       риям;

     - статистическую обработку данных внутри категории;

     - сортировку статистической информации;

     - отображение данных в формате электронной таблицы.

     Простым примеромтаблицыявляется ее одномерный вари-

ант, позволяющий анализировать данные одного поля  таблицы.

Информация может быть представлена как в вертикальном виде,

так и в горизонтальном.

┌────────────────────────────────────────────────────────┐

│                   ┌────┬───┬────┬─────┬──────┬───┬────┐│

│                   │AmEx│COD│Cash│Check│Credit│ MC│Visa││

│                   └────┴───┴────┴─────┴──────┴───┴────┘│

│ ┌────────────────┐┌────┬───┬────┬─────┬──────┬───┬────┐│

│ │Number of Orders││ 16 │ 7 │ 15 │ 21│ 93   │ 34│ 38 ││

│ └────────────────┘└────┴───┴────┴─────┴──────┴───┴────┘│

└────────────────────────────────────────────────────────┘

В качествепримера  изображена таблица,созданная по полю

"Форма оплаты" таблицы "Заказы".  Кросстаблицапоказывает,


                           - 75 -

как размещенныевкакой-то фирме заказы распределились по

способам оплаты.

    Более сложными типами кросстаблиц являются двумерныеи

многотабличные кросстаблицы.Двумерные группируют информа-

цию сразу по нескольким категориям. Многомерные кросстабли-

цы формируютсянаоснове информации из нескольких таблиц,

которые связаны между собой однозначным отношением  (связью

типа один-к-одному, много-к-одному).

                         2. ГРАФИКИ

     Графики Paradoxобладаютширокими возможностями визу-

ального представления информации.Они позволяютбыстрои

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

те особенности и взаимные зависимости данных,  которыепри

обычном просмотре не видны.Paradox позволяет одновременно

просматривать различные виды графиков и одновременно  рабо-

тать с данными.

     По умолчанию Paradox создает табулярный график,  произ-

водящий статистическую обработку данных одного поля таблицы

по категориям,которые задаются значениямидругогополя.

Табулярный график - единственный тип графика, который можно

использовать в отчетах. Также имеется возможность использо-

вания статистических графиков. Статистический график - гра-

фик, для оси Y которого задана статистическая  операция,а

на оси Х откладываются значения полей таблиц.

     Виды графиков, реализуемых Paradox:

   - количественные графики;

     - линейно-временные графики;

     - процентные графики.

     Каждый из перечисленных видов может быть реализован  на


                           - 76 -

экране различными способами.Например,процентные графики

Paradox может представить в виде простого столбца, объемно-

го, круга, "таблетки" и т.д.

                    IX. ОБМЕН ДАННЫМИ

     Чрезвычайно важной и полезной чертой  графическойобо-

лочки Windowsявляется  возможностьдинамическогообмена

данными между ее программами в реальноммасштабевремени.

Для обменаданными  вWindows используются два механизма:

Динамический Обмен Данными (DDE) и Связывание и Встраивание

Объектов (OLE). Если DDE позволяет обмениваться данными, то

OLE позволяет хранить данные из другихWindows-программи

иметь непосредственный доступ к функциональным возможностям

этих программ.

     Программа, данные которой являются источником при обме-

не, называется сервером, а программа, которая получает дан-

ные при обмене, называется клиентом. Paradox использует оба

механизма обменаданнымии  способенбытьDDE-клиентом,

DDE-сервером и OLE-клиентом.

     Использование механизма DDE позволяет поддерживатьди-

намические связимеждуполями  Paradox-таблиц и данными в

других Windows-программах. Использование механизма OLE поз-

воляет встраивать в Paradox целые файлы из OLE-сервера. При

этом пользователь имеет доступ к OLE-серверу непосредствен-

но из Paradox и может с его помощью производить необходимые

изменения встроенных данных.


                           - 77 -

                        1. МЕХАНИЗМ DDE

     Как уже говорилось,Paradox можно использоватьвка-

честве DDE-сервера и в качестве DDE-клиента.

     Когда пользователь помещает данные из Paradox в  другие

Windows-программы, он   использует   Paradox   в   качестве

DDE-сервера.

     Предположим, что в электронной таблице (например, Quat-

tro Pro for Windows) выполняетсянекотораявычислительная

процедура. Значение,над которым пользователь хочет выпол-

нить вычисление,находится в полеParadox-таблицы.Чтобы

"доставить" в электронную таблицу необходимые данные,надо

скопировать значение поля Paradox-таблицы в Clipboard  Win-

dows, а затем вставить его в нужную ячейку электронной таб-

лицы соответствующей командой. При этом не просто копирует-

ся значение,а задается механизм динамического обмена дан-

ными (DDE),который сообщает электронной таблице,где ис-

кать значениедля вычислений в ячейке.При перемещении по

записям Paradox-таблицы значение в связанной ячейкеэлект-

ронной таблицы изменяется в соответствии со значением,  на-

ходящемся всоответствующемполе  текущейзаписи   Para-

dox-таблицы. Следует отметить,что пользователь может свя-

зать с DDE-клиентом не только отдельные поля таблицы,  но и

всю таблицу. Таким образом можно связывать Paradox с любыми

другими Windows-программами, которые поддерживают DDE (нап-

ример, текстовыми процессорами).

     Чтобы использовать Paradox в качестве DDE-клиента, надо

поместить информациюосвязи  сданнымииз  другой Win-

dows-программы в какое-либо алфавитно-цифровоеполеPara-

dox-таблицы. Для   этого   надо   скопироватьзначениеиз

DDE-cервера в Windows Clipboard, затем выбрать нужное алфа-


                           - 78 -

витно-цифровое поле и дать соответствующую команду.  Обычно

Paradox используется в качествеDDE-клиентатогда,  когда

необходимо братьданные из другой программы и на их основе

производить запросыктаблицам.  Также можно использовать

таблицу Paradox в качестве DDE-сервера,а запрос -вка-

честве DDE-клиента. При этом каждое изменение поля таблицы,

связанного DDE-связью,будет вызывать выполнениезапроса,

и, соответственно, обновление таблицы Answer.

            2. МЕХАНИЗМ OLE

     Механизм OLE позволяет хранить и использовать данные из

других Windows-программ и иметь доступ к их функциям непос-

редственно изParadox.  ЕслиDDEпозволяет Paradox иметь

доступ к источнику данных, нохраниттолько  указатель на

источник, то OLE позволяет не только хранить,но и отобра-

жать данные из других Windows-программ. Например, можно по-

местить документ,состоящий из сотен страниц, в единствен-

ной OLE-поле и просматривать его непосредственно  изPara-

dox.

     Paradox может быть только OLE-клиентом.Нельзяпомес-

тить данные из Paradox в другие программы,используя меха-

низм OLE.Как только  данныепомещаютсяиз  другихWin-

dows-программ в OLE-поля Paradox-таблиц,форм или отчетов,

пользователь получает возможность вызвать программу-сервер,

с помощью которой можно,например,отредактировать данные

OLE-поля. Например,можно в OLE-поле поместить рисунокиз

графического редактора PaintBrush, а потом из Paradox войти

в него дляредактированиявведенного  рисунка,используя

все его возможности.


                           - 79 -

                      Х. ЗАКЛЮЧЕНИЕ

     Что всегда отличало Paradox, так - это его возможности.

Недаром способ обработки данных Paradox фактически является

стандартом для других СУБД. Появление разновидности Paradox

- Paradox for Windows расширило и без того обширные возмож-

ности этой СУБД. Возможность работать с данными не только в

таблицах и формах, но и в кросстаблицах, - является еще од-

ним шагом вперед по пути коптимизацииобработки  данных,

предпринятым фирмой Borland. Наличие механизмов обмена дан-

ными делает Paradox требуемым компонентом как  намашинах,

работающих в сети, так и на одиночных. Наличие всесторонних

механизмов реализации запросов экономит время пользователя,

повышает наглядность изображения данных,тем самым еще по-

вышая возможности продукта.

     Единственное, что не отличает версии ParadoxforWin-

dows отверсий Paradox for DOS,так это простота работы с

данными, простота в составлении запросов, простота в реали-

зации новых функций.Пользователи,работавшие с  версиями

Paradox дляДОС,  при работе с версиями для Windows найдут

исключительно новые, дополнительные возможности, использую-

щие всепреимущества  ивозможностисистемы Windows и ее

приложений.

     К сожалению, на момент написания для широкой публики не

появились материалы о объектно-ориентированном языке-прило-

жении Paradox ObjectPAL, который улучшает возможности свое-

го предшественника языка PAL.

     С появлениемверсииParadox for Windows фирма Borland

устранила, по сути,единственныйсуществовавшийдо  того


                           - 80 -

времени недостаток Paradox - отсутствие с пакете компилято-

ра для создания EXE-файлов,и,как следствие,автономных

программных продуктов.В результате этого усовершенствова-

ния Paradox является базой данных,реализующей все необхо-

димый функции удобным для пользователя способом.


                           - 81 -

                         СПИСОК ЛИТЕРАТУРЫ

     1. Paradox forWindows:Практическое  руководство.Под

        редакцией Оспищева Д. А. Издательство АОЗТ "Алевар",

        1993 (2 части).

     2. Paradox - это очень просто.Чарльз Сигель.Москва,

        1993.

     3. Справочникпопрограммированиюв системе Paradox.

        Москва, 1992.