Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lr3.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.84 Mб
Скачать

Модифікація структури таблиці, яка належить до бд

На відміну від Free-таблиці, яку ми створювали у 1 лаб.роботі, таблиця, яка належить БД має додаткові властивості. Розглянемо вікно модифіккації структури таблиці більш детально.

Вікно проектування таблиці містить три вкладки: Fields – для визначення полів таблиці (рис.6), Indexes – для визначення індексів і Table – для визначення тригерів та правил перевірки (рис.7).

Завдання властивостей полів

Використовуючи вкладку Fields вікна проектування таблиці, можна виконати дії щодо модифікації структури таблиці і описати додаткову інформацію про таблицю, яка буде зберігатися у файлі бази даних. Зверніть увагу, що вид вкладок буде різним для вільних таблиць (1 лаб.роб.) і для таблиць баз даних. У нижній частині вкладки Fields (див. рис.6) розміщені опції, що дозволяють задати для кожного поля таблиці властивості, які будуть використовуватися при введенні даних у ці поля.

Рис. 6.

Група опцій Display (відображення) дозволяє визначити формат і маску вводу для відображення і вводу даних в поля таблииці. В опції Caption (підпис) вказується заголовок поля, який буде висвічуватись замість імені поля у вікні Browse та в елементах керування TextBox та Grid. Format (формат) – задає формат відображення данних у формах, звітах та вікнах редагування даних. Input mask (маска вводу) – задає шаблон для вводу даних (аналогічно командам вводу/виводу у 2 лаб.роб.)

Група опцій Map field type to classes (використовувані типи полів для класів) дозволяє визначити клас елемента керування, встановленний за замовченням для даного поля, указати бібліотеку і клас, які будуть автоматично створюватися при розміщенні цього поля у вікні форми (якщо перенести це поле на форму редагування даних за допомогою мишки). Display Library указує шлях і ім'я файлу до бібліотеки класів. Display Class вказує назву класа елемента керування, призначений за замовчанням.

Область Field Validation (контроль ведення даних на рівні поля) дозволяє зберегти для кожного поля задати наступні параметри: Rule (правило) – задає умову перевірки правильності введення даних у поле; Message (повідомлення) – текст повідомлення, як буде з’являтися при неправильному введенні даних у поле; Default Value (значення за замовчуванням) – значення, що вводиться в поле за замовчуванням при доповненні таблиці новим записом.

У текстовому полі Field Comment (коментар) можна ввести короткий опис поля, що може знадобитися при наступних модифікаціях структури таблиці та супроводі проекту.

Використання .NULL. значень

Для кожного поля ви можете визначити ознаку, що дозволяє при введенні даних залишати це поле порожнім. Для цього використовується опція NULL.

У FoxPro незаповнене поле (у залежності від його типу) інтерпретується або як порожній символьний рядок, або як числове значення 0, або як логічне значення False, що не дозволяє зрозуміти чи занесено у поле певне значення (пробіл, 0, . F.) чи поле незаповнене. Саме для визначення незаповнених даних використовується NULL-значення. NULL – логічне значення, яке не дорівнює пробілу, 0, . F., .T. і у результаті порівняння з цими значеннями дає .NULL.

Для використання значень полів NULL у поле будь-якого типу необхідно виконати дві операції: у вікні Command чи в програмі необхідно дати команду SET NULL ON; модифікувати структуру таблиці і клацнути на кнопці NULL для кожного поля, яке допускає NULL-значення. FoxPro заносить лексему .NULL. у поля, яким дозволено залишатися порожніми і які не містять ніяких значень. Якщо після виконання команди SET NULL ON не був установлений прапорець Null, FoxPro не буде використовувати порожні значення чи пробіли в полях первинних і потенційних ключів. За замовчуванням у FoxPro не дозволяється завдання значень NULL. (більш детальні пояснення див. у додатку 2)

Для того, щоб визначити поле містить NULL-значення використовується функція

ISNULL(<вир>)

- функція повертає .T. якщо у виразі місться null, цінакше функція повертає .F.

Визначення властивостей таблиці

У цьому вікні конструктора таблиці на вкладці Table можна визначати правила перевірки даних даних на рівні запису і тригери (правила, які дозволяють/забороняють доповнювати, видаляти чи редагувати дані).

Рис. 7.

У її верхній закладки Table розташоване поле Name (Ім'я), у якому ви можете задати довгу назву таблиці. Ця назва буде відображатися у вікні проекту, а також використовуватися при створенні форм, запитів і звітів.

При створенні таблиці, що належить БД, в рядку Database вказується ім'я бази даних, до якої буде входити створювана таблиця. Це поле доступне тільки для читання.

Використовуючи поле Table Comment вкладки Table, ви можете ввести опис таблиці.

Для визначення умови перевірки правильності введення інформації на рівні записів використовується область Record validation. Де можна занести правило перевірки даних у запису Rule та повідомлення Message, яке буде видаватися користувачу у разі, коли вказане правило не буде виконуватися. На відміну від правил, якік задаються для полів таблиці, це правило проводить перевірку даних при спробі вийти з поточного запису.

У області Triggers також вказуються умови, які дозволяють) або забороняють доповнення, редагування та видалення записів у таблиці. Тригерами називаються вирази чи процедури, які виконуються щоразу при внесенні змін у таблицю бази даних. Для кожної операції модифікації даних (доповнення, редагування, втдалення запису) у таблиці можна визначити свій тригер: INSERT Trigger – активізується при спробі доповнити до таблиці новий запис, UPDATE Trigger – активізується при редагуванні запису і DELETE Trigger – активізується при видаленні запису. У вікні тригера задається умова або функція, можна UDF-функція (User Define Function – функція визначена користувачем). Якщо у результаті перевірки умови отримано .T., зміни у таблиці дозволяється, якщо .F. – не дозволяються. Тригери завжди виконуються після всіх інших перевірок і в основному призначені для забезпечення підтримки цілісності даних. Відзначимо, що при розробці процедур, виконуваних тригерами, небажано переміщати вказівник активного запису.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]