правильності введення даних; Message (Повідомлення) - повідомлення. яке виводиться при неправильному введенні даних: Default Value (Значення по замовчуванню) - значення, яке вводиться в поле за замовчуванням.
У текстовому полі Field comment (Коментар) можна ввести короткий опис поля.
Опція Null задає ознаку, яка дозволяє при введенні даних залишати це поле порожнім.
Кнопки Insert та Delete служать відповідно для добавлення та вилучення полів.
Створення індексів та первинних ключів
Значення індексів зберігаються в індексному фаті, в якому для кожного індексу існує унікальне посилання, яке вказує на місце знаходження запису, який відповідає індексу. Це забезпечує при пошуку потрібної інформації прямий доступ до записів на основі впорядкованих значень індексу, а не послідовний перегляд всієї таблиці. Це, природно, прискорює пошук записів.
Індекси, в залежності від індексних виразів, поділяються на прості і складені. В простих індексування здійснюється по одному полю, в складених - індексний вираз може використовувати декілька полів таблиці. При створенні індексних виразів не можна використовувати поля типу Мемо і OLE.
Індекси призначаються також для створення первинних ключів. У цьому випадку індекси повинні бути унікальними, тобто якщо для створення унікального індексу використо-вується простий індекс, то значення поля не повинно повто-рюватися. Якщо для створення унікального індексу використовується складений індекс, то значення в кожному з полів, які входять в індекс, можуть повторюватися, але індексний вираз повинен бути унікальним.
Для створення індексу використовується вкладника Indexes (Рис.16) вікна конструктора таблиці Table Disigner (Конструктор таблиць). Всі індекси у VFP мають імена, які задаються в полі Name (Имя). Зліва від імені індексу у стовпці Order (Упорядочение) розташований перемикач способу впоряд-кування індексного виразу. Список Туре використовується для задання типу створюваного індексу і містить такі значення : Regular (Звичайний) - якщо декілька записів мають однакове значення індексного виразу, то кожне значення зберігається окремо і містить посилання на зв'язаний з ним запис; Unique (Унікальний) - якщо декілька записів містять однакові значення індексного виразу, то буде зберігатися тільки одне значення і посилання на перший із записів з однаковим значенням індексного виразу; Candidate (Кандидат) - створюється унікальний індекс, який не містить полів з порожніми значеннями. Цей індекс має всі властивості первинного ключа і не є ним тільки тому, що таблиця не може містити більше одного первинного ключа; Primary (Первинний) - створюється унікальний індекс, який викорис-товується для первинного ключа.
Значення індексу або індексного виразу вводиться в поле Expression (Выражение) безпосередньо або через діалогове вікно конструктора виразів Expression Builder (Построитель выражения). Для відкриття цього вікна необхідно натиснути кнопку справа від поля Expression.
Індексний вираз може складатися з імен полів таблиць, змінних, констант, функцій. В області Function за допомогою опцій String, Math, Logical, Data вибираємо відповідні функції, необхідні для побудови виразу.
Опції Fields, Variables, From table служать для відбору у вираз полів, змінних і таблиць. За допомогою кнопки Verify перевіряємо правильність побудованого виразу.
У полі Filter конструктора таблиці можна задати фільтр, який використовується для обмеження формованих індексних значень. У цьому випадку результат виразу повинен мати логічний тип.
Щоб створити первинний ключ необхідно для відповідного індексу в полі Туре вибрати значення Primary (Первинний).
Зв’язки між таблицями та їх модифікація
Як правило, у VFP одна база даних містить декілька зв'язаних між собою таблиць. Із двох зв'язаних таблиць одна є головною (батьківською), а друга - підпорядкованою (дочірньою). При створенні індексів для батьківської таблиці повинен бути визначений ключ типу Primary або Candidate, a для дочірньої - індекс для зв'язку з батьківською типу Regular.
При створенні зв’язку типу «один до одного» ключові поля задаються в такій відповідності:
Primary – Primary;
Primary – Candidate;
Candidate – Candidate.
При створенні зв’язку типу «один до багатьох» ключові поля задаються в такій відповідності:
Primary – Unique;
Primary – Regular;
Candidate – Unique;
Candidate – Regular.
Для створення зв'язків між таблицями необхідно виконати такі дії:
1. Відкрити вікно конструктора бази даних.
2. Відкрити батьківську таблицю в режимі конструктора.
3. На вкладниці Indexes створити первинний ключ типу Primary для відповідного поля.
Рис.16. Вікно Конструктора таблиць для створення індексів
4. Відкрити в режимі конструктора дочірню таблицю.
5. На вкладниці Indexes створити ключ типу Regular для поля з тим же іменем, що і в батьківській базі.
6. Повернутися до батьківської таблиці в режимі конструктора бази даних і встановити курсор на первинний ключ.
7. Натиснути кнопку миші і. не відпускаючи її, перемістити курсор миші на індекс дочірньої таблиці, за яким встановлено зв'язок.
8. Відпустити кнопку миші.
9. Відкриється діалогове вікно Edit Relationship (Редактирование отношений), в якому зліва наведена назва батьківської таблиці і розташований список індексів таблиці, а справа - аналогічна інформація про дочірню таблицю. Використовуючи списки, можна змінити індекси, за якими зв'язані таблиці. В цьому діалоговому вікні вказано також тип встановленого зв'язку між таблицями.
Після закриття діалогового вікна Edit Relationship у вікні конструктора бази даних відображається у вигляді лінії створене відношення між таблицями.
Якщо встановити вказівник миші на лінію, яка з’єднує зв'язані таблиці, то товщина лінії збільшується і при клацанні на ній правою клавішею миші з'являється контекстне меню, яке містить чотири команди: Remove Relationship (Удалить отношения) - знищується встановлений зв'язок між таблицями, Edit Relationship (Редактирование отношения) -відкривається діалогове вікно Edit Relationship, яке дозволяє змінити встановлений зв'язок, Edit Referential Integrity (Редактирование целостности данньїх) — відкриває діалогове вікно для редагування цілісності даних, Help (Помощь) - відкриває вікно допомоги.
Перевірка цілісності даних
Цілісність даних - це одна із