Содержание
1.Введение……………………………………………………………………………………….2
2. Основные элементыСУБД типа dBase………………………………………………………2
3. Управляющийцентр…………………………………………………………………………..6
4. Создание структурыфайлов………………………………………………………………….8
5. Командный языкСУБД……………………………………………………………………...10
6. Ввод данных в базу иредактирование……………………………………………………...13
7. Дополнительныеоперации………………………………………………………………….15
8. Организация системыменю…………………………………………………………………20
9. Списокиспользованной литературы……………………………………………………….23
1. Введение
В самом общем смысле база данных – этонабор записей и файлов, организованных особым образом. В компьютере, например,можно хранить фамилии и адреса друзей или клиентов. Возможно, вы храните всесвои письма, и они сгруппированы по адресатам, а возможно, у вас есть наборфайлов с финансовыми данными: полученные или выставленные счета, расходы почековой книжке и так далее.
В широком смысле, один из типов баз данных – этодокументы, набранные с помощью текстовых редакторов и сгруппированные по темам.Другой тип – файлы электронных таблиц, объединяемые в группы по характеруиспользования.
Если вы организованный человек,то специальная структура папок и подпапок поможет вам справиться с несколькимисотнями электронных таблиц или ярлыков. В этом случае вы являетесь диспетчеромбазы данных.
Но если решаемая вами задачастановится слишком сложной: собрать информацию обо всех клиентах и заказах,если данные разбросаны по отдельным текстовым файлам и электронным таблицам;сохранить связи между файлами при вводе новой информации и так далее, то вамнеобходима система управления базами данных (СУБД).
СУБД dBASE,описываемая мною в этой работе, представляет собой интегрированную среду длясоздания и манипулирования с табличной БД и по утверждению разработчиков,поддерживает реляционную модель данных. Кроме среды имеется ряд дополнительныхпрограмм, таких как администратордоступа к файлам в сети, предкомпилятор, Run-Time модуль для выполнения программ и пр.
2. Основные элементы СУБД типа dBASE
Напомним некоторые термины, используемые в теории реляционных баз данных.Будем представлять информацию, составляющую базу данных, в виде совокупностипрямоугольных таблиц.
Поле — наименьший поименованный элемент информации, хранящейся в БД ирассматриваемой как единое целое. Поле может быть представлено числом, буквамиили их сочетанием (текстом). Например, в телефонном справочнике полями являютсяфамилия и инициалы, адрес, номер телефона, т.е. три поля, причем все текстовые(номер телефона также рассматривается как некоторый текст).
Запись — совокупность полей, соответствующих одному объекту. Так,абоненту телефонной сети соответствует запись, состоящая из трех полей.
Файл — совокупность связанных по какому-либо признаку записей (т.е.отношение, таблица). Таким образом, в простом случае база данных есть файл.
Все данные в БД разделены по типам. Говоря точнее, вся информацияполей, принадлежащих одному столбцу (домену), имеет один и тот же тип. Такойподход позволяет ЭВМ организовать контроль вводимой информации.
При определении полей БД каждое поле может быть отнесено к одному изследующих типов:
• символьный тип, обозначение С (character);
• числовой тип, обозначение N (numeric);
• логический тип, обозначение L(logical);
• тип даты, обозначение Data;
• примечаний, обозначение Memo.
Каждый тип служит для хранения специфической информации. В поле типа Сможно помещать любые имеющиеся на клавиатуре символы: буквы, цифры, знакипрепинания и т.д. Символьное поле хранится как текст, выровненный по левомукраю. Над символьными полями нельзя выполнять каких-либо вычислений.
В числовом поле могут быть только цифры, знаки «плюс» и «минус»,десятичная точка. Числа выровнены по правому краю. Над числовыми полями можновыполнять вычисления.
Поле логического типа содержит величины, которые могут принимать толькоодно из двух значений: истинно или ложно.
Поле типа даты может содержать реальные даты в представлении, принятомв США (месяц/день/год) или в европейских странах.
Описание всех имен, типов и размеров полей составляют структуру базыданных, которая хранится в памяти вместе с данными. Эту структуру всегда можнопросмотреть и при необходимости исправить. Следует различать структуру файла иинформацию, содержащуюся в нем. Основное различие между структурой и информациейсостоит в том, что структура остается неизменной, а информация меняется прикаждом редактировании или вводе.
Семейство СУБД dBASE. СредиСУБД для ПК наиболее распространенным в мире является семейство dBASEфирмы «Ashton-Tate». Такая популярность объясняется отчастиисторически, так как эта СУБД появилась одной из первых на рынке программныхпродуктов данного профиля; не в меньшей степени этому способствовала удачностьзаложенных основ конструкции СУБД и командного языка. Одна из наиболее широкоиспользуемых (в настоящее время устаревших) версий этого семейства — dBASEIII+.
В новой версии dBASEIVконцепция СУБД и командный язык получили значительноеразвитие, позволившее устранить недостатки предыдущей версии, а такжесущественно обогатить палитру средств обработки данных и улучшить интерфейспользователя.
К числу СУБД реляционного типа, предназначенных для ПК, относятсясемейство dBASE(dBASEII, III, 111+ и IV), Clipper, Foxbase, R:BASE, Paradoxи др. В этих СУБД записи и, соответственно, поляимеют обычно фиксированную длину (чаще всего длина такой записи достигает4000...5000 байт). Исключение составляют поля типа Memo, используемые, например, в СУБД семейства dBASE. Число полей в перечисленных СУБД варьируется от 128до 1024.
Длина поля зависит от типа поля и может составлять от 255 до 4000 байтдля текстовых полей, до 20 байт для числовых полей и имеет фиксированныезначения для полей типа даты (8 байт) и логических полей (1 байт). Поле типа Memoслужит для хранения больших массивов текстовойинформации и хранится в отдельном файле БД, но воспринимается как поле всоставе основного файла БД. Это поле имеет плавающую длину, определяемуюобъемом введенной текстовой информации, и может достигать 32767 байт.
Большинство СУБД реляционного типа для ПК позволяют создавать файлы счислом записей до 1 млрд. и объемом до 2 Гбайт. Обычно ограничением на число и объемзаписей, в первую очередь, выступает емкость внешней памяти ПК на магнитныхдисках.
В состав многих СУБД, предназначенных для работы на ПК, входят триосновных компонента: командный язык, интерпретирующая система или компилятордля преобразования команд к выполнимому виду и средства взаимодействия пользователяс СУБД (интерфейс пользователя).
Командный язык служит для выполнения и обеспечения требуемых операций сданными — позволяет создавать структуры файлов БД и манипулировать данными,создавать прикладные программы, экранные формы ввода и вывода информации и т.д.Структура и возможности языка в значительной степени определяют обликконкретной СУБД, ее возможности. В состав командного языка ПК также обычновходят специальные команды по установке параметров и состояний системы (SET-команды), а также функции, предназначенные дляразличных видов обработки данных и выполнения вспомогательных действий.
В СУБД команды можно выполнять по одной (после набора с клавиатуры) илигруппами команд в автоматическом режиме, предварительно записанных в специальный(программный) файл. Команды языка СУБД записываются в текстовой форме, близкойк обычному языку. Для того чтобы ПК могла выполнять такую команду, ее надопреобразовать в вид исполнимых машинных команд.
Существует два принципиально различных способа такого преобразования. Впервом способе используется интерпретирующая система, которая преобразуетпоочередно команды в исполнимый вид перед их непосредственным выполнением. Вовтором способе сначала вся исходная программа преобразуется (компилируется) впрограмму из исполнимых машиной команд и затем эта программа выполняется.
Первый способ выполнения команд СУБД имеет то преимущество, чтоисходная программа занимает сравнительно немного места и памяти. Кроме того,этот способ позволяет выполнять команды по одной в режиме ввода с клавиатурыили в режиме, управляемом с помощью меню. Однако выполнение исходной программыпосредством интерпретации команд происходит достаточно медленно. Второй способв отличие от первого позволяет выполнять программу значительно быстрее, нопрограмма, составленная из машинных команд, занимает значительно большеоперативной памяти.
Взаимодействие пользователя с СУБД, в которой используетсяинтерпретирующая система, обычно может осуществляться в режиме, управляемом спомощью меню, и реже, ввода команд с клавиатуры. Первый режим дает возможностьпользователям работать с пакетом СУБД, не зная командного языка. Содержаниевыполняемых команд записывается в позициях меню на естественном языке.Пользователь выбирает нужную позицию меню и нажимает клавишу исполнениякоманды. Обычно в меню включают достаточно широкий круг команд языка СУБД,позволяющих выполнять многие операции по обработке данных, однако далеко невсе. При использовании режима ввода команд с клавиатуры требуется знать ихсинтаксис и способы применения. Этот режим применяется уже болееподготовленными пользователями. Признаком данного режима СУБД служит какой-либознак (например, точка в левом нижнем углу экрана), который служит приглашениемдля набора команды. В дальнейшем для простоты будем называть этот режим простокомандным.
Последние версии таких СУБД, как dBASE, RBASEи др.,содержат генераторы прикладных программ, позволяющие пользователям без знаниякомандного языка создавать программы средней степени сложности. Эти средствамогут применяться как неподготовленными пользователями, так и профессиональнымипрограммистами для уменьшения трудозатрат при разработке прикладных программ.
Как уже отмечалось, первой созданной в этом классе программой была dBASEII,созданная Уэйном Рэтлиффом (США) в 1981г. Варианты этой системы до сих пориспользуются для целей обучения на учебных ЭВМ. Вскоре эта система былаусовершенствована, а ее возможности расширены. Появились СУБД dBASEIIIи dBASEIII+,ставшие на долгое время стандартом систем управления базами данных дляперсональных компьютеров. Позже получили распространение системы FoxBase, FoxProи Clipper — все имеющие набор команд, похожий на СУБД семействаdBASE, и использующие ту же организацию данных в файлах стипичным расширением .dbf(DataBaseFile — файл базы данных), СУБД dBASEIV. Языкиэтих систем послужили основой для создания огромного числа прикладных информационно-поисковыхсистем, автоматизированных рабочих мест (АРМ) в различных предметных областях.
Система управления базами данных dBASEIVзначительноусилена по сравнению с dBASEIII+ по многим параметрам (ниже в скобках указаны данныедля dBASEIII+). Вчастности, можно создавать двумерные массивы переменных общим объемом до 1170элементов, может быть открыто до 99 (16) файлов, увеличено максимальное числопеременных — 15000 (265), число полей в файлах БД — 255 (128), число открытыхиндексных файлов -10 (7) и т.д. Как уже отмечалось выше, командный язык dBASEIVзначительно расширен и улучшен по сравнению с командным языком dBASEIII+.
Включение в язык dBASEIVновых команд позволило существенно улучшить следующиефункции пакета СУБД семейства dBASE:
• разработку иерархических систем меню прикладных задач;
• разработку экранных форм ввода и вывода данных;
• организацию ввода и вывода информации в отдельные окна на экране;
• вывод данных на печать;
• возможности по поиску и обработке данных в файлах БД;
• обеспечение работы в среде ЛВС и др.
Команды типичной СУБД для персональных компьютеров предназначены длявыполнения следующих функций:
• описания БД;
• наполнения БД;
• редактирования БД;
• поиска информации в БД;
• формирования и вывода на экран или принтер информации в виде отчетов.
3. Управляющий центр
Представление о возможностях пакета dBASEIVможнополучить при знакомстве с управляющим центром (УЦ), реализующим интерфейспользователя, управляемый меню. В состав УЦ входят шесть меню:
• меню Data(«Данные») для создания,изменения структуры файлов БД, ввода, обновления и отображения данных наэкране;
• меню Queries(«Запросы») дляформирования и выполнения запросов на выборку и обновление данных;
• меню Forms(«Формы») для разработкиэкранных форм ввода и вывода информации;
• меню Reports(«Отчеты») для разработкиформ отчетов и вывода их на печать;
• меню Labels(«Марки») для разработкиформ марок и вывода их на печать;
• меню Applications(«Прикладныепрограммы») — генератор разработки прикладных программ.
Функции УЦ и расположение меню на экране отражают последовательностьработы пользователя при разработке прикладной информационной задачи. Работаобычно начинается с создания структуры файлов БД, которые требуются для еерешения.
После создания структур файлов БД прикладной задачи требуется ввести вних данные.
Ввод и обновление данных в меню «Данные» выполняется на экране встандартных формах. Эти формы не всегда вполне удобны для пользователя. В УЦпредусмотрено меню «Формы», позволяющее разрабатывать собственные экранныеформы для ввода и вывода информации.
Типы файлов и их расширения
Файл
Окно УЦ
Файл разработки
Файл кодов
Исполнимый файл
БД
Data
.dbf
_
_
Запрос на выборку
Queries
,qbe
-
.qbo
Запрос на обновление
»
.upd
-
.upo
Выборка dBASE ПН-
»
.vue
-
-
Экранная форма
Forms
.sqr
.fmt
.fmo
Отчет
Reports
.frm
•frg
.fro
Марка
Labels
.1Ы
.Ibg
.lbo
Прикладная программа
Applications
-
•prq
.dbo
SQL-программа
»
-
.prs
.dbo
Програма, созданная
»
•app
•prg
.dbo
генератором приклад-
ных программ
Отбор информации из одного или нескольких файлов БД можно выполнить спомощью меню «Запросы». Отобранные данные можно выводить на экран вразработанных ранее формах или на печать.
Меню «Запросы» позволяет также связывать между собой несколько файловБД, что дает возможность при разработке структуры файлов БД прикладной задачиизбежать дублирования информации.
Завершающий этап процесса обработки информации — вывод полученных данныхна экран, принтер или внешние носители. Для генерации форм выходных документовпредназначено меню «Отчеты».
Таким образом, меню УЦ позволяет выполнять все этапы процесса обработкиинформации, начиная от ее записи на носители и завершая выдачей необходимыхвыходных документов.
Панель УЦ состоит из шести окон. Окно Dataсодержит имена файлов БД. Окно Queriesпоказывает имена файлов запросов на выборку иобновление данных. В окно Formsвысвечиваются имена файлов экранных форм ввода и вывода информации. Окно Reportsсодержит имена файлов форм отчетов, а окно Labels — имена файлов форм марок.
Крайнее справа окно Applicationsвысвечивает имена программ или любых текстовых файлов.
Для создания файлов соответствующих типов в окнах панели УЦ имеетсяпозиция (создать). После выбораэтой позиции высвечиваются экраны, предназначенные для выполнения операций посозданию файла соответствующего типа. Эти же экраны раскрываются и при выбореимени файла в окне.
Помимо основных функций работы с файлами различных типов управляющийцентр обычно имеет широкий набор сервисных функций, позволяющих работать скаталогами, определять макропоследовательности клавиш, выполнять экспорт и импортданных в файлы других систем, защищать данные, устанавливать параметрысистемы, копировать, переименовывать, удалять файлы, запускать DOS-программы и т.д.
4. Создание структуры файлов
Рассмотрим теперь, как создать структуру файла БД с помощью УЦ. Дляэтого надо выбрать позицию окна Dataна панели УЦ. На экране появится таблица, состоящаяиз шести колонок с именами: порядковый номер поля (Num), имя поля (FieldName), тип поля (FieldType),ширина поля (Width), количество дробныхдесятичных знаков числа (Dec), признакиндексирования поля (Index). Каждаястрока этой таблицы содержит информацию об одном поле записи файла БД. Имя поляможет включать до 10 буквенно-цифровых символов, но должно начинаться обязательнос буквы. Тип поля (символьный — Character,числовой с фиксированной точкой — Numeric,числовой с плавающей точкой — Float, текстовый- Memo, логический — Logicalи типа даты — Date) можно выбрать клавишей ПРОБЕЛ или набратьнепосредственно с клавиатуры.
После того как введено описание для всех полей файла БД, созданнуюструктуру следует сохранить на диске. Для этого надо сначала клавишей F10 вызвать меню экрана создания/модификации структурыБД и затем выбрать позицию (сохранитьструктуруфайлаБД) менюLayout.
Ввод новых и обновление существующих записей выполняется в одних и техже стандартных экранных формах Browseи Edit. Предварительно надо файл БД открыть. Факт открытияфайла отмечается на панели УЦ тем, что его имя перемещается выше черты подслово . Находясь на экранеразработки структуры файла БД, после ее окончания можно сразу перейти к вводуданных посредством выбора позиции меню Append.
Кроме того, ввод данных в стандартные экранные формы можно выполнить изУЦ. Для этого после установки курсора на имя файла в окне Dataнадо нажать клавишу ENTERи затем выбрать позицию .После этого высветится одна из стандартных экранных форм: Browseили Edit.
В форме Browseданные высвечиваются втабличном виде (строка таблицы — запись файла), при этом не все поля могутодновременно разместиться на экране.
В форме Editполя одной записи размещаютсяодно под другим на одной или нескольких страницах экрана (в зависимости отколичества полей). Раскрытие последующих страниц выполняется клавишей PgDn.
После того как создана структура файла БД и введена информация, обычнотребуется отбирать и выводить на экран или на печать те данные, которыеотвечают поставленной задаче. Для этого формируются запросы на отборнеобходимых данных.
Запросы можно создавать с помощью шаблона файла (запросы по образцу) ив специальном окне, которое размещается в окне Queriesпанели УЦ.
Формирование шаблона вывода целесообразно выполнять в два этапа:сначала вводить сразу все поля файла и затем удалять ненужные.
Кроме обычных полей в шаблон вывода можно помещать вычисляемые поля.
В пустую графу шаблона вычисляемых полей вводится с клавиатуры вычисляемоевыражение, которое включает одно или несколько имен полей файла БД, и операторывыполнения действий с ним. В число этих операторов входят арифметические илогические операторы, а также функции dBASE.
Имеется возможность разрабатывать собственные формы ввода и вывода данныхна экран. В этих формах поля файлов БД можно размещать в любом месте экрана,сопровождая их пояснительными надписями, обводить в рамки и вводить другиеоформительские элементы.
Разработанные формы представляют собой программные файлы, которые можнозаписать на диск и затем использовать многократно для просмотра и обновленияинформации на экране в удобном для пользователя виде.
Разработка экранной формы начинается с выбора позиции окна Formsпанели УЦ. После этого высвечивается горизонтальное меню, включающее позиции, ,, .Выбор этих позиций приводит к открытию различных меню, позволяющих выполнятьопределенный круг действий по созданию экранной формы.
Так, меню Layoutпредназначено для общегооформления экранной формы, реализации короткого способа ввода всех полей наэкран и назначения файла БД, если он не был открыт ранее.
Добавление полей в экранную форму по одному осуществляется с помощью позициименю Fields.
Разработка отчетов является завершающим этапом технологии обработки информации.При выдаче отчетов могут использоваться выборки данных, полученные в результатевыполнения запросов, и исходные файлы БД.
Разработка отчетов выполняется в окне ReportsУЦ. Форма отчетов создается на экране. В нее можновключать следующие элементы: поля из текущего файла БД или выборки, вычисляемыеполя, которые создаются специально для отчетов, текстовый материал, рамки илинии. Текст длинных символьных полей можно размещать и разворачивать вколонках заданной ширины.
В число стандартных частей отчета входят: заголовок страницы, введение(заголовок) отчета, собственно отчет (тело отчета), итоги (заключение) отчета иподножие страницы.
Описанный УЦ позволяет выполнять многие операции без знания командногоязыка dBASEIVспомощью режима управляемого меню, однако основной режим работы СУБД основан наиспользовании командного языка.
5. Командный язык СУБД
Операции СУБД реализованы в виде команд, которые, как правило, можно использоватьнезависимо, вводя их с помощью клавиатуры — это, так называемый, командныйрежим СУБД. Из этих команд можно составлять прикладные программы, создаваятаким образом системы «под ключ», ориентированные на неподготовленногопользователя. Это, так называемый, программный (пакетный) режим работы в СУБД.
В состав элементов командного языка входят команды, SET-команды, функции, переменные и массивы.
Команда записывается в виде строки слов, в которую входит глагол — основное слово, определяющее содержание операции, выполняемой командой, списоквыражений и ключевые слова с аргументами. Структура командной строкиназывается синтаксисом команды. Многие команды обработки файлов строятся последующей форме:
[] [] [FOR] [ИН1ЬЕ] [ТО FILE /ТО PRINTER
/ТО ARRAY
/ТО [ALL [LIKE/EXCEPT ]] [IN ]
Квадратные скобки означают использование заключенных в них элементовсинтаксиса по выбору. В угловых скобках, следующих после ключевого слова,записываются его аргументы. Косая черта, наклоненная влево (/), обозначает,что может быть записано только одно из разделенных этим знаком ключевых слов.Угловые, квадратные скобки и косая черта в записи команды для ее выполнения неуказываются и служат только для пояснения синтаксиса.
представляет собой комбинацию имен полей файловБД, переменных, элементов массивов, констант, функций, системных переменных иоператоров. Все данные в выражении должны быть одного типа. Если в выражениитребуется использовать данные разных типов, их надо преобразовать в один типспециальными функциями. Выражения в списке могут быть различного типа.
Операторы в выражениях обозначают операции с данными и обозначаются специальнымисимволами. В dBASEиспользуются четыре типаоператоров: математические, операторы отношений, логические и строковые.
Границы в приведенном выше синтаксисе команды указывают те записи файлаБД, которые будут доступны при его обработке. В качестве ключевых слов границмогут быть: RECORD — доступна только одна запись с заданным номером;NEXT — доступнывсе записи, начиная с номера n; ALL — доступны все записи файла БД; REST — доступны записи, начиная с текущей до конца файла.
Опции FORи WHILEопределяют условия отбора записей для обработки. Этиопции имеют приоритет перед границами при определении доступа к записям. Опция FORопределяет доступ к обработке, начиная с первойзаписи и до конца файла БД, aWHILE — начиная с текущей записи и до тех пор, пока условиеимеет логическое значение «Истина» (Trueили.Т.).
Опция ТО управляет выводом информации, обработанной командой. В рядекоманд выходной поток можно направить в файл на диске, на принтер, в массив(или переменную).
Опция ALLLIKEпозволяет отобрать или, наоборот, исключить средиимен файлов, полей файлов БД и переменных те, которые соответствуют заданномушаблону.
Особой разновидностью команд являются SET-команды, устанавливающие параметры среды, в которойвыполняются обычные команды. Применяются две формы этих команд:
SET ТО и
SET ON/OFF
Первая форма устанавливает значение параметра, а вторая включает (ON) или выключает (OFF) его действие, т.е. устанавливает состояние. Этикоманды можно выполнять в программах, в командном режиме, можно также занестиих в специальный файл с именем Config.db, определяющий параметры среды на весь сеанс работы спакетом dBASE.
Создание файла БД осуществляется командой CREATE. Для модификации созданнойструктуры файла используется команда MODIFYSTRUCTURE.
Для открытия файла БД используется команда
USE [/?] [IN]
[INDEX]
[ORDER [TAG] / [OF]][АЫАЗ] [EXCLUSIVE] [NOUPDATE] ,
которая открывает существующий файл БД и связанные с ним файлы .mdxи .ndxв текущейрабочей области.
Для создания индексных файлов типа .ndxи .mdxиспользуетсякоманда
INDEXON ТО /
TAG [OF ] [UNIQUE] [DESCENDING]
Для открытия индексных файлов используется команда
SETINDEXTO[/? [ORDER[TAG] / [OF]]]
Помимо широкого набора команд типичный язык СУБД типа dBASEперсонального компьютера включает несколько десятковили даже сотен встроенных функций. Функции могут использоваться на местепеременных и констант в командах. После указания имени функции обязательноидут круглые скобки, даже если функция не требует никаких параметров.
Некоторые функции СУБД типа dBASE
Функция
Назначение
RECNO()
Возвращает номер текущей записи открытого файла БД
BOF() EOF()
Возвращают логический признак начала и конца открытого файла БД
RECCOUNT()
Возвращает число, записей в открытом файле БД
FOUND()
Возвращает логический признак успешности поиска в БД командой SEEK
ЦКЕ(, )
Сравнивает строку с символьным выражением
UPPER ()
Преобразует символьную строку в верхний регистр
INKEY()
Возвращает код нажатой клавиши
ERROR()
Возвращает номер ошибки
CHR()
Возвращает букву по коду
DATE()
Возвращает текущую дату
ROW() COL()
Возвращает номер текущей строки и столбца экрана
В языке dBASEIVиспользуются также функции, которые (наряду скомандами) позволяют обрабатывать данные (в том числе, выполнять вычисления), атакже определять состояния, например, находится ли указатель записей в концефайла: 7