- •Міністерство освіти і науки, молоді та спорту україни одеський державний екологічний університет методичні вказівки
- •І. Загальна частина
- •Іі. Організація самостійної роботи студента
- •2.1 Рекомендації студенту по роботі над курсом “Організація баз даних та знань”
- •Загальні поради
- •Повчання по послідовному вивченню теоретичного матеріалу
- •Параметри
- •Параметри
- •Тип значення, що повертається
- •10. Розподілені бази даних
- •11. Системи керування базами знань
- •2.1.3 Перелік запитань для самоперевірки
- •Перелік завдань на контрольну роботу
- •Загальні поради по виконанню контрольної роботи
- •Виконання контрольної роботи
- •2.2.3 Розв’язання типових завдань Завдання 1 Створення бази даних
- •Завдання 4 Використання вкладених запитів
- •Завдання 5 Запити з групуванням
- •Завдання 6 Маніпулювання даними командами delete-sql та update-sql
- •2.2.4 Завдання до контрольної роботи Завдання 1 Створення бази даних
- •Завдання 2 Прості запити до бази даних
- •Завдання 3 Запити з використанням полів, що обчислюються
- •Завдання 4 Використання вкладених запитів
- •Завдання 5 Запити з групуванням
- •Завдання 6 Маніпулювання даними командами delete-sql та update-sql
- •Виконання запитів по варіантах завдань
- •3.1 Система контролю знань та вмінь студентів
- •3.2 Форми контролю знань та вмінь студентів
- •Методичні вказівки
Параметри
FROM [DatabaseName!]TableName
Вказує таблицю, в якій записи відмічаються на видалення. Тут TableName – назва (ім’я) таблиці, DatabaseName – ім’я бази даних (вказується, якщо таблиця не в активній базі даних).
WHERE FilterCondition
Вказує, що тільки визначені умовою FilterCondition записи відмічаються на видалення. FilterCondition – звичайний предикат, якій може включати вкладені запити, але не більше двох запитів.
Як і команда DELETE мови FoxPro, команда DELETE - SQL тільки відмічає записи на усунення. Для фізичного видалення відміченних записів потрібно використати команду PACK.
Команда UPDATE - SQL
Оновлює записи в таблиці новими значеннями.
Синтаксис команди:
UPDATE [DatabaseName1!]TableName1
SET Column_Name1 = eExpression1
[, Column_Name2 = eExpression2 ...]
[WHERE FilterCondition]
Параметри
FROM [DatabaseName!]TableName
Вказує таблицю, в якій оновлюються записи. Тут TableName – назва (ім’я) таблиці, DatabaseName – ім’я бази даних (вказується, якщо таблиця не в активній базі даних).
SET Column_Name1 = eExpression1 [, Column_Name2 = eExpression2... ]
Вказує атрибути (Column_Name1, Column_Name2), значення яких оновлюється новими значеннями (eExpression1, eExpression2).
WHERE FilterCondition
Вказує, що тільки в визначених умовою FilterCondition записах оновлюються значення атрибутів. FilterCondition – звичайний предикат, якій може включати вкладені запити, але не більше двох запитів.
Вкладені запити в командах UPDATE – SQL та DELETE – SQL можна використовувати для визначення рядків таблиці, що видаляються або оновлюються, з використанням даних з інших таблиць.
Функції FoxPro
FoxPro має велику кількість функцій, повний перелік яких можна отримати у файлі допомоги програми (Help). В цьому розділі наводяться лише функції, які потрібні для виконання більшості варіантів завдань контрольної роботи. Оскільки запити до БД можна писати різними способами і з використанням різних функцій, то студенти можуть під час виконання контрольної роботи використовувати функції, які не перелічені в цьому розділі, якщо вони самостійно ознайомились з форматом запису та використання цих функцій.
Функції дати та часу
Функція DATE
Повертає поточне системне або задане значення дати.
Синтаксис
DATE([nYear, nMonth, nDay])
Якщо аргументи не вказані, повертається системне значення дати.
Аргументи:
nYear
Задає рік в даті. nYear повинно бути цілим числом від 100 до 9999.
nMonth
Задає місяць в даті. nMonth повинно бути цілим числом від 1 до 12.
nDay
Задає день в даті. nDay повинно бути цілим числом від 1 до 31.
Тип значення, що повертається
Date
Функція DAY
Повертає ціле число, що відповідає номеру дня (в місяці) в зазначеній даті.
Синтаксис
DAY ( date )
Аргументи:
date
Дата. Вираз, що повертає значення типу Date.
Тип значення, що повертається
Numeric
Функція MONTH
Повертає ціле число, що відповідає номеру місяця в зазначеній даті.
Синтаксис
MONTH ( date )
Аргументи:
date
Дата. Вираз, що повертає значення типу Date.
Тип значення, що повертається
Numeric
Функція YEAR
Повертає ціле число, що відповідає номеру року в зазначеній даті.
Синтаксис
YEAR ( date )
Аргументи:
date
Дата. Вираз, що повертає значення типу Date.
Тип значення, що повертається
Numeric
Функції символьних рядків
Функція LEFT
Повертає частину символьного рядка, починаючи с початку заданого рядка і довжиною в указану кількість символів
Синтаксис
LEFT ( character_expression, integer_expression )
Аргументи:
character_expression
Вираз символьного типу. character_expression може бути константою, змінною, або атрибутом таблиці.
integer_expression
Позитивне ціле число.
Тип значення, що повертається
Character
Приклад функції LEFT: LEFT('приклад',3) = 'при'
Функція RIGHT
Повертає частину символьного рядка, починаючи с вказаного числом integer_expression символу від кінця рядка.
Синтаксис
RIGHT ( character_expression , integer_expression )
Аргументи і тип значення, що повертається, аналогічні аргументам і типу функції LEFT.
Приклад функції RIGHT: RIGHT('контрольна',4) = 'льна'
Функція RTRIM
Повертає заданий символьний рядок після усунення його хвостових пробілів.
Синтаксис
RTRIM ( character_expression )
Аргументи і тип значення, що повертається, аналогічні аргументам і типу функції LEFT.
Приклад: RTRIM('контрольна робота ') = 'контрольна робота'
Функція LTRIM
Повертає заданий символьний рядок після усунення пробілів на його початку.
Синтаксис
LTRIM ( character_expression )
Аргументи і тип значення, що повертається, аналогічні аргументам і типу функції LEFT.
Приклад: LTRIM(' приклад функції ') = 'приклад функції '
Функції перетворення типу даних
Функція STR
Повертає символьний еквівалент заданого числового виразу.
Синтаксис:
STR(nExpression [, nLength [, nDecimalPlaces]])
Аргументи:
nExpression
Вказує числовий вираз, значення якого переводиться у символьний еквівалент.
nLength
Вказує довжину символьного рядка, що повертає функція. Довжина включає один символ для десяткової крапки та по одному символу на кожну цифру ліворуч або праворуч десяткової крапки.
Функція STR доповнює символьний рядок, що повертається, пробілами попереду цифр, якщо вказана довжина рядка більше, ніж кількість цифр ліворуч від десяткової крапки. Функція STR повертає рядок зірочок (*), що вказує на переповнення, якщо довжина рядка менше, ніж кількість цифр ліворуч від десяткової крапки.
Якщо параметр nLength не вказаний, довжина рядка буде 10 символів.
nDecimalPlaces
Вказує кількість цифр після десіткової крапки. Якщо вказана довжина nLength менше, ніж:
(кількість цифр ліворуч десяткової крапки)+ nDecimalPlaces + 1 (на крапку) –
то кількість цифр після десіткової крапки буде зменшена (можливо до нуля).
Якщо nDecimalPlaces не вказане, числовий вираз округляється до цілого числа..
Тип значення, що повертається
Character
Функція IIF
Повертає одне з двох значень, залежно від значення логічного виразу.
Синтаксис
IIF(lExpression, eExpression1, eExpression2)
Аргументи:
lExpression
Вказує логічний вираз, що обчислюється в функції.
eExpression1, eExpression2
Якщо lExpression розраховане як true (.T.), повертається значення виразу eExpression1. Якщо lExpression розраховане як false (.F.), eExpression2 значення виразу. У якості виразів eExpression1, eExpression2 може використовуватись функція IIF, тобто розгалуження можливе більш, ніж на дві гілки, наприклад:
IIF(lExpr1, eExpr1, IIF(lExpr2, eExpr2, IIF(lExpr3, eExpr31, eExpr4)))
