СУБД dBase b>
p>
Роботу підготував Милованов Сергій p>
ГОУ СПО Жірновскій нафтовий технікум p>
2005 p>
1. Введення h2>
У самому загальному сенсі база даних - це набір записів і
файлів, організованих особливим чином. У комп'ютері, наприклад, можна зберігати
прізвища та адреси друзів або клієнтів. Можливо, ви зберігаєте усі свої листи, і
вони згруповані по адресатам, а можливо, у вас є набір файлів з
фінансовими даними: отримані або виставлені рахунки, витрати за чековою
книжці і так далі. p>
У широкому розумінні, один з типів баз даних - це
документи, набрані за допомогою текстових редакторів і згруповані за темами.
Інший тип - файли електронних таблиць, що об'єднуються в групи по характеру
використання. p>
Якщо ви організований людина, то спеціальна
структура папок і підпапок допоможе вам впоратися з кількома сотнями
електронних таблиць або ярликів. У цьому випадку ви є диспетчером бази
даних. p>
Але якщо розв'язувана вами завдання стає занадто
складною: зібрати інформацію про всіх клієнтів і замовленнях, якщо дані розкидані
по окремих текстових файлів і електронних таблиць; зберегти зв'язки між
файлами при введенні нової інформації і так далі, то вам необхідна система
управління базами даних (СУБД). p>
СУБД dBASE, описана мною в цій роботі,
являє собою інтегроване середовище для створення і маніпулювання з
табличній БД і за твердженням розробників, підтримує реляційну модель
даних. Крім середовища є ряд додаткових програм, таких як адміністратор
доступу до файлів в мережі, предкомпілятор, Run-Time модуль для виконання
програм і пр. p>
2. Основні елементи СУБД типу dBASE h2>
Нагадаємо деякі терміни, які використовуються в теорії
реляційних баз даних. Будемо представляти інформацію, що становить базу
даних, у вигляді сукупності прямокутних таблиць. p>
Поле - найменший пойменований елемент інформації,
що зберігається в БД і розглядається як єдине ціле. Поле може бути представлено
числом, літерами або їх поєднанням (текстом). Наприклад, у телефонному довіднику
полями є прізвище та ініціали, адреса, номер телефону, тобто три поля,
причому всі текстові (номер телефону також розглядається як деякий
текст). p>
Запис - сукупність полів, що відповідають одному
об'єкту. Так, абоненту телефонної мережі відповідає запис, що складається з трьох
полів. p>
Файл - сукупність пов'язаних з будь-якою ознакою
записів (тобто відношення, таблиця). Таким чином, в простому випадку база даних
є файл. p>
Всі дані в БД розділені за типами. Говорячи точніше, вся
інформація полів, що належать одному колонку (домену), має один і той же
тип. Такий підхід дозволяє ЕОМ організувати контроль введеної інформації. P>
При визначенні полів БД кожне поле може бути
віднесено до одного з наступних типів: p>
• символьний тип, позначення С (character); p>
• числовий тип, позначення N (numeric); p>
• логічний тип, позначення L (logical); p>
• тип дати, позначення Data; p>
• приміток, позначення Memo. p>
Кожен тип служить для зберігання специфічної
інформації. У полі типу С можна розміщувати будь-які наявні на клавіатурі символи:
літери, цифри, розділові знаки і т.д. Символьне полі зберігається як текст,
вирівняний по лівому краю. Над символьними полями не можна виконувати будь-яких
обчислень. p>
У числовому полі можуть бути тільки цифри, знаки «плюс»
і "мінус", десяткова крапка. Числа вирівняні по правому краю. Над числовими
полями можна виконувати обчислення. p>
Поле логічного типу містить величини, які можуть
приймати тільки одне з двох значень: істинно або хибно. p>
Поле типу дати може містити реальні дати в
поданні, прийнятому в США (місяць/день/рік) або в європейських країнах. p>
Опис всіх імен, типів і розмірів полів складають
структуру бази даних, яка зберігається в пам'яті разом з даними. Цю
структуру завжди можна переглянути і при необхідності виправити. Слід
розрізняти структуру файла та інформацію, що міститься в ньому. Основна відмінність
між структурою та інформацією полягає в тому, що структура залишається незмінною,
а інформація змінюється при кожному редагуванні або введенні. p>
Сімейство СУБД dBASE. Серед СУБД для ПК найбільш
поширеним у світі є сімейство dBASE фірми «Ashton-Tate». Така
популярність пояснюється частково історично, так як ця СУБД з'явилася однією
з перших на ринку програмних продуктів даного профілю; не в меншій мірі
цьому сприяла вдалість закладених основ конструкції СУБД і командного
мови. Одна з найбільш широко використовуваних (в даний час застарілих) версій
цього сімейства - dBASE III +. p>
У новій версії dBASE IV концепція СУБД і командний
мова набули значного розвитку, що дозволило усунути недоліки
попередньої версії, а також істотно збагатити палітру засобів обробки
даних і поліпшити інтерфейс користувача. p>
До числа СУБД реляційного типу, призначених для
ПК, відносяться сімейство dBASE (dBASE II, III, 111 + і IV), Clipper, Foxbase,
R: BASE, Paradox та ін У цих СУБД запису і, відповідно, поля мають звичайно
фіксовану довжину (найчастіше довжина такого запису досягає 4000 ... 5000 байт).
Виняток становлять поля типу Memo, що використовуються, наприклад, у СУБД сімейства
dBASE. Число полів в перерахованих СУБД варіюється від 128 до 1024. P>
Довжина поля залежить від типу поля і може становити від
255 до 4000 байт для текстових полів, до 20 байт для числових полів і має
фіксовані значення для полів типу дати (8 байт) і логічних полів (1
байт). Поле типу Memo служить для зберігання великих масивів текстової інформації
і зберігається в окремому файлі БД, але сприймається як поле у складі основного
файлу БД. Це поле має плаваючу довжину, яка визначається обсягом введеної
текстової інформації, і може досягати 32767 байт. p>
Більшість СУБД реляційного типу для ПК дозволяють
створювати файли з числом записів до 1 млрд. і об'ємом до 2 Гбайт. Зазвичай
обмеженням на число і обсяг записів, в першу чергу, виступає ємність
зовнішньої пам'яті ПК на магнітних дисках. p>
До складу багатьох СУБД, призначених для роботи на
ПК, входять три основні компоненти: командний мова, що інтерпретує система
або компілятор для перетворення команд до виконання на увазі і засоби
взаємодії користувача з СУБД (інтерфейс користувача). p>
Командний мова служить для виконання і забезпечення
необхідних операцій з даними - дозволяє створювати структури файлів БД і
маніпулювати даними, створювати прикладні програми, екранні форми введення та
виведення інформації і т.д. Структура і можливості мови в значній мірі
визначають вигляд конкретної СУБД, її можливості. До складу командного мови ПК
також зазвичай входять спеціальні команди з установки параметрів і станів
системи (SET-команди), а також функції, призначені для різних видів
обробки даних та виконання допоміжних дій. p>
У СУБД команди можна виконувати по одній (після набору
з клавіатури) або групами команд в автоматичному режимі, попередньо
записаних до спеціального (програмний) файл. Команди мови СУБД записуються в
текстовій формі, близькій до звичайного мови. Для того щоб ПК могла виконувати
таку команду, її треба перетворити на вигляд здійснимих машинних команд. p>
Існує два принципово різних способи такого
перетворення. У першому способі використовується інтерпретує система, яка
перетворює по черзі команди в здійснимих вигляд перед їхнім безпосереднім
виконанням. У другому способі спочатку вся вихідна програма перетвориться
(компілюється) в програму з здійснимих машиною команд і потім ця програма
виконується. p>
Перший спосіб виконання команд СУБД має те
перевагу, що вихідна програма займає порівняно небагато місця і
пам'яті. Крім того, цей спосіб дозволяє виконувати команди по одній в режимі
введення з клавіатури або в режимі, керованому за допомогою меню. Проте виконання
вихідної програми за допомогою інтерпретації команд відбувається досить
повільно. Другий спосіб на відміну від першого дозволяє виконувати програму
значно швидше, але програма, складена з машинних команд, займає
значно більше оперативної пам'яті. p>
Взаємодія користувача з СУБД, у якій використовується
інтерпретує система, звичайно може здійснюватися в режимі, керованому з
допомогою меню, і рідше, введення команд з клавіатури. Перший режим дає можливість
користувачам працювати з пакетом СУБД, не знаючи командного мови. Зміст
виконуваних команд записується в позиціях меню природною мовою.
Користувач вибирає потрібну позицію меню і натискає клавішу виконання
команди. Зазвичай в меню включають досить широкий круг команд мови СУБД,
що дозволяють виконувати багато операцій з обробки даних, проте далеко не
все. При використанні режиму введення команд з клавіатури потрібно знати їх
синтаксис і способи застосування. Цей режим застосовується вже більше
підготовленими користувачами. Ознакою цього режиму СУБД служить будь-якої
знак (наприклад, крапка в лівому нижньому куті екрану), який служить запрошенням
для набору команди. Надалі для простоти будемо називати цей режим просто
командним. p>
Останні версії таких СУБД, як dBASE, RBASE та ін,
містять генератори прикладних програм, що дозволяють користувачам без знання
командного мови створювати програми середнього ступеня складності. Ці кошти
можуть застосовуватися як непідготовленими користувачами, так і професійними
програмістами для зменшення трудовитрат при розробці прикладних програм. p>
Як вже зазначалося, перша створена в цьому класі
програмою була dBASE II, створена Уейном Ретліффом (США) в 1981р. Варіанти
цієї системи до цих пір використовуються для цілей навчання на навчальних ЕОМ. Незабаром
ця система була вдосконалена, а її можливості розширені. З'явилися СУБД
dBASE III і dBASE III +, які стали на довгий час стандартом систем управління
базами даних для персональних комп'ютерів. Пізніше одержали поширення
системи FoxBase, FoxPro і Clipper - всі, хто має набір команд, схожий на СУБД
сімейства dBASE, і використовують ту саму організацію даних у файлах з типовим
розширенням. dbf (Data Base File - файл бази даних), СУБД dBASE IV. Мови цих
систем послужили основою для створення величезного числа прикладних
інформаційно-пошукових систем, автоматизованих робочих місць (АРМ) в
різних предметних областях. p>
Система управління базами даних dBASE IV значно
посилена в порівнянні з dBASE III + за багатьма параметрами (нижче в дужках вказані
дані для dBASE III +). Зокрема, можна створювати двовимірні масиви
змінних загальним обсягом до 1170 елементів, може бути відкрите до 99 (16)
файлів, збільшено максимальне число змінних - 15000 (265), число полів в
файлах БД - 255 (128), число відкритих індексних файлів -10 (7) і т.д. Як вже
зазначалося вище, командний мова dBASE IV значно розширений і поліпшений по
порівняно з командним мовою dBASE III +. p>
Включення в мову dBASE IV нових команд дозволило
істотно поліпшити наступні функції пакету СУБД сімейства dBASE: p>
• розробку ієрархічних систем меню прикладних
завдань; p>
• розробку екранних форм вводу та виводу даних; p>
• організацію введення і виведення інформації в окремі
вікна на екрані; p>
• виведення даних на друк; p>
• можливості з пошуку і обробці даних у файлах
БД; p>
• забезпечення роботи в середовищі ЛОМ та ін p>
Команди типовою СУБД для персональних комп'ютерів
призначені для виконання наступних функцій: p>
• опису БД; p>
• наповнення БД; p>
• редагування БД; p>
• пошуку інформації в БД; p>
• формування і виведення на екран або принтер
інформації у вигляді звітів. p>
3. Керуючий центр h2>
Подання про можливості пакета dBASE IV можна
отримати при знайомстві з керуючим центром (УЦ), що реалізує інтерфейс
користувача, керований меню. До складу НЦ входять шість меню: p>
• меню Data ( «Дані») для створення, зміни
структури файлів БД, введення, оновлення та відображення даних на екрані; p>
• меню Queries ( «Запити») для формування та
виконання запитів на вибірку та оновлення даних; p>
• меню Forms ( «Форми») для розробки екранних форм
введення та виведення інформації; p>
• меню Reports ( «Звіти») для розробки форм звітів
і виведення їх на друк; p>
• меню Labels ( «Марки») для розробки форм марок і
виведення їх на друк; p>
• меню Applications ( «Прикладні програми») --
генератор розробки прикладних програм. p>
Опції УЦ і розташування меню на екрані відображають
послідовність роботи користувача при розробці прикладної інформаційної
завдання. Робота зазвичай починається зі створення структури файлів БД, які
потрібні для її вирішення. p>
Після створення структур файлів БД прикладний завдання
потрібно ввести в них дані. p>
Введення та оновлення даних в меню «Дані» виконується
на екрані в стандартних формах. Ці форми не завжди цілком зручні для
користувача. У УЦ передбачено меню «Форми», що дозволяє розробляти
власні екранні форми для введення і виведення інформації. p>
Типи файлів і їх розширення p>
Файл p>
Вікно
УЦ p>
Файл
розробки p>
Файл
кодів p>
здійснимих
файл p>
БД p>
Data p>
. dbf p>
_ p>
_ p>
Запит
на вибірку p>
Queries p>
, qbe p>
- p>
. qbo p>
Запит
на оновлення p>
» p>
. upd p>
- p>
. upo p>
Вибірка
dBASE Пн- p>
» p>
. vue p>
- p>
- p>
Екранна
форма p>
Forms p>
. sqr p>
. fmt p>
. fmo p>
Звіт p>
Reports p>
. frm p>
• frg p>
. fro p>
Марка p>
Labels p>
.1 И p>
. Ibg p>
. lbo p>
Прикладна
програма p>
Applications p>
- p>
• prq p>
. dbo p>
SQL-програма p>
» p>
- p>
. prs p>
. dbo p>
Програма,
створена p>
» p>
• app p>
• prg p>
. dbo p>
генератором
приклад- p>
них
програм p>
Відбір інформації з одного або декількох файлів БД
можна виконати за допомогою меню «Запити». Відібрані дані можна виводити на
екран в розроблених раніше формах або на друк. p>
Меню «Запити» дозволяє також пов'язувати між собою
декілька файлів БД, що дає можливість при розробці структури файлів БД
прикладної задачі уникнути дублювання інформації. p>
Завершальний етап процесу обробки інформації - висновок
отриманих даних на екран, принтер або зовнішні носії. Для створення форм
вихідних документів призначене меню «Звіти». p>
Таким чином, меню УЦ дозволяє виконувати всі етапи
процесу обробки інформації, починаючи від її запису на носії і завершуючи
видачею необхідних вихідних документів. p>
Панель УЦ складається з шести вікон. Вікно Data містить
імена файлів БД. Вікно Queries показує імена файлів запитів на вибірку та
оновлення даних. У вікно Forms висвічуються імена файлів екранних форм вводу
і виведення інформації. Вікно Reports містить імена файлів форм звітів, а вікно
Labels - імена файлів форм марок. P>
Крайнє справа вікно Applications висвічує імена
програм або будь-яких текстових файлів. p>
Для створення файлів відповідних типів у вікнах
панелі УЦ є позиція (створити). Після вибору цієї позиції
висвічуються екрани, призначені для виконання операцій зі створення файлу
відповідного типу. Ці ж екрани розкриваються і при виборі імені файлу в
вікні. p>
Крім основних функцій роботи з файлами різних
типів керуючий центр зазвичай має широкий набір сервісних функцій,
що дозволяють працювати з каталогами, визначати макропоследовательності клавіш,
виконувати експорт і імпорт даних у файли інших систем, захищати дані,
встановлювати параметри системи, копіювати, перейменовувати, видаляти файли,
запускати DOS-програми і т.д. p>
4. Створення структури файлів h2>
Розглянемо тепер, як створити структуру файлу БД з
допомогою УЦ. Для цього треба вибрати позицію вікна Data на панелі
УЦ. На екрані з'явиться таблиця, що складається з шести колонок з іменами:
порядковий номер поля (Num), ім'я поля (Field Name), тип поля (Field Type),
ширина поля (Width), кількість дрібних десяткових знаків числа (Dec), ознака
індексування поля (Index). Кожний рядок цієї таблиці містить інформацію про
одному полі запису файлу БД. Ім'я поля може включати до 10 буквено-цифровіих
символів, але має починатися обов'язково з літери. Тип поля (символьний --
Character, числовий з фіксованою точкою - Numeric, числовий з плаваючою
крапкою - Float, текстовий - Memo, логічний - Logical і типу дати - Date)
можна вибрати клавішею ПРОБІЛ або набрати безпосередньо з клавіатури. p>
Після того як введено опис для всіх полів файлу
БД, створену структуру слід зберегти на диску. Для цього треба спочатку
клавішею F10 викликати меню екрана створення/модифікації структури БД і потім
вибрати позицію (зберегти структуру файлу БД) меню Layout. p>
Введення нових та оновлення існуючих записів
виконується в одних і тих же стандартних екранних формах Browse і Edit.
Попередньо треба файл БД відкрити. Факт відкриття файлу наголошується на панелі
УЦ тим, що його ім'я переміщується вище риси під слово . Перебуваючи
на екрані розробки структури файлу БД, після її закінчення можна відразу перейти
до введення даних за допомогою вибору позиції
меню Append. p>
Крім того, введення даних в стандартні екранні форми
можна виконати з УЦ. Для цього після встановлення курсору на ім'я файлу у вікні
Data треба натиснути клавішу ENTER, а потім вибрати позицію .
Після цього висвітиться один зі стандартних екранних форм: Browse або Edit. P>
У формі Browse дані висвічуються в табличному вигляді
(рядок таблиці - запис файлу), при цьому не всі поля можуть одночасно
розміститися на екрані. p>
У формі Edit поля одного запису розміщуються одне під
іншим на одній або декількох сторінках екрану (в залежності від кількості
полів). Розкриття наступних сторінок виконується клавішею PgDn. P>
Після того, як створена структура файлу БД і введена
інформація, звичайно потрібно відбирати і виводити на екран або на друк ті
дані, які відповідають поставленому завданню. Для цього формуються запити на
відбір необхідних даних. p>
Запити можна створювати за допомогою шаблону файлу
(запити за зразком) і в спеціальному вікні, яке розміщується у вікні Queries
панелі УЦ. p>
Формування шаблону виведення доцільно виконувати в
два етапи: спочатку вводити відразу всі поля файлу і потім видаляти непотрібні. p>
Крім звичайних полів в шаблон висновку можна поміщати
обчислювані поля. p>
У порожню графу шаблону обчислюваних полів вводиться з
клавіатури обчислюється вираз, який включає одне або кілька імен
полів файлу БД, і оператори виконання дій з ним. У число цих операторів
входять арифметичні та логічні оператори, а також функції dBASE. p>
Є можливість розробляти власні форми
введення і виведення даних на екран. У цих формах поля файлів БД можна розміщувати в
будь-якому місці екрану, супроводжуючи їх пояснювальними написами, обводить в рамки і
вводити інші оформлювальні елементи. p>
Розроблені форми являють собою програмні
файли, які можна записати на диск і потім використовувати багато разів для
перегляду і оновлення інформації на екрані в зручному для користувача вигляді. p>
Розробка екранної форми починається з вибору позиції
вікна Forms панелі УЦ. Після цього висвічується горизонтальне
меню, що включає позиції , , ,
. Вибір цих позицій призводить до відкриття різних меню,
що дозволяють виконувати певне коло дій щодо створення екранної форми. p>
Так, меню Layout призначене для загального оформлення
екранної форми, реалізації короткого способу введення всіх полів на екран і
призначення файлу БД, якщо він не був відкритий раніше. p>
Додавання полів у екранну форму по одному
здійснюється за допомогою позиції меню Fields. p>
Розробка звітів є завершальним етапом
технології обробки інформації. При видачі звітів можуть використовуватися
вибірки даних, отримані в результаті виконання запитів, і вихідні файли
БД. P>
Розробка звітів виконується у вікні Reports УЦ.
Форма звітів створюється на екрані. У неї можна включати такі елементи:
поля з поточного файлу БД або вибірки, обчислювані поля, які створюються
спеціально для звітів, текстовий матеріал, рамки та лінії. Текст довгих
символьних полів можна розміщувати і розгортати в колонках заданої ширини. p>
У число стандартних частин звіту входять: заголовок
сторінки, введення (заголовок) звіту, власне звіт (тіло звіту), підсумки
(висновок) звіту та підставу сторінки. p>
Описаний УЦ дозволяє виконувати багато операцій без
знання командного мови dBASE IV за допомогою режиму керованого меню, однак
основний режим роботи СУБД заснований на використанні командного мови. p>
5. Командний мова СУБД h2>
Операції СУБД реалізовані у вигляді команд, які, як
правило, можна використовувати незалежно, вводячи їх за допомогою клавіатури - це,
так званий, командний режим СУБД. З цих команд можна складати
прикладні програми, створюючи таким чином системи «під ключ»,
орієнтовані на непідготовленого користувача. Це, так званий,
програмний (пакетний) режим роботи в СУБД. p>
До складу елементів командного мови входять команди,
SET-команди, функції, змінні та масиви. P>
Команда записується у вигляді рядка слів, до якої
входить дієслово - основне слово, яке визначає зміст операції, виконуваної
командою, список виразів та ключові слова з аргументами. Структура командного
рядка називається синтаксисом команди. Багато команд обробки файлів будуються
за такою формою: p>
<дієслово> [<список виразів>] [<кордону>]
[FOR ] [ІН1ЬЕ <умова>] [ТО FILE <ім'я файлу>/ТО PRINTER p>
/ТО ARRAY <ім'я масиву> p>
/ТО <змінні> [ALL [LIKE/EXCEPT <шаблон>]]
[IN <аліас>] p>
Квадратні дужки означають використання ув'язнених у
них елементів синтаксису на вибір. У кутових дужках, наступних після
ключового слова, записуються його аргументи. Косая риса, нахилена вліво
(/), Це означає, що може бути записано тільки одне з розділених цим знаком
ключових слів. Кутові, квадратні дужки і коса риска в записі команди для її
виконання не вказуються і служать тільки для пояснення синтаксису. p>
<Список виразів> є комбінацією
імен полів файлів БД, змінних, елементів масивів, констант, функцій,
системних змінних і операторів. Всі дані у виразі повинні бути одного
типу. Якщо у виразі потрібно використовувати дані різних типів, їх треба
перетворити на один тип спеціальними функціями. Вирази в списку можуть бути
різного типу. p>
Оператори у висловах позначають операції з даними і
позначаються спеціальними символами. У dBASE використовуються чотири типи операторів:
математичні, оператори відносин, логічні та рядкові. p>
Межі в наведеному вище синтаксисі команди
вказують ті записи файлу БД, які будуть доступні при його обробці. У
як ключові слова кордонів можуть бути: RECORD - доступна тільки
один запис із заданим номером; NEXT - доступні всі записи, починаючи з
номера n; ALL - доступні всі записи файлу БД; REST - доступні записи, починаючи з
поточної до кінця файлу. p>
Опції FOR WHILE і визначають умови відбору записів
для обробки. Ці параметри мають пріоритет перед кордонами при визначенні
доступу до записів. Опція FOR визначає доступ до обробки, починаючи з першого
запису і до кінця файлу БД, a WHILE - починаючи з поточного запису і до тих пір,
поки умова має логічне значення «Істина» (True або. Т.). p>
Опція ТО керує виведенням інформації, обробленої
командою. У ряді команд вихідний потік можна направити у файл на диску, на
принтер, в масив (або змінну). p>
Опція ALL LIKE дозволяє відібрати або, навпаки,
виключити серед імен файлів, полів файлів БД і змінних ті, які
відповідають заданим шаблоном. p>
Особливим різновидом команд є SET-команди,
встановлюють параметри середовища, в якому виконуються звичайні команди.
Застосовуються дві форми цих команд: p>
SET <параметр> ТО <вираз> і p>
SET <параметр> ON/OFF p>
Перша форма встановлює значення параметра, а
другий включає (ON) або вимикає (OFF) його дія, тобто встановлює
стан. Ці команди можна виконувати в програмах, в командному режимі, можна
також занести їх у спеціальний файл з ім'ям Config.db, що визначає параметри
середовища на весь сеанс роботи з пакетом dBASE. p>
Створення файлу БД здійснюється командою CREATE
<ім'я файлу>. Для модифікації створеної структури файлу використовується
команда MODIFY STRUCTURE. p>
Для відкриття файла БД використовується команда p>
USE [<ім'я файлу БД> /?] [IN <номер робочої області>] p>
[INDEX <список. ndx і. mdx файлів>] p>
[ORDER [TAG] <ім'я. ndx файлу>/<покажчик. mdx
файлу> [OF <ім'я. mdx файлу>]] [АИАЗ <аліас>] [EXCLUSIVE] [NOUPDATE]
, p>
яка відкриває існуючий файл БД та пов'язані з
ними файли. mdx і. ndx в поточної робочої області. p>
Для створення індексних файлів типу. ndx і. mdx
використовується команда p>
INDEX ON <індексне вираз> ТО <ім'я. ndx
файлу>/ p>
TAG <ім'я покажчика індексу. mdx файлу> [OF <ім'я
. mdx файлу>] [UNIQUE] [DESCENDING] p>
Для відкриття індексних файлів використовується команда p>
SET INDEX TO [/? <список імен файлів> [ORDER
[TAG] <ім'я. Ndx файлу>/<ім'я покажчика індексу> [OF <ім'я. Mdx
файлу >]]] p>
Крім широкого набору команд типовий мова СУБД типу
dBASE персонального комп'ютера включає кілька десятків або навіть сотень
вбудованих функцій. Функції можуть використовуватися на місці змінних і констант
в командах. Після вказівки імені функції обов'язково йдуть круглі дужки, навіть
якщо функція не вимагає ніяких параметрів. p>
Деякі функції СУБД типу dBASE p>
Функція p>
Призначення p>
RECNO () p>
Повертає
номер поточного запису відкритого файлу БД p>
BOF ()
EOF () p>
Повертають
логічний ознака початку і кінця відкритого файлу БД p>
RECCOUNT () p>
Повертає
число, записів у відкритому файлі БД p>
FOUND () p>
Повертає
логічний ознака успішності пошуку в БД командою SEEK p>
ЦКЕ (<зразок>,
<вир.С>) p>
Порівнює
рядок <зразок> з символьним виразом <вир.С> p>
UPPER
(<вир.С>) p>
Перетворює
символьну рядок у верхній регістр p>
INKEY () p>
Повертає
код натиснутою клавіші p>
ERROR () p>
Повертає
номер помилки p>
CHR () p>
Повертає
букву за кодом p>
DATE () p>
Повертає
поточну дату p>
ROW ()
COL () p>
Повертає
номер поточного рядка та стовпця екрану p>
У мові dBASE IV використовуються також функції, які
(поряд з командами) дозволяють обробляти дані (в тому числі, виконувати
обчислення), а також визначати стану, наприклад, чи знаходиться покажчик
записів у кінці файлу: 7EOF0-Після імені функції зазвичай стоять круглі дужки,
у яких можуть міститися аргументи. Опції не можна використовувати
самостійно, а тільки разом з будь-якою командою. p>
Крім системних функцій у dBASE IV можна використовувати
функції, створені самим користувачем. p>
У мові dBASE використовуються змінні, тип яких
автоматично визначається перший в даній програмі присвоєнням їм значення.
Можливі типи: символьний, логічний, числовий, дата. P>
Крім простих змінних, в програмах та процедури
можна використовувати одно-або двовимірні масиви. Кожен елемент масиву
являє собою звичайну змінну. Представлення змінних у вигляді масиву
дозволяє значно розширити діапазон застосування змінних, а також, у ряді
випадків, полегшити реалізацію функцій, властивих змінним. Перед
використанням масивів спочатку їх треба оголосити командою p>
DECLARE <ім'я масиву 1> p>
[(<кількість рядків>, p>
(, <ім'я масиву 2> p>
[(<кількість рядків>, p>
(<кількість колонок>)] (<кількість колонок >}] p>
В синтаксисі цієї команди опції вказуються фігурними
дужками замість звичайно прийнятих квадратних. Під час запису команди в програмі в
квадратні дужки полягають параметри (розмірність) масиву - кількість рядків і
стовпців. Якщо вказано одне число, то масив одновимірний. Формально двовимірний
масив з одним з параметрів, рівним одиниці, фактично є одновимірним:
DECLARE [12,1] або DECLARE [1,25]. P>
Приклади. p>
DECLARE Mas [8,4]
DECLARE Masi [10] STORE (15/10/89) TO Datl p>
[4,4] •] p>
& & Двовимірний масив & & Одновимірна
масив p>
Для введення даних в змінну або елементи масиву в
програмі використовується команда p>
STORE <вираз> ТО <список
змінних>/<список елементів масиву> або альтернативна форма. p>
<мінлива>/<елемент масиву> =
<вираз>. p>
6. Введення даних до бази та редагування h2>
Після того, як створена структура файлу БД, можна
вводити дані. Існують два стандартні екранні форми введення (і виводу)
інформації у файли БД: BROWSE і EDIT. Перша форма викликається командою p>
BROWSE [NOINIT] [NOFOLLOW] fNOAPPEND] [NOMENU] p>
[NOEDIT] [NODELETE] [NOCLEAR] [COMPRESS] [FORMAT]
[LOCK ] [WIDTH ] [FREEZE <ім'я поля>] [WINDOW
<ім'я вікна>] [FIELDS <ім'я поля 1> [/ R] [/ <ширина колонки>]
/ <вычисл. ім'я поля 1> = <вираз 1> [, <ім'я поля 2> [/ R]
[/ <ширина колонки>]/<вычисл. ім'я поля 2> = <вираз
2 >]...] p>
У команді є ряд опцій, що дозволяють встановлювати
різні режими її використання. У число цих опцій входить група опцій,
що дозволяють призначити режими роботи з полями, і група опцій по розміщенню
полів на екрані. До складу першої групи входять наступні опції: NOEDIT,
дозволяє встановити режим тільки читання для всіх полів, NOAPPEND, не роздільна
додавати нові записи, і NODELETE, не роздільна позначати запису для
видалення. Опція FREEZE призначає для оновлення тільки одне вказане поле.
Інші поля висвічуються, але залишаються недоступними для редагування. Якщо
для зазначеного в опції FREEZE поля командою PROTECT відкрито тільки читання, то
оновлення не дозволяється. Опція FREEZE без імені поля скасовує раніше
призначену установку. p>
Поля висвічуються в тому порядку, який визначений
структурою файлу БД або зазначено в команді опцією FIELDS, що входить до складу
другої групи. Ця опція дозволяє вибрати поле і визначити порядок його
розташування в таблиці Browse. p>
Опція WIDTH встановлює верхню межу ширини
колонки для всіх полів у таблиці BROWSE. Ця ширина перекриває ширину поля,
призначену при створенні файлу БД. Якщо опції WIDTH і <ширина колонки>
використовуються одночасно, то приймається найменше значення. Дана опція,
як і попередня, не застосовується для полів типу Memo і логічних полів.
Значення числових полів і полів дати не будуть висвітлюватися, якщо значення
опції WIDTH менше ширини цих полів, призначених при визначенні структури
файлу БД. Опція FORMAT дозволяє розмістити поля в таблиці BROWSE в
черговості, визначеної екранної формою, яка встановлена командою SET
FORMAT TO. P>
Альтернативою команди BROWSE є команда EDIT p>
EDIT [NOINIT]
[NOFOLLOW] [NOAPPEND] [NOMENU] p>
[NOEDIT] [NODELETE]
[NOCLEAR] [<номер запису>] [FIELDS <список полів>] [<діапазон>] [FOR <умова>] [WHILE <умова>] p>
Ця команда виводить на екран по одному запису файлу БД,
поля якої розміщуються по вертикалі. p>
Якщо потрібно оновити вміст полів файлу БД без
залучення даних з іншого файлу, наприклад помножити вміст числового
поля на задану величину, з'єднати вміст двох символьних полів і т.д.,
можна використовувати команду p>
REPLACE [<кордону>] <поле> WITH <вираз> p>
[, <поле> WITH <вираз ...] [WHILE <умова>]
[FOR <умова>] [ADDITIVE] p>
що змінює (заміщає) значення заданих полів
(включаючи поля Memo) поточного запису або групи записів, визначених кордонами та
опціями WHILE, FOR. p>
Після введення даних в файл БД нерідко потрібно швидко
їх переглянути. Для цього служать команди p>
LIST/DISPLAY [<кордону>] [[FIELDS] <список виразів>] p>
[OFF] [<діапазон>] [FOR <умова>] [WHILE <умова>]
[ТО PRINTER/ТО FILE <ім'я файлу>] p>
Ці команди виводять всі поля файлу БД, якщо їх список
не визначений опцією FIELDS. На початку кожного запису, якщо не вказана опція OFF,
виводиться її номер, опції <діапазон>, FOR і WHILE визначають діапазон
виводяться записів. Команди LIST і DISPLAY ідентичні з тією різницею, що перший
виводить запису безперервно, а другий робить зупинку після виведення однієї
сторінки екрану. p>
Крім висновків файлів БД команди LIST і DISPLAY
дозволяють також висвічувати дані про файли в директоріях, вміст буфера
HISTORY (сховище виконаних з клавіатури команд), дані про використовувані
змінних і масивах, інформацію про поточний сеанс роботи з dBASE, структуру
вказаного файлу БД і імена робочих станцій, що працюють в середовищі ЛОМ. p>
7. Додаткові операції h2>
Нерідко виникає необхідність переглянути структуру
файлу та вивести її на друк. Для цього служить команда p>
LIST/DISPLAY
STRUCTURE [IN <аліас>] [ТО PRINTER/TO FILE <ім'я файлу>] p>
яка виводить інформацію про фото БД. p>
Існують спеціальні команди переміщення по файлу,
додавання нових записів і позначки запІсейа для їх подальшого видалення. p>
Для переміщення по файлу використовується команда p>
GO/GOTO BOTTOM/TOP
[IN <аліас>] p>
АБО p>
або p>
GO/GOTO [RECORD] <номер запису> [IN
<аліас>] p>
<номер запису> p>
Ці команди здійснюють перехід на зазначену запис у
активному файлі БД. У програмах часто потрібно переміщати покажчик записи не
на певний запис, а на наступний після поточної. Цю операцію виконує
команда p>
SKIP [] [IN <аліас>] p>
Після того як покажчик запису переміщений на потрібну
запис, який стає поточної, можна виконати потрібну операцію,
наприклад ввести запис до або після поточної. Для цього використовується команда p>
INSERT [BEFORE] [BLANK] p>
яка дозволяє ввести новий запис (або порожню
запис, якщо вказана опція BLANK) після поточної або перед нею (якщо задана
опція BEFORE). Позначити одну або декілька записів для їх подальшого видалення
можна командою p>
DELETE [<діапазон>] [FOR <умова>] [WHILE
<умова>] p>
Опції <діапазон>, FOR і WHILE дозволяють позначати
записи, відібрані у відповідності з заданим діапазоном та умовами. p>
Для того щоб знищити позначки на видалення записів
використовується команда p>
RECALL [<діапазон>] [FOR <умова>] [WHILE
<умова>] p>
Фізичне видалення позначених записів активного файлу
БД виконує команда PACK. Команда p>
APPEND [BLANK] p>
дозволяє додавати записи, введені з клавіатури в
кінець активного файлу БД. p>
У ряді випадків потрібно створити фізично
упорядкований файл. Для цього використовується команда p>
SORT TO <ім'я файла> ON <полі 1> [/ А] [/ С] [/ D] p>
[, <полі 2> [/ А] [/ С] [/ D ]...] [ASCENDING]/[DESCENDING]
[<кордону>] [WHILE <умова>] [FOR <умова>] p>
яка створює новий файл БД із записами,
відсортованими в алфавітному, хронологічному або числовому порядку за заданими
полях. Сортування виконується у порядку зростання (/ А) або зменшення (/ D)
значень полів. Допускається сортування максимум по десяти полях. Опція/С
визначає сортування незалежно від великих і малих літер. Команда p>
COPY FILE <назва файлу 1> ТО <назва файлу 2> p>
робить копію файлу будь-якого типу. p>
Після копіювання або в інших випадках нерідко
потрібно перейменувати файл. Для цього використовується команда p>
RENAME <ім'я файлу> ТО <нове ім'я файла> p>
Нерідко потрібно знайти запис не з її положенню в
файлі БД, а за змістом полів. Такий вид пошуку передбачений, наприклад, в
меню команди BROWSE. Спосіб пошуку за змістом полів залежить від того, створені
Чи індексні файли з цих полів або їх комбінацій. Для пошуку по
неіндексірованним полях використовується команда p>
LOCATE [FOR] <умова> [<діапазон>] [WHILE
<умова>] p>
Ця команда виконує в активному файлі БД пошук перший
запису, що задовольняє умові, заданого опцією FOR. Параметри <діапазон> і
WHILE визначають діапазон і умова початку і кінця перегляду записів. P>
Для пошуку по індексованих полів використовуються
команди SEEK і FIND. Команда p>
SEEK <вираз> p>
виконує пошук першого запису файлу БД з заданим
значенням індексованого поля. При цьому відповідний індекс повинен бути
встановлений в якості голів