Система управління базами даних FoxPro.
Під базою даних розуміють певним способом організовану сукупність даних, які відображають стан об’єктів певної предметної області і зв’язки між ними. В основі такої організації лежить певна структура.
Для того щоб декілька користувачів могли працювати з базами даних використовують СУБД.
СУБД – це набір програм які забезпечують роботу з базами даних. В основі кожної СУБД лежить певна мова.
Кожна СУБД повинна розв’язувати такі задачі:
1. Створення баз даних – для цього необхідно визначити які дані будуть зберігатися і якого вони типу, потрібно описати структуру бази даних, тобто зв’язки між її елементами. Все це заноситься в пам’ять і СУБД звертається до цієї інформації по мірі необхідності.
2. Ввід даних в пам’ять – здійснюється контроль за вводом СУБД, вона керує розміщенням даних у пам’яті.
3. Експлуатація бази даних – користувач може обновити базу даних, добавити чи вилучити, вибрати з бази даних необхідну інформацію.
4. Захист даних – він необхідний у випадку раптового виключення живлення і якщо декілька користувачів одночасно здійснюють доступ до даних.
5. Обробка даних – найчасті це сортування діних, математична обробка даних, об’єднання даних.
6. Вивід даних на екран або тверді копії.
Розрізняють логічну і фізичну організацію даних.
Фізична рганізація даних – це реальний спосіб збереження даних.
Логічна організація даних – вказує на те як дані представляються програмісту чи користувачеві.
Перетворення організацій даних здійснюється програмним забезпеченням.
Фізичні організації даних можуть відповідати декільком логічним.
База даних складається з даних і зв’язків між ними, тобто структури.
Існують 3 типи структур даних:
1. Деревовидна(ієрархічна) – її зручно використовувати при опису даних про родовід від одного предка.
2. Сітьова – використовується для задання даних про родовід від двох предків.
3. Реляційні структури – дані організовуються в двовимірних таблицях.
В сучасних СУБД використовується реляційна структура. Ця конструкція була запропонована в 1970 році Коддом. Він показав що представлення даних з допомогою ієрархічної чи сітєвої структури може бути зведена до реляційної структури.
Реляційні структури повинні задовільняти такі вимоги:
1. Кожен елемент таблиці це один елемент даних.
2. Всі стовпці в таблиці однорідні.
3. Всім стовпцям одночасно присвоюється ім’я.
4. В таблиці нема двох однакових рядків.
5. В операціях з таблиці рядки і стовпці можуть переглядатися в довільному порядку.
Перші СУБД почали виникати в 70-х роках. На даний час існують різні СУБД: dBase, FoxBase, FoxPro і т.д.
На даний час найчастіше використовуються СУБД FoxPro і Access.
СУБД FoxPro.
СУБД FoxPro – це реляційна СУБД. При роботі в СУБД FoxPro користувач може працювати в інтеративному і програмному режимах. В памяті зберігаються бази даних і змінні які можуть бути записані у файлах.
Дані і файли FoxPro
1 Типи даних. У FoxPro є шість типів даних
·символьний character
·числовий numeric
·логічний logical
·тип дата date
·тип приміток memo
·з плавючою крапкою float
Символьний тип містить букви, цифри, службові знаки. Максимальна довжина 264 знаки.
Числові – цифри, крапку, знак.
Дані логічного типу складаються з однієї букви T або F(y/n).
Тип дата містить стандартну довжину вісім знаків.
Дані типу memo можуть містити довільні букви, цифри, знаки, спеціальні символи. Довжина залежить від обєму дискової памяті.
2 Змінні памяті. Імена імінних повинні включати до десяти букв, цифр або символів. Причому перший символ повинен бути буквою. Змінні в пам’яті можуть бути всіх типів крім типу memo. Тип змінної визначається значенням, яке туди заноситься, і описувати не потрібно. Якщо змінні не організовані у .mem файлу, то при виході з FoxPro знищуються.
3 Типи файлів. Кожен файл має своє розширення в залежності від типу. Команда по якій створюється файл присвоює йому розширення по замовчуванню, тоді розширення вказувати не обов’язково, але програміст може задавати своє розширення, тоді його потрібно вказувати кожен раз при використанні файла.
·Файли баз даних мають розширення .dbf
·Поля типу memo - .fpt
·При роботі з базою даних система створює файли підтримки з розширенням .bak
·При сортуванні бази даних зі створенням індексних файлів їх розширення .idx або .cdx
·Програмні файли - .prg
·Відкомпільовані файли - .txt
Для форматованого виводу файлів використовують форматні файли з розширенням .fmt
При створенні звітів створюються файли .frx
·Змінні пам’яті зберігаються в пам’яті з розширенням .mem
Для того щоб завантажити FoxPro потрібно щоб на диску були всі необхідні програми для роботи СУБД, тоді запуск програми здійснити з допомогою файла FoxProl.exe
Робота СУБД FoxPro в програмному режимі
Мова FoxPro. Робочі області. Програмні файли.
Структура команд FoxPro: <Ключове слово> [<діапазон дії>] [<список виразів>] [<умова виконання >] [<обмеження>]
[...] – на обовязкові параметри
<...> - вони не записуються, а замість них вставляються конкретні слова, або знаки.
.../... – одне зслів до чи після риски повинно входити в команду обов’язково.
? – якщо він наявний то система видає діалог для здійснення необхідні вибори.
ключове слово – це дієслово англійською мовою яке визначає ім’я команди. Ключові слова система розпізнає по першим чотирьох літерам.
діапазон дії – вказує на записи на які повинна діяти команда: All, Next n, Rest, Record n.
список виразів – це ті поля на які діє команда. Розрізняють такі позначення: < вираз C> - вираз символьного типу; <вираз N > - вираз числового типу; <вираз L> - вираз логічного типу; <вираз D> - вираз типу дата.
Умова виконання – For<вираз L>.
Обмеження – While <вираз L>.
Вирази можуть складатися з констант, змінних, полів і відповідних знаків операцій. Константи типу дата мають вигляд {12/01/99}. Логічні константи .T. .F. символьна константа береться в лапки.
Арифметичні операції +, -, *, /, **.
Логічні операції .Not., .And. .Or.
Знаки порівняння <, >, <=, >=, =, #.
СУБД містить великий набір арифметичних та символьних функцій.
Бази даних можна відкривати в декількох робочих областях. Робочі області цифрами, або буквими, або псевдонімом відкритої в роьочій області бази даних. В будьякий момент часу активною є лише одна робоча область. Щоб перейти в іншу роьочу область задається команда Select з номером, або відповідною буквою чи псевдонімом робочої області.
Наприклад: Select 1;
Select A;
Select igor.
Якщо псевдонім не задано то псевдонімом вважається ім’я бази даних. Певдоніми використовуються при роботі з декількома базами даних. Якщо потрібно звернутися до поля не активної бази даних то це здійснюється таким чином <псевдонім> . ( ) <ім’я поля>
Зауваження: в даному випадку перед іменем поля задається або . або
Виконання команд файлу здійснюється по команді
DO <імяPRG-файла> [WITH<списак параметрів>] [IN<файл>]
With – в цій операції перераховується список фактичних параметрів.
IN<файл>- дозволяє виконати процедуру в заданому програмному файлі.
Командний файл буде працювати до тих пір поки не зустрінеться команда: RETURN, CANCSEL, QUIT, або не досягне кінця файла.
RETURN – управління передається у викликаючу програму.
CANSEL – управління передається в командне вікно.
QUIT – управління передаєтьося в операційну систему.
Створення команд здійснюється командою: modify command <ім’я файлу> [noedit] [window<вікно 1>] [in window<вікно 2>: in screen] [save] – відкриває вікно текстового редактора для створення програмного файлу. В цьому вікні записується командний файл, а для закриття файлу зі збереженням достатньо натиснути ctrl+w.
Якщо потрібно командний файл відредагувати то знову задають команду modify command і відкрив вікно знаявною інформацією.
Noedit – не допускає модефікації тексту у вікні редагування.
Window <вікно 1> - командне вікно приймає параметри вікна 1.
In window <вікно 2> - командне вікно відкривається у вікні 2.
In screen – на екрані.
Save – командне вікно зберігається на екрані після виходу з допомогою ctrl+w.
У FoxPro є можливість задавати коментарі. Рядок коментаря починається з * , якщо комнтар слідує після команди то перед ним ставиться &&.
Наприклад : * перехід в іншу робочу область:
Select 6 && 6 робоча область.
Створення, відкриття і копіювання баз даних.
Команда створення баз даних.
Create [21] [<ім’я бази [22] даних >:?] – якщо задано ім’я бази даних то буде створена база даних з заданим ім’ям, якщо ж задано ? то система виведе діалогове вікно в, якому потрібно задати ім’я створювальної бази даних.
Зауваження: процес створення бази даних по команді create аналогічний створенню бази даних з допомогою команди меню file/new.
Щоб працювати з вікнами бази даних її потрібно відкрити, це здійснюється командою use[<ім’я бази даних>:?][in <робоча область>][index<список індексних файлів>][alias<псевдонім>] [noupdate]
Use без параметрів закриває відкриту базу даних в активній робочій області.
Ім’я бази даних – відкривається баз баних ззаданим ім’ям , якщо ж задано ? то система виведе діалогове вікно для вибору бази даних яку потрібно відкрити.
In <рообоча область> - задає номмер робочої області в якій відкриється база даних.
index<список індексних файлів> - будуть підключатися до даної БД створені раніше індексні файли.
Alias<псевдонім> - задає псевдонім.
Noupdate – БД не доступна для змін.
Приклад: use a.dbf in 2 index a1.idx alias gr26 –в другій робочій області буде відкрита БД a.dbf до неї індексний файл a1.idx, БД надається псевдонім gr26.
Use a.dbf In2 INDEX a1.idx ALIAS gr26 – в другій робочій області буде відкрита база даних a.dbf, до неї підключиться індексний файл a1.idx, базі даних надається псевдонім gr26.
USE c.dbf – відкриття бази даних с.dbf.