- •6.050604 "Енергомашинобудування"
- •Основні поняття баз даних (бд). Моделі бд.
- •Моделі даних
- •Скбд для пк і їх призначення
- •Термінологія і структура даних в скбд
- •Типи файлів
- •Сруктура команд скбд
- •Команди установок
- •Створення файлу бд
- •3. Команди роботи з бд
- •3.1. Команди відкриття та закриття файлу бд
- •3.2. Команда доповнення бази даних записами
- •3.3. Команди редагування даних
- •3.4. Команди переміщення в бд
- •3.5. Команди перегляду записів
- •3.6. Команди вилучення записів
- •3.7. Команда вставлення записів.
- •3.8. Команда заміни даних
- •4. Упорядкування записів в бд
- •4.1. Сортування бд
- •4.2. Індексування баз даних.
- •Відкриття індексних файлів
- •Керування індексами.
- •Пошук потрібних записів
- •5.1. Фільтрація записів.
- •5.2. Пошук окремого запису в базі даних
- •Прискорений пошук
- •6. Обробка записів бази даних
- •Обчислення підсумків
- •Обчислення середніх значень
- •7. Створення командних файлів
- •Завдання для самостійної роботи.
- •Створити бд заданої структури.
- •Лабораторна робота №1 Тема: Створення файлу бази даних.
- •Лабораторна робота №2 Тема: Створення командних файлів для упорядкування та обробки записів бд
- •Лабораторна робота №3 Тема: Створення командних файлів для пошуку потрібних записів в бд
- •Література
3.7. Команда вставлення записів.
У випадках, коли необхідно вставити новий запис не в кінець файлу бази даних, а в певному місці, використовують команду:
INSERT [BEFORE][BLANK]
Команда INSERT без параметрів вставляє новий запис в активний файл бази даних відразу після поточного запису і висвітлює цей запис для редагування. Якщо в команді вказано опцію BEFORE, то новий запис буде включено в файл перед поточним записом з висвітлюванням його для редагування.
Опція BLANK забезпечує вставлення в файл пустого запису.
Команду INSERT не треба використовувати для великих не індексованих файлів, оскільки вставлення запису на початку файлу призводить до перезапису всіх записів файлу бази даних. Тому при необхідності краще використовувати команду APPEND.
3.8. Команда заміни даних
FoxPro має можливість замінювати дані не тільки вручну, а також шляхом присвоєння або обчислення використовуючи команду:
REPLACE [< область дії >] WHILE [< умова >][ FOR < умова >]
< поле 1> WITH < вираз. > [, < поле 2 > WITH < вираз >…]
[ADDITIVE] [NOOPTIMIZE]
Ця команди здійснює багаторазову заміну полів БД у відповідності з заданими виразами, в заданій області і при заданих умовах. Команда REPLACE без параметрів здійснює заміну тільки поточного запису. Параметр ADDITIVE діє тільки для мемо-полів.
4. Упорядкування записів в бд
Упорядкована, наприклад, за алфавітом інформація сприймається і обробляється краще, ніж неупорядкована.
У FoxPro є дві можливості упорядкувати записи в БД:
сортування БД;
індексування.
4.1. Сортування бд
Процес упорядкування записів БД за зростанням або спаданням значення деякого поля називається сортуванням.
Поле бази даних, по якому здійснюється сортування, називається ключовим.
У результаті сортування створюється новий файл БД, в якому записи перезаписуються із активного файлу в порядку зростання (спадання) значень ключового поля.
Сортування БД може виконуватись по декільком ключам.
Сортування дозволяє скоротити час пошуку інформації в БД по заданому значенню ключового поля. Формат команди:
SORT TO < ім’я нової БД > [ASCENDING/DESCENDING]
ON <поле 1> [/A][/D][,<поле 2>[/A][/D][/C]…]
[<область дії >] [FOR <умова >] [WHILE <умoва >]
[FIELDS <список полів >]
Команда SORT створює з активної БД новий файл, в якому записи розташовані за зростанням (/А) або спаданням (/D) значень одного або декількох ключових полів(<поле 1>, <поле 2>, …)
Якщо ключ /D не задано, за замовчуванням виконується сортування за зростанням значень ключового поля.
Ключ /C використовується, коли при сортуванні не відрізняються великі і маленькі літери.
Треба пам'ятати, що сортування символьних даних з кириллицею виконується тільки в русіфікованих версіях. Ключ /C можна поєднувати з іншими ключами, наприклад, /DC.
Порядок записів полів після слова ON є суттєвим і визначається їх приоритетом. Для організації складного сортування можна водночас використовувати до 10 полів.
Опції ASCENDING/DESCENDING означають, що сортування буде виконуватись за зростанням/спаданням (за замовчуванням діє ASCENDING). Використання опції DESCENDING надає можливість поміняти значення ключів /A для кожного з полів на протилежне.
Новий файл утворюється з усіх або вказаних полів (якщо вказано опцію FIELDS <список полів>) всіх записів із <області дії>, що задовольняють умови, задані опціями FOR або WHILE.
Для подальшого використання відсортованого файлу треба не забути відкрити його командою USE.
Наприклад, відсортувати файл SPISOK.DBF по ключовим полям: PRIZV за алфавітом і RIKNAR за спаданням. До нового файлу включимо тільки записи полів PRIZV, NAME та RIKNAR. Для сортування створимо програмний файл з іменем SORT.PRG.
*-------------------------------------Програма SORT.PRG-----------------------------------*
* сортування файлу БД USE SPISOK.DBF по ключовим полям PRIZV за *
* алфавітом і RIKNAR за спаданням *
*----------------------------------------------------------------------------------------------------*
SET TALK OFF &&Відключення виведення на екран
&&результатів дій будь-якої команди
CLEAR &&Чищення екрану
USE SPISOK && Відкриття бази даних SPISOK.DBF
* Створення відсортованого файлу SP_SORT
SORT TO SP_SORT ON PRIZV, RIKNAR/D FIELDS PRIZV, NAME, RIKNAR
USE SP_SORT && Відкриття нової відсортованої БД SP_SORT
GO TOP && Перехід на початок відсортованого файлу
BROWS NOEDTT &&Перегляд відсортованого файлу без
&& ,без редагування
SET TALK ON
*----------------------------------------Кінець SORT.PRG------------------------------------*
Р
ис.
4.1
Треба пам'ятати, що:
- створення відсортованих файлів даних по окремим ключовим полям приводить до значних витрат дискового простору;
- команда сортування для баз значних розмірів виконується повільно.
На практиці слід віддавати перевагу індексуванню баз даних, тому що індексація враховує перелічені вище недоліки.
