45986 (665291), страница 2
Текст из файла (страница 2)
Для создания форм с необходимой структурой можно использовать средства разработки 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 обеспечивает связь между таблицей и исходным файлом встроенного объекта, пользователь может, щелкнув дважды мышью над этим объектом, запустить то приложение, в котором был создан этот объект.
1.7. ФАЙЛЫ ОБЪЕКТОВ PARADOX В таблице ниже приведены расширения файлов, в которых Paradox хранит основные объекты. -----------T--------------------------------------------¬ ¦Расширение¦ Тип объектов ¦ +----------+--------------------------------------------+ ¦ .CFG ¦ Файл конфигурации ¦ +----------+--------------------------------------------+ ¦ .DB ¦ Paradox-таблица ¦ +----------+--------------------------------------------+ ¦ .DBF ¦ dBASE-таблица ¦ +----------+--------------------------------------------+ ¦ .DBT ¦ Файл мемо-поля dBASE-таблицы ¦ +----------+--------------------------------------------+ ¦ .FAM ¦ Список связанных файлов Paradox ¦ +----------+--------------------------------------------+ ¦ .FDL ¦ Оттранслированная форма ¦ +----------+--------------------------------------------+ ¦ .FSL ¦ Сохраненная форма ¦ +----------+--------------------------------------------+ ¦ .FTL ¦ Временная форма ¦ +----------+--------------------------------------------+ ¦ .INI ¦ Файл конфигурации системы ¦ +----------+--------------------------------------------+ ¦ .LDL ¦ Оттранслированная библиотека ¦ +----------+--------------------------------------------+ ¦ .LSL ¦ Сохраненная библиотека ¦ +----------+--------------------------------------------+ ¦ .LTL ¦ Временная библиотека ¦ L----------+-------------------------------------------- ¦ .MB ¦ Файл мемо-поля Paradox-таблицы ¦ +----------+--------------------------------------------+ ¦ .MDX ¦ Поддерживаемый индекс dBASE-таблицы ¦ +----------+--------------------------------------------+ ¦ .NDX ¦ Неподдерживаемый индекс dBASE-таблицы ¦ +----------+--------------------------------------------+ ¦ .PX ¦ Первичный индекс Paradox-таблицы ¦ +----------+--------------------------------------------+ ¦ .QBE ¦ Сохраненный запрос ¦ +----------+--------------------------------------------+ ¦ .RDL ¦ Оттранслированный запрос ¦ +----------+--------------------------------------------+ ¦ .RSL ¦ Сохраненный запрос ¦ +----------+--------------------------------------------+ ¦ .RTL ¦ Временный запрос ¦ +----------+--------------------------------------------+ ¦ .SDL ¦ Оттранслированная программа ¦ +----------+--------------------------------------------+ ¦ .SSL ¦ Сохраненная программа ¦ +----------+--------------------------------------------+ ¦ .STL ¦ Временная программа ¦ +----------+--------------------------------------------+ ¦ .TV ¦ Установка параметров Paradox-таблицы ¦ +----------+--------------------------------------------+ ¦ .TVF ¦ Установка параметров dBASE-таблицы ¦ +----------+--------------------------------------------+ ¦ .VAL ¦ Критерии допустимых значений и системы ¦ ¦ ¦ ссылок Paradox-таблицы ¦ L----------+-------------------------------------------------------T--------------------------------------------¬ ¦ .Xnn ¦ Вторичный простой пронумерованный индекс¦ ¦ ¦ Paradox-таблицы ¦ +----------+--------------------------------------------+ ¦ .Ynn ¦ Вторичный простой пронумерованный индекс¦ ¦ ¦ Paradox-таблицы ¦ +----------+--------------------------------------------+ ¦ .XGn ¦ Составной вторичный индекс Paradox-таблицы ¦ +----------+--------------------------------------------+ ¦ .YGn ¦ Составной вторичный индекс Paradox-таблицы ¦ L----------+--------------------------------------------
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 использует индексный файл для определения местоположения записи в таблице по значению индекса.
Индексы можно использовать для просмотра записей в порядке, отличном от определяемого по умолчанию первичным ключом или физическим порядком расположения записей (в случае отсутствия ключа). При этом пересортировки и изменения физического порядка хранения записей в таблице не происходит.