Индексы хранят ссылки, предназначенные для упорядочения данных и ускорения поиска в таблице. Каждая таблица может иметь несколько индексов.
Memo-поля содержат текстовую информацию, а поля типа General используются при обмене данными с другими приложениями, работающими под Windows.
dBASE для Windows представляет собой систему управления базами данных, доступную для пользователей любого уровня. Эта система обладает ориентированным на пользователя развитым диалоговым интерфейсом. В версии 5.0 этого продукта появилась возможность выполнение запроса по образцу. Запрос предоставляет пользователю возможность быстро и эффективно осуществить выборку требуемых данных и обработать их.
dBASE для Windows содержит как интерактивные средства так и интегрированную среду программирования на объектно-ориентированном языке dBASE. Многочисленные интерактивные средства отличает простота использования, которая достигается за счет интуитивного интерфейса. Эти средства предоставляют вам широчайшие возможности по обработке информации, не прибегая к программированию. Язык dBase является объектно-ориентированным, управляемым по событиям, визуально-программируеммым языком, с помощью которого вы сможете добавить программные коды к отдельным объектам форм и сами формам, а также создать отдельные библиотеки и законченные предложения (как сетевые, так и автономные).
Среди СУБД для ПК наиболее распространенным в мире является семейство dBASE фирмы "Ashton-Tate". Такая популярность объясняется отчасти исторически, так как эта СУБД появилась одной из первых на рынке программных продуктов данного профиля; не в меньшей степени этому способствовала удачность заложенных основ конструкции СУБД и командного языка. Одна из наиболее широко используемых (в настоящее время устаревших) версий этого семейства - dBASE III+.
В новой версии dBASE IV концепция СУБД и командный язык получили значительное развитие, позволившее устранить недостатки предыдущей версии, а также существенно обогатить палитру средств обработки данных и улучшить интерфейс пользователя.
К числу СУБД реляционного типа, предназначенных для ПК, относятся семейство dBASE (dBASE II, III, 111+ и IV), Clipper, Foxbase, R: BASE, Paradox и др. В этих СУБД записи и, соответственно, поля имеют обычно фиксированную длину (чаще всего длина такой записи достигает 4000.5000 байт). Исключение составляют поля типа Memo, используемые, например, в СУБД семейства dBASE. Число полей в перечисленных СУБД варьируется от 128 до 1024. Последние версии таких СУБД, как dBASE, RBASE и др., содержат генераторы прикладных программ, позволяющие пользователям без знания командного языка создавать программы средней степени сложности. Эти средства могут применяться как неподготовленными пользователями, так и профессиональными программистами для уменьшения трудозатрат при разработке прикладных программ
Таблица 1. Некоторые функции СУБД типа dBASE[5]
Функция | Назначение |
RECNO () | Возвращает номер текущей записи открытого файла БД |
BOF () EOF () | Возвращают логический признак начала и конца открытого файла БД |
RECCOUNT () | Возвращает число, записей в открытом файле БД |
FOUND () | Возвращает логический признак успешности поиска в БД командой SEEK |
ЦКЕ (<образец>, <выр. С>) | Сравнивает строку <образец> с символьным выражением <выр. С> |
UPPER (<выр. С>) | Преобразует символьную строку в верхний регистр |
INKEY () | Возвращает код нажатой клавиши |
ERROR () | Возвращает номер ошибки |
CHR (<Bbip.N>) | Возвращает букву по коду |
В языке dBASE IV используются также функции, которые (наряду с командами) позволяют обрабатывать данные (в том числе, выполнять вычисления), а также определять состояния, например, находится ли указатель записей в конце файла: 7EOF0 - После имени функции обычно стоят круглые скобки, в которых могут помещаться аргументы. Функции нельзя использовать самостоятельно, а только вместе с какой-либо командой.
Кроме системных функций в dBASE IV можно использовать функции, созданные самим пользователем. В языке dBASE используются переменные, тип которых автоматически определяется первым в данной программе присвоением им значения. Возможные типы: символьный, логический, числовой, дата.
Таблица 2. Характеристики СУБД[6]
Наименование | dBase IV2.0 | Microsoft Access 2.0 | Microsoft FoxPro for Dos 2.6 | Microsoft FoxPro for Windows 2.6 | Paradox for Dos 4.5 | Paradox for Windows 4.5 |
Производительность | 4 | 3 | 1 | 1 | 2 | 2 |
Обеспечение целостности данных на уровне базы данных | нет | 1 | нет | нет | 2 | 2 |
Обеспечение безопасности | 2 | 1 | 5 | 5 | 3 | 4 |
Работа в многопользовательских средах | 2 | 2 | 4 | 4 | 1 | 3 |
Импорт-экспорт | 2 | 1 | 2 | 1 | 1 | 1 |
Доступ к данным SQL | 2 | 1 | 2 | 2 | Нет | 3 |
В таблице 2. показаны места (условные), которые занимают рассматриваемые программные средства относительно друг друга. Например, 1 означает, что в указанной позиции данная программа обладает лучшими характеристиками, 5 - худшими, нет - указанной характеристикой данная программа не обладает.
По таблице 2. можно сделать вывод, что самой быстрой СУБД является FoxPro 2.6, однако она не обладает средствами соблюдения целостности данных в отличии от более медленной СУБД Access 2.0.
1. Создать таблицы по приведенным данным на рис.1-3.
2. Произвести необходимый расчет.
3. Заполнить таблицу (рис.3) числовыми данными, выполнив консолидацию по расположению данных.
4. По данным таблицы на рис.3 построить гистограмму.
5. Сформировать выходной документ.
Рис.1. Табличные данные документа "Свод лицевых счетов пенсионеров" за январь 2006 г.
№ лицевого счета | ФИО | Сумма причитающейся пенсии, руб. | Удержания по исполнит. документам, руб. | Выплачено пенсионеру, руб. |
И1212 | Иванов А.А. | 900 | 125 | |
А1245 | Антонов С. С. | 1200 | 200 | |
П1268 | Петров И. И. | 560 | 25 | |
Д1378 | Дубровицкий И. С. | 456 | ||
С1577 | Сидорчук А.В. | 304 | 100 |
Рис.2. Табличные данные документа "Свод лицевых счетов пенсионеров" за февраль 2006 г.
№ лицевого счета | ФИО | Сумма причитающейся пенсии, руб. | Удержания по исполнит. документам, руб. | Выплачено пенсионеру, руб. |
И1212 | Иванов А.А. | 950 | 130 | |
А1245 | Антонов С. С. | 1250 | 210 | |
П1268 | Петров И. И. | 610 | 30 | |
Д1378 | Дубровицкий И. С. | 506 | 5 | |
С1577 | Сидорчук А.В. | 374 | 100 |
Рис.3. Табличные данные документа "Свод лицевых счетов пенсионеров" за январь и февраль 2006 г.
№ лицевого счета | ФИО | Сумма причитающейся пенсии, руб. | Удержания по исполнит. документам, руб. | Выплачено пенсионеру, руб. |
И1212 | Иванов А.А. | |||
А1245 | Антонов С. С. | |||
П1268 | Петров И. И. | |||
Д1378 | Дубровицкий И. С. | |||
С1577 | Сидорчук А.В. |
Описание алгоритма решения задачи
1. Запустить табличный процессор MS Excel.
2. Создать книгу с именем "Свод лицевых счетов пенсионеров".
3. Лист 1 переименовать в лист с названием Январь, 2006.
4. На рабочем листе Январь, 2006 MS Excel создать таблицу "Свод лицевых счетов пенсионеров" за январь 2006 г.
Заполнить таблицу исходными данными (рис.4).
Рис.4. Расположение таблицы "Свод лицевых счетов пенсионеров" за январь 2006 г. на рабочем листе Январь, 2006 MS Excel
5. Лист 2 переименовать в лист с названием Февраль, 2006.
6. На рабочем столе Февраль, 2006 MS Excel создать таблицу "Свод лицевых счетов пенсионеров" за февраль 2006 г.
7. Заполнить таблицу исходными данными (рис.5).
Рис.5. Расположение таблицы "Свод лицевых счетов пенсионеров" за февраль 2006 г. на рабочем листе Февраль, 2006 MS Excel
8. Лист 3 переименовать в лист с названием Январь, февраль.
9. На рабочем листе Январь, февраль MS Excel создать таблицу "Свод лицевых счетов пенсионеров" за январь и февраль 2006 г.
10. Заполнить таблицу исходными данными (рис.6).
Рис.6. Расположение таблицы "Свод лицевых счетов пенсионеров" за январь и февраль 2006 г. на рабочем листе Январь,февраль MS Excel.
11. Заполнить графу Выплачено пенсионеру, руб. таблицы "Свод лицевых счетов пенсионеров" за январь 2006 г., находящейся на листе Январь, 2006 следующим образом:
- Занести в ячейку Е3 формулу: =С3-D3
- Размножить введенную в ячейку Е3 формулу для остальных ячеек с (Е4 по Е7) данной графы.
Таким образом, будет выполнен цикл, управляющим параметром которого является номер строки (рис.7).
Рис.7. "Свод лицевых счетов пенсионеров" за январь 2006 г.
12. Заполнить графу Выплачено пенсионеру, руб. таблицы "Свод лицевых счетов пенсионеров" за февраль 2006 г., находящейся на листе Февраль, 2006 следующим образом:
- Занести в ячейку Е3 формулу: =С3-D3
- Размножить введенную в ячейку Е3 формулу для остальных ячеек с (Е4 по Е7) данной графы.