ВВЕДЕНИЕ
ОСНОВНЫЕ ПОНЯТИЯ
РАБОТА С СУБД PARADOX
РАЗРАБОТКА СТРУКТУРЫ ТАБЛИЦЫ
РАБОТА С ДАННЫМИ В ТАБЛИЦАХ
ЗАПРОСЫ
РАЗРАБАТЫВАЕМЫЕ ДОКУМЕНТЫ
КРОССТАБЛИЦЫ И ГРАФИКИ
ОБМЕН ДАННЫМИ
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРА
I. ВВЕДЕНИЕ
Опыт применения ЭВМ для построения прикладных систем обработки данных показывает, что самым эффективным инструментом здесь являются не универсальные алгоритмические языки высокого уровня, а специализированные языки для создания систем управления данными. Такие средства обычно включаются в состав СУБД, но они могут существовать и отдельно. СУБД дают возможность пользователям осуществлять непосредственное управление данными, а программистам быстро разрабатывать более совершенные програмные средства их обработки. Характеристики готовых прикладных пакетов определяются прежде всего принятой в СУБД организацией данных и типом используемого транслятора.
По способу установления связей между данными различают: - реляционную - иерархическую - сетевую модели.
Реляционная модель является простейшей и наиболее привычной формой представления данных в виде таблицы. В теории множеств таблице соответствует термин отношение (relation), который и дал название модели. Для нее имеется развитый математический аппарат - реляционное исчисление и реляционная алгебра, где для баз данных (отношений) определены такие хорошо известные теоретико-множественные операции, как объединение, вычитание, пересечение, соединение и др.
Достоинством реляционной модели является сравнительная простота инструментальных средств ее поддержки, недостатком - жесткость структуры данных (невозможность, например, задания строк таблицы произвольной длины) и зависимость скорости ее работы от размера базы данных. Для многих операций, определенных в такой модели, может оказаться необходимым просмотр всей базы.
Иерархическая и сетевая модели предполагают наличие связей между данными, имеющими какой-либо общий признак. В иерархической модели такие связи могут быть отражены в виде дерева-графа, где возможны только односторонние связи от старших вершин к младшим. Это облегчает доступ к необходимой информации, но только если все возможные запросы отражены в структуре дерева. Никакие иные запросы удовлетворены быть не могут.
Указанный недостаток снят в сетевой модели, где, по крайней мере теоретически, возможны связи "всех со всеми". Поскольку на практике это, естественно, невозможно, приходится прибегать к некоторым ограничениям. Использование иерархической и сетевой моделей ускоряет доступ к информации в базе данных. Но поскольку каждый элемент данных должен содержать ссылки на некоторые другие элементы, требуются значительные ресурсы как дисковой, так и основной памяти ЭВМ. Недостаток основной памяти, конечно, снижает скорость обработки данных. Кроме того, для таких моделей характерна сложность реализации СУБД.
Хотя известны попытки создания СУБД, поддерживающих сетевую модель для персональных компьютеров, в настоящее время реляционные системы лучше соответствуют их техническим возможностям и вполне удовлетворяют большинство пользователей. Скоростные характеристики этих СУБД поддерживаются специальными средствами ускоренного доступа к информации индексированием баз данных.
В наиболее полном варианте СУБД должна содержать следующие составные части : - Среда пользователя, дающая возможность непосредс твенного управления данными с клавиатуры.
- Алгоритмический язык для программирования приклад ных систем обработки данных, реализованный как ин терпретатор. Последнее позволяет быстро создавать и отлаживать программы.
- Компилятор для придания завершенной программе вида готового коммерческого подукта в форме независимо го ЕХЕ-файла.
- Программы-утилиты быстрого программирования рутин ных операций (генераторы отчетов, экранов, меню и других приложений).
Собственно СУБД - это оболочка пользователя. Ввиду того, что такая среда ориентирована на немедленное удовлетворение его запросов, это всегда система-интерпретатор.
Наличие в СУБД языка программирования позволяет создавать сложные системы обработки данных, ориентированные под конкретные задачи и даже под конкретного пользователя. Есть также СУБД, которые имеют только язык и не имеют оболочки пользователя. Они предназначены исключительно для программистов, и это системы компилирующего типа. Такие пакеты лишь с оговорками могут быть названы СУБД. Обычно их называют просто компиляторами.
Paradox (программный продукт фирмы Borland) - это признанный лидер на рынке на рынке систем управления базами данных. В течение последних пяти лет (начиная с версии 3.0) Paradox признается специалистами лучшей реляционной СУБД для персональных компьютеров.
В 1991 году Paradox 3.5 признается лучшей реляционной СУБД и пользователями (премия журнала PC World MAgazin за 1991 год). Свидетельством все возрастающего признания является и то, что каждая третья СУБД, проданная в 1991 году в США, - это Paradox.
Многие эксперты приходят к выводу что технология обработки информации, на которой базируется Paradox, - это технология СУБД 90-х годов. Paradox фактически стал стандартом СУБД для персональных компьютеров.
Среди многочисленных особенностей Paradox выделяют уникальное сочетание необычайной простоты и прозрачности с огромными возможностями функционально завершенной системы управления данными ( в этом и есть "парадокс"). И как результат такого парадоксального сочетания - мощнейшая СУБД подчиняется не только профессиональному программисту, но и пользователю, не имеющему ни малейшего представления о программировании или обработке информации на компьютере.
Paradox for Windows - новый продукт фирмы Borland.
Paradox for Windows версии 1.0 представляет собой уникальный программный продукт, впитавший в себя новейшие программные технологии фирмы Borland. Прекрасный интерфейс, визуальные средства проектирования таблиц, форм, запросов, отчетов, полное использование графических возможностей MS Windows 3.1 (в том числе возможности работать с видео и звуком), объектно ориентированный язык программирования ObjectPal и великолепный отладчик в сочетании с простотой и наглядностью использования, делает Paradox for Windows незаменимым средством создания широкого спектра приложений от простых однотабличных форм до сложных распределенных программных комплексов, функционирующих в сети и обрабатывающих большие объемы текстовой, графической, видео и звуковой информации в реальном масштабе времени.
II. ОСНОВНЫЕ ПОНЯТИЯ
1. ОБЪЕКТЫ PARADOX Paradox предоставляет большой выбор способов хранения, отображения и представления данных. Компоненты, которые используются для хранения и представления данных, называются объектами. В системе Paradox существуют следующие объекты : таблица, форма, отчет, запрос, программа, библиотека программ.
1.1. ТАБЛИЦЫ Paradox размещает данные в таблицах. Таблицы состоят из рядов и колонок. Каждый ряд содержит всю доступную информацию о конкретном предмете и называется "запись", а каждая колонка - одну категорию данных, называемую "полем".
1.2. ФОРМЫ Иногда более удобно работать с данными в отдельных записях, а не со всей таблицей целиком. Формы позволяют пользователю видеть столько данных из таблицы, сколько он предпочтет. При этом их можно представлять в другом формате. Если редактируются данные в форме, то Paradox обновляет соответствующую информацию в таблице.
Для создания форм с необходимой структурой можно использовать средства разработки Paradox. Paradox позволяет отображать в форме несколько записей одной таблицы или записи из нескольких разных таблиц одновременно.
1.3. ОТЧЕТЫ При работе с базами данных часто бывает нужно распечатать необходимую информацию. Paradox предоставляет мощные средства генерации отчетов. Пользователь может сортировать и группировать записи, производить необходимые вычисления над полями, а также упорядочивать и представлять данные практически в любом формате.
При создании отчетов, также как и форм, доступны средства разработки Paradox. Используя их, можно сконструировать необходимый вид отчета. А так как Paradox позволяет связывать данные из разных таблиц, пользователь может легко создавать сложные отчеты, использующие несколько таблиц базы данных.
1.4. ЗАПРОСЫ Запрос в Paradox - это некий вопрос об информации в базе данных. При помощи запросов можно: - вести поиск или выбор данных в таблице; - комбинировать данные из нескольких таблиц; - производить вычисления над данными; - вставлять данные; - удалять данные; - изменять данные; - определять группы и наборы данных, над которыми будут производиться вычисления или сравнения.
Paradox предоставляет простой, но гибкий и мощный способ создания запросов. В окне Query можно выбрать таблицы, по которым можно сделать запрос. Затем вводится образец данных, удовлетворяющий условиям, а Paradox выбирает из таблицы те данные, которые соответствуют этому образцу. Это называется Запрос По Образцу.
1.5. ПРОГРАММЫ Программы - это последовательность команд на языке ObjectPAL (языке разработки приложений Paradox), которые позволяют автоматизировать выполнение определенной последовательности действий над базой данных. Коды ObjectPAL обычно "присоединяются" к объектам форм, но можно написать и отдельные программы, которые будут выполняться независимо от какой-либо формы. Например, можно написать программу для открытия определенной таблицы и выполнения вычислений над одним или более полями этой таблицы. Программы такого типа запускаются непосредственно из основного окна Paradox, а не в результате того, что произошло какое-либо событие, которое запустило на выполнение программу, присоединенную к некоторому объекту формы.
Paradox также позволяет создавать библиотеки программ. Библиотека это объект, который может использоваться для хранения команд ObjectPAL. Это дает возможность пользователю создавать процедуры, доступные различным формам, программам и другим библиотекам.
1.6. КОНСТРУКЦИОННЫЕ ОБЪЕКТЫ Кроме рассмотренных выше объектов Paradox предоставляет набор так называемых конструкционных объектов, при помощи которых разрабатывается структура форм и отчетов. Эти объекты создаются при использовании специальных средств, находящихся на SpeedBar, (линейке, расположенной в верхней части экрана и содержащей набор кнопок-иконок для вызова различных операций), и могут размещаться на документе, который разрабатывает пользователь, будь то форма или отчет.
В случае формы - страница, на которой пользователь размещает объекты, сама является объектом. Можно изменить ее свойства, например, цвет, или присоединить к ней методы (метод - это последовательность команд ObjectPAL, выполняющая определенные действия). Методы, присоединенные к странице, могут начать выполняться при открытии или закрытии документа, при щелчке или двойном щелчке клавишей мыши или при выполнении другого события.
1.6.1. Текстовые объекты Текстовый объект - это объект, содержащий текст. Пользователь может создать рамку, в которую можно будет поместить текст. Текст может быть любой длины и любого формата.
Чаще всего текстовые объекты используются для размещения заголовков на форматах и отчетах или для задания имен полей и таблиц.
1.6.2. Прямоугольники, линии, эллипсы Прямоугольники, линии и эллипсы - это объекты, которые могут размещаться в форме или отчете для придания документу более привлекательного вида. Можно рисовать прямоугольники или эллипсы вокруг полей или таблиц, использовать дополнительные линии для того, чтобы указать на какую-либо важную особенность в документе.
1.6.3. Поля Пользователь может размещать поля из таблиц в форме или отчете. При этом используется инструмент Field на SpeedBar для того, чтобы начертить рамку (границу поля), а затем задать ему необходимые свойства. Можно определить объект типа поле из уже существующей таблицы или создать вычисляемое или итоговое поле для выполнения действий над данными.
1.6.4. Таблицы Таблица - один из основных объектов Paradox. В разрабатываемых документах (формах или отчетах) можно использовать инструмент Table для того, чтобы создать столбцы и ряды таблицы, а затем задать и саму таблицу с данными. В таблицах на экранных формах и отчетах можно размещать поля и их заголовки гораздо свободнее и разнообразнее, чем в режиме просмотра и редактирования таблиц в окне Table.
1.6.5. Кросстаблицы Кросстаблица преобразует данные из структуры таблицы базы данных в структуру, подобную электронной таблице. Она подводит итоги по одному полю, группируя записи в этом поле и основываясь на значениях одного или нескольких полей
- 18 (например, можно узнать объем продаж различных изделий по месяцам). Кросстаблицы дают возможность анализировать данные по одному или нескольким факторам.
Например, пользователь хочет определить, в какие месяцы клиенты предпочитают расплачиваться наличными, а в какие по перечислению. Он может создать кросстаблицу, которая покажет суммы отпуска товаров по накладным в каждом месяце, сгруппированные по способам оплаты.
1.6.6. Графики Иногда более удобно анализировать и представлять информацию в виде графиков и диаграмм. Paradox дает возможность легко создавать графики. Можно изменять тип графика, его строение и свойства. Paradox автоматически обновляет график, если изменяются данные в таблице (даже если изменение произошло при работе другого сетевого пользователя этой таблицы.
1.6.7. Многозаписные объекты Многозаписные объекты представляют собой повторяющиеся поля нескольких записей. Пользователь задает расположение одной записи и указывает, сколько раз по вертикали и горизонтали повторяется этот образец. Многозаписный объект позволяет отображать одновременно несколько записей (как и в таблицах) и так располагать поля, чтобы было удобно (как в форматах).
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 обеспечивает связь между таблицей и исходным файлом встроенного объекта, пользователь может, щелкнув дважды мышью над этим объектом, запустить то приложение, в котором был создан этот объект.
2. ОСНОВЫ ПРЕДСТАВЛЕНИЯ ДАННЫХ
2.1. КЛЮЧИ Paradox поддерживает два типа формата таблиц - Paradox и dBASE. При использовании таблиц Paradox-формата следует понимать, как работают ключи таблиц (dBASE тоже использует индексы, но в dBASE нет понятия первичного ключа в том смысле, как в Paradox).
Первичным ключом, который иногда называют просто ключом, является поле (или группа полей), содержащие данные, однозначно идентифицирующие каждую запись в таблице.
Значение ключа должно быть уникальным для каждой записи таблицы. Таблица, у которой определен первичный ключ, называется индексированной.
Ключ устанавливает порядок сортировки по умолчанию записей таблицы. Paradox сортирует записи таблицы на основании значений поля (полей - в случае составного первичного ключа), которое задано как ключевое. Это позволяет быстро находить записи по значению ключа и совершать другие операции над записями индексированной таблицы.
Paradox допускает пустое значение ключа только у одной записи таблицы. Все последующие записи с пустым значением ключа считаются записями с дублирующим ключом и в таблицу не допускаются.
2.1.1. Составной первичный ключ Можно задавать в качестве ключа либо отдельное поле, либо группу полей. Когда в качестве ключа определена группа полей, его называют составным первичным ключом.
Paradox не допускает присутствия в таблице записей с дублирующими значениями первичного ключа. В случае, когда в таблице создан составной ключ, Paradox позволяет значениям отдельных полей, составляющих первичный ключ, повторяться, но только в тех случаях, когда набор значений полей, составляющих ключ, остается уникальным для каждой записи. Другими словами, поля, составляющие ключ как целое, должны однозначно идентифицировать запись.
Например, таблица "Клиенты" может иметь несколько записей, имеющих значение поля "Фамилия" "Сидоров". Аналогично, может быть несколько записей со значением поля "Имя" "Петр". Ни одно из этих полей не идентифицирует запись однозначно. Но предположим, что их комбинация в упрощенном случае (Петр Сидоров) уникальным образом идентифицирует запись (то есть среди клиентов нет двух с одинаковыми фамилией и именем). Тогда можно создать для этой таблиццы составной первичный ключ, состоящий из сочетания полей "Фамилия" и "Имя". Конечно, этого может быть в реальном случае не достаточно. Как правило, следует всегда включать в таблицу достаточное количество полей, чтобы обеспечить уникальность каждой записи таблицы. Если пользователь не может разумным способом создать составной ключ, в этой ситуации он может определить поле идентификатора записи, которое имеет единственное значение для каждой записи таблицы. Например, для таблицы "Клиенты" можно ввести поле "Номер клиента", задав каждому клиенту уникальный (и в достаточной степени произвольный) номер.
2.2. ИНДЕКСЫ Индекс определяет порядок, в котором Paradox имеет доступ к записям таблицы. Как Paradox, так и dBASE позволяют создавать у таблицы несколько индексов, определяющих различные порядки доступа к записям. Но Paradox и dBASE работают с индексами различным образом.
Когда пользователь определяет индекс, Рaradox создает файл, содержащий значения индексированных полей и порядковые номера записей с этими значениями индекса. Paradox использует индексный файл для определения местоположения записи в таблице по значению индекса.
Индексы можно использовать для просмотра записей в порядке, отличном от определяемого по умолчанию первичным ключом или физическим порядком расположения записей (в случае отсутствия ключа). При этом пересортировки и изменения физического порядка хранения записей в таблице не происходит.
2.2.1. Первичный индекс Paradox-таблицы Paradox упорядочивает записи в индексированной таблице в соответствии со значением поля (полей), являющегося ключом таблицы. Этот порядок называется первичным индексом.
По умолчанию все индексы (как первичные, так и вторичные) упорядочивают и позволяют получить доступ к записям в возрастающем порядке значений ( от А до Z или от 0 до 9). Например, если в качестве индекса алфавитно-цифровое поле, записи будут упорядочены в естественном для каждого национального языка порядке. Если этот индекс первичный - записи с дублирующимися значениями недопустимы.
В случае составного ключа Paradox создает составной первичный индекс, который упорядочивает записи сначала по первому из полей, составляющих ключ (в соответствии со структурой таблицы), затем по следующему полю и так далее. Причем значения отдельных полей ключа могут быть одинаковы для отдельных записей, но сочетание полей в целом должно быть уникальным.
2.2.2. Вторичные индексы Paradox-таблицы Работая с таблицами в Paradox, можно использовать вторичный индекс для того, чтобы задать альтернативный порядок доступа и отображения записей.
Вторичные индексы могут быть как автоматически поддерживаемые, так и неподдерживаемые системой Paradox (первичный индекс всегда поддерживаемый). Если индекс поддерживаем, то Paradox обновляет индексный файл всякий раз, когда изменяется таблица (редактируются значения полей, составляющих этот индекс, добавляются или удаляются записи). Файл неподдерживаемого индекса не обновляется при изменениях таблицы, но может быть открыт явным образом для использования. Paradox позволяет открыть только один неподдерживаемый индекс одновременно.
Вторичные индексы могут использоваться также для связывания нескольких таблиц.
Paradox допускает создание составного вторичного индекса, использующего группу полей таблиц.
2.2.3. Индексирование dBASE-таблиц Хотя Paradox поддерживает индексные файлы двух форматов: .MDX и .NDX, рекомендуется использовать только формат .MDX.
2.3. СИСТЕМА ССЫЛОК МЕЖДУ ТАБЛИЦАМИ Система ссылок обеспечивает соответствие множества значений поля или группы полей одной таблицы, называемой дочерней, множеству значений первичного ключа другой таблицы - родительской. Поля в дочерней таблице, по которым обеспечивается связь таблиц в единую базу данных на основе значений ключа из родительской таблицы, называется заимствованным ключом. Система ссылок предоставляет несколько способов воздействия на значения заимствованных ключей во всех дочерних таблицах при изменении значений ключа в родительской таблице (поддержание системы ссылок обеспечивается только для Paradox-таблиц.
Например, таблица "Заказы" имеет поле "Номер клиента". Пользователь хочет быть абсолютно уверен, что любое значение этого поля представляет номер, который был присвоен клиенту при занесении его в таблицу "Клиент", связанную с таблицей "Заказы" по этому полю. Чтобы обеспечить такое строгое соответствие (для того, чтобы не было счетов, выписанных неизвестно кем), можно объявить поле "Номер клиента" заимствованным, использую связь с ключом из таблицы "Клиент". Тогда Paradox каждый раз, как только вводится новый счет и заполняется и вводится в поле "Номер клиента" идентификационный номер клиента, проверяет, допустимо ли это значение, и есть ли в базе данных клиент с таким номером.
2.3.1. Каскадное обновление Предположим, что возникла необходимость изменит значение ключа в родительской таблице. Система ссылок позволит автоматически изменить на новое значение все записи в дочерней таблице с соответствующим значением заимствованного ключа.
Продолжая предыдущий пример, допустим, возникла необходимость у какого-либо клиента в таблице "Клиент" изменить его идентификационный номер "Номер Клиента". Если при этом не будет использоваться система ссылок, то все заказы в дочерней таблице "Заказы" не будут отслеживать изменения, происходящие с данными о клиентах из таблицы "Клиент". При использовании системы ссылок Paradox самостоятельно произведет каскадное обновление соответствующих записей в таблице "Заказы". Paradox найдет все записи из таблицы "Заказы", для которых значение заимствованного ключа совпадает со значением ключа родительской таблицы "Клиент", и заменит их на новое значение идентификационного номера клиента.
3. ТЕРМИНЫ И ПОНЯТИЯ PARADOX
3.1. ПСЕВДОНИМ Псевдоним - это имя, которое можно присвоить каталогу DOS для краткости. Если пользователь работает с базой данных, состоящей из таблиц, текстовых файлов, форм, отчетов, программ и графиков, находящихся в одном и том же каталоге: C:PARADOXPRJNEWPLAN. Используя диалоговое окно Alias Manager, можно дать этой последовательности псевдоним.
Использование псевдонимов дает следующие преимущества: - избавляет пользователя от необходимости печатать длин ные имена каталогов DOS; - ссылки к файлам в формах, отчетах и подобных объектах Paradox могут использовать имена псевдонимов вместо указания полного пути доступа к ним; - в любой момент можно изменить определение псевдонима.
Тогда все формы, отчеты и другие объекты Paradox авто матически будут ссылаться к файлам из другого каталога.
3.2. РАБОЧИЙ КАТАЛОГ Рабочий каталог Paradox - это каталог, содержащий таблицы, с которыми пользователь работает в данный момент времени (соответствует текущему каталогу DOS). Рабочий каталог Paradox определяет, какие файлы будут показаны в диалоговом окне, которое открывается при использовании команды меню File|Open или File|Save. При инсталяции Paradox на отдельной машине, не подключенной к локальной сети, Paradox создает каталог с именем WORKING в своем системном каталоге. Это рабочий каталог пользователя по умолчанию.
Можно определить любой каталог в качестве рабочего. Paradox присваивает рабочему каталогу псевдоним :WORK:, и если этому каталогу был присвоен ранее другой псевдоним, Paradox все равно будет использовать для рабочего каталога псевдоним :WORK:.
3.3. ЛИЧНЫЙ КАТАЛОГ В многопользовательской среде каждому пользователю необходимо место для размещения временных объектов. Временные таблицы, такие как, Answer или Inserted (создающиеся в результате запросов) должны храниться в неразделяемом каталоге, иначе другой пользователь, работающий одновременно и запустивший позже на исполнение запрос, может переписать эти таблицы. В локальной сети каждый пользователь Parаdox должен задавать свой личный каталог для хранения временных объектов.
Файлы, содержащиеся в личном каталоге пользователя, будут показаны в диалоговом окне, которое появляется при выполнении команд File|Open или File|Save вместе с файлами из рабочего каталога. Они располагаются в конце списка файлов с префиксом :PRIV: и доступны только конкретному пользователю.
Задать личный каталог можно командой File|Private Directory. Parаdox присваивает ему псевдоним :PRIV:.
При установке Parаdox на машине, не подключенной к сети, личным каталогом по умолчанию будет каталог с именем PRIVATE в системном каталоге Parаdox.
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 можно: - управлять файлами; - задавать рабочие параметры среды; - управлять многопользовательским доступом к данным; - определять и задавать предпочитаемые текущие установки и установки по умолчанию.
Многие из установленных пользователем параметров среды остаются действительными на протяжении всего сеанса работы. Сеанс работы с Paradox - это время с момента запуска системы Paradox и до завершения работы с ней. Paradox позволяет сохранить во время сеанса параметры среды для использования их в дальнейшем.
DeskTop является основным рабочим окном Paradox. Все остальные окна открываются на фоне DeskTop.
Каждый видимый объект Paradox отображается в своем особом типе окна. Каждый тип окна обладает специфичным ему набором команд и функций, применимых только к нему. Но так как DeskTop содержит все другие окна, команды и функции DeskTop доступны им всем.
DeskTop содержит в себе следующие пункты меню: File, Properties, Windows, Help, которые всегда доступны.
1.1. МЕНЮ FILE Пункты меню File осуществляют весь комплекс операций над файлами, который позволяет Paradox. Зайдя в это меню, можно выполнить следующие операции: - создать, вызвать, сохранить файл; - распечатать документ; - работать над каталогами; - менять конфигурацию Paradox; - выполнять специальные функции.
Некоторые операции подробнее будут описаны ниже.
1.2. ИСПОЛЬЗОВАНИЕ SPEEDBAR В каждом окне ниже меню находится набор иконок в виде кнопок и инструментов SpeedBar. Его предназначение - ускорять работу. Одни кнопки просто являются быстро доступными эквивалентами команд меню или комбинаций клавиш. Другие кнопки позволяют более быстро и удобно получать доступ к данным (переход на следующую или предыдущую запись, перемещение в начало или конец таблицы и т.п.).
Как и меню, SpeedBar изменяется в зависимости от того, окно какого типа активно. Каждому типу окна присущ свой SpeedBar.
IV. РАЗРАБОТКА СТРУКТУРЫ ТАБЛИЦЫ
Таблицы основные строительные блоки системы Paradox: все действия, которые производятся в Paradox, каким-либо образом связаны с таблицами.
Ниже будут рассмотрены вопросы, связанные с разработкой и изменением структуры Paradox- и dBASE-таблиц.
1. РАЗРАБОТКА ТАБЛИЦ Первым шагом разработки таблицы является продумывание ее структуры. Пользователь решает, какую информацию будет таблица содержать и в каком порядке она должна располагаться. При разработке таблиц следует : - избегать повторения полей. Это обеспечивает более гибкое хранение данных и простой доступ к ним. В этом состоит отличие разработки таблиц базы данных от организации данных в системах электронных таблиц.
- быть исчерпывающим. В таблицу следует включать поля для всей необходимой информации, но не забивать таблицу ненужными данными. Дополнительное поле можно легко при необходимости ввести в таблицу.
- использовать небольшие базы данных. Если нужно организовать базу данных под большой объем информации, то обычно, лучше разместить ее в несколько небольших взаимосвязанных таблиц, чем в одну всеобъемлющую.
- определять необходимый тип таблиц.
2. СОЗДАНИЕ ТАБЛИЦ Для создания новой таблицы нужно выбрать пункт меню File|New|Table или щелкнуть правой клавишей мыши кнопку Open Table, находящуюся на SpeedBar. Paradox выведет на экран диалоговое окно Table Type.
Paradox поддерживает следующие форматы файлов: - Paradox for Windows; - Paradox; - dBASE IV; - dBASE III+. Любой из этих форматов можно выбрать, указав на него мышью.
При открытии таблицы типа Paradox на фоне диалогового окна Create Table появится следующая структура: ---T--------Field Name-------TType-T-Syze-TKey¬ 1¦¦ ¦ ¦ ¦ Диалоговое окно Create Table служит для: - ввода имен полей таблицы; - определение типа и размера поля.
Кроме этого, можно: - определить ключевые поля; - назначить проверку значений в каждом поле; - определить вторичный индекс таблицы; - назначить для данной таблицы таблицу-справочник; - определить систему ссылок к другим таблицам - назначить пароль доступа к таблице или к ее отдельным полям.
Пример.
Создание Paradox-таблицы Для создания Paradox-таблицы нужно: - ввести имя первого поля в колонке Field Name перечня полей; - указать тип поля, переместившись с помощью клавиатуры или мышью в колонку Type; - переместится в колонку Size и ввести желаемый размер поля (если это необходимо); - переместится на вторую строку перечня полей и повторить проделанные операции для остальных полей; - нажать мышью кнопку Save As для сохранения таблицы и выбора ее имени.
Перечень полей служит для определения полей новой таблицы. При перемещении по колонкам Paradox показывает список значений, допустимых для ввода в каждую текущую позицию.
Имена полей вводятся в колонку Field Name перечня полей. Требования к именам полей: - максимальная длина имени поля составляет 25 символов; - имя не должно начинаться с символа пробела; - каждое поле в таблице должно иметь уникальное имя.
Нельзя сделать имя уникальным:- добавлением пробелов в конце имени;- изменением верхнего и нижнего регистров букв; - имя поля не должно содержать следующие символы:- { }, [ ], ( );- комбинацию ->;- один символ #.
3. ОПЕРАЦИИ НАД ТАБЛИЦАМИ
3.1. ОБЩИЕ ОПЕРАЦИИ Функции в меню Paradox позволяют пользователю осуществлять широкий комплекс операций и различных действий над таблицами. Они всесторонне охватывают все этапы создания и использования таблиц, предоставляют возможность реализовать все замечания, возникшие в процессе их использования, как по содержимому таблицы, так и по ее структуре.
Операции, связанные с таблицами: - вставка, удаление полей; - операции с ключевыми полями; - заимствование готовой структуры таблицы; - редактирование имени поля; - изменение порядка следования полей; - контроль корректности данных; - задание таблицы-справочника; - определение вторичных индексов; - определение системы ссылок между таблицами; - установка пароля доступа к данным; - выбор драйвера национального языка.
Некоторые операции подробнее описаны ниже.
3.2. КЛЮЧЕВЫЕ ПОЛЯ Ключевые поля определяют первичный индекс и порядок сортировки записей в таблице. Ключевое поле подразумевает также, что находящееся в нем значение должно быть уникальным.
Ключевые поля необходимы для связывания таблиц и организации системы ссылок между таблицами.
3.2.1. Определение ключевых полей При определении ключевых полей следует учитывать следующие ограничения: - таблица может иметь только один ключ, состоящий из одного или нескольких полей; - ключевые поля таблицы должны быть первыми в перечне полей; - при определении нескольких полей как ключевых, задается составной ключ. Набор значений в этих полях должен быть уникальным для каждой записи в таблице. Составной ключ должен начинаться с первого поля перечня полей.
Чтобы определить поле как ключевое (или снять ключ с поля), надо переместится в колонку Key перечня полей и произвести двойной щелчок мышью или нажать любую клавишу.
3.3. ЗАИМСТВОВАНИЕ ГОТОВОЙ СТРУКТУРЫ ТАБЛИЦЫ
Иногда бывает необходимо создать таблицу со структурой, или идентичной уже имеющейся таблицы. Можно также воспользоваться структурой готовой таблицы чтобы изменить ее при необходимости. Paradox предоставляет такую возможность.
Кроме самой структуры таблицы можно заимствовать ее первичный и вторичный индексы. контроль на допустимость значения полей, таблицы-справочники, систему ссылок и другие таблицы.
3.4. КОНТРОЛЬ КОРРЕКТНОСТИ ДАННЫХ
Контроль значений - это условия, которым должны удовлетворять вводимые в поля данные. --------------T---------------------------------------¬ ¦ Тип контроля¦ Значение ¦ +-------------+---------------------------------------+ ¦ Required ¦ Это поле каждой записи таблицы должно¦ ¦ field ¦ содержать не пустое значение ¦ +-------------+---------------------------------------+ ¦ Minimum ¦ Значения, вводимые в данное поле,¦ ¦¦ должны быть не меньше указанной вели-¦ ¦¦ чины ¦ +-------------+---------------------------------------+ ¦ Maximun ¦ Значения, вводимые в данное поле,¦ ¦¦ должны быть не больше указанной вели-¦ ¦¦ чины ¦ +-------------+---------------------------------------+ ¦ Default ¦ Указываемая величина автоматически за-¦ ¦¦ носится в поле.
¦ +-------------+---------------------------------------+ ¦ Picture ¦ Пользователь определяет строку симво-¦ ¦¦ лов, которая работает как шаблон для¦ ¦¦ вводимых данных ¦ L-------------+---------------------------------------
3.5. ЗАДАНИЕ ТАБЛИЦЫ-СПРАВОЧНИКА
Задание таблицы-справочника означает, что пользователь обязан вводить в свою таблицу только те данные, которые уже содержаться в другой таблице - таблице-справочнике. "Присоединение" таблицы-справочника к какому-либо полю приводит к следующему: - заставляет вводить те значения6 которые уже существуют в первом поле таблицы-справочника; - позволяет найти и автоматически скопировать данные из таблицы-справочника.
Таблицы-справочники используются, в основном, при вводе данных. В отличие от системы ссылок, этот режим не отслеживает и не контролирует изменения, которые вносятся в таблицу-справочник. Использование справочника обеспечивает безошибочное копирование из одной таблицы в другую, в то время, как система ссылок сохраняет неразрывность связей между данными в различных таблицах.
3.6. ОПРЕДЕЛЕНИЕ ВТОРИЧНЫХ ИНДЕКСОВ
Пользователь имеет возможность присвоить полю или группе полей вторичный индекс чтобы: - производить быстрый поиск значений в определенных полях; - иметь возможность другого порядка просмотра таблицы; - связывать таблицы.
Чтобы просмотреть записи в таблице, имеющей ключ, в другом порядке, необходимо использовать вторичный индекс. Только таким образом можно временно скрыть физический порядок записей, заданный ключом таблицы.
Примером использования вторичного индекса может служить задача связывания таблиц "Клиент" и "Заказы" таким образом, чтобы были видны заказы каждого клиента. Таблица "Заказы" имеет вторичный индекс, связанный с полем "Номер клиента". Это означает, что Paradox может быстро найти все записи с данным значе