Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка 2 Проектирования и создание БД.doc
Скачиваний:
2
Добавлен:
20.08.2019
Размер:
1.03 Mб
Скачать

Додавання і видалення полів таблиці.

Для додавання нового поля в структуру таблиці установіть курсор на поле, вище якого ви плануєте додати нове поле, і натисніть кнопку Insert.

Для видалення поля таблиці перейдіть на рядок з описом даного поля і натисніть кнопку Delete.

2.3.3.Властивості таблиці

Кожна таблиця має визначені для неї властивості. Для завдання властивостей таблиці виберіть вкладку “Table” (Рис. 2 .7). Тут ви можете ввести текстовий опис таблиці, визначити умови перевірки введення даних на рівні записів і створити тригери для додавання, зміни і видалення записів таблиці. Визначення умов правильності введення даних при описі таблиці гарантує достовірність даних у таблиці, тому що перевірка здійснюється незалежно від того, з якого додатка ви звернулися до таблиці.

2.3.4.Сортування таблиць

Користувача неможливо змусити вводити дані у визначеному порядку. Проте, переглядати ці записи користувачі хочуть відсортованими по одному чи декільком полям.

Для зміни порядку проходження записів у таблиці використовується команда SORT. Вона використовує поточну таблицю і створює нову, відсортовану по одному полю чи комбінації декількох полів. Наприклад, наступна команда:

SORT TO Custsort ON cLastName

Рис. 2.7. Вкладка “Table” конструктора таблиці.

створює нову таблицю Custsort, відсортовану по полю cLastName.

Такому методу властиві два недоліки:

  • Кожне сортування створює копію вихідної таблиці чи якоїсь її частини. Тому при сортуванні великої таблиці по декількох полях можна досить швидко зштовхнутися з нестачею місця на диску.

  • Наявність декількох копій таблиці неминуче веде до невідповідності даних. Якщо не змінювати всі копії таблиці одночасно, то незабаром кожна копія буде містити якусь свою частину зроблених змін.

Сортування виявляється корисною, якщо використовується тільки одна порівняно рідко змінювана копія таблиці. В інших випадках ліпше використовувати індексацію. Оскільки одна таблиця може мати кілька індексів, для різних цілей можна використовувати різні індекси.

2.3.4.1.Індекси

Однією з основних вимог до СУБД, є можливість швидкого пошуку необхідних записів серед великого обсягу інформації. Індекси являють собою найбільш ефективний засіб, що дозволяє значно прискорити пошук даних у таблицях у порівнянні з таблицями, що не містять індексів. У залежності від кількості полів, які використовуються в індексі, розрізняють прості і складені індекси.

При визначенні складеного індексу в Visual FoxPro, на відміну від багатьох реляційних баз даних, використовується не список індексних полів, а індексне вираження, що включає індексні поля таблиці.

Значення індексів зберігаються в упорядкованому виді в окремому файлі, якій називається індексним файлом. Пошук у цьому файлі здійснюється оптимальним методом. Для кожного значення індексу в індексному файлі міститься унікальне посилання, що вказує на місцезнаходження в таблиці запису, що відповідає індексу. Тому при пошуку запису здійснюється не послідовний перегляд усієї таблиці, а прямий доступ до запису на підставі упорядкованих значень індексу.

Важливою особливістю індексів є те, що ви можете їх використовувати для створення первинних ключів. У цьому випадку індекси повинні бути унікальними. Це означає, що для таблиці, що містить тільки одне індексне поле, унікальним повинне бути значення цього поля. Для складених індексів величини в кожнім з індексних полів можуть мати повторювані значення. Однак індексне вираження повинне бути унікальним4.

Крім того, у Visual FoxPro первинні ключі і додаткові індекси використовуються при визначенні відносин між таблицями й умов цілісності даних.

Для того щоб створити індекс, виберіть таблицю, відкрийте для неї вікно конструктора таблиць “Table Designer” і виберіть вкладку “Indexes” (Рис. 2 .8).

Кожен індекс у Visual FoxPro має ім'я, на яке ви можете надалі посилатися при упорядкуванні відображення даних відповідно до даного індексу. Ім'я індексу міститься в поле Name. З лівої сторони імені індексу розташовується перемикач Order, що визначає порядок упорядкування значень індексного вираження. Для установки одного з можливих варіантів використовується клавіша Spacebar.

Список Type використовується для установки типу індексу. Опис значень даного списку представлено у Таблиця 2 .8.

Ви можете ввести ім'я індексного вираження безпосередньо в поле введення Expression чи ж вибрати кнопку, розташовану праворуч поля введення, для формування вираження використовуючи вікно діалогу “Expression Builder” (Конструктор виражень), представлене на Рис. 2 .9.

Таблиця 2.8. Типи індексів

Тип індексу

Опис

Regular

Зберігаються значення індексного вираження для всіх записів таблиці. Якщо кілька записів мають однакове значення індексного вираження, то кожне значення зберігається окремо і містить посилання на зв'язаний з нею запис

Unique

Зберігаються тільки значення що не повторюються індексного вираження. Якщо два чи більш записи містять однакове значення індексного вираження, то буде зберігатися тільки одне значення і посилання на перший з записів з однаковим значенням індексного вираження. Таблиця може мати кілька унікальних індексів

Candidate

Створюється унікальний індекс, що не містить полів з порожніми значеннями. Цей індекс має всі якості первинного ключа і не є їм тільки з тієї причини, що таблиця не може містити більш одного первинного ключа

Primary

Створюється унікальний індекс, що використовується для зв'язування таблиць і визначення умов цілісності даних. Поля, що входять у первинний ключ, не повинні допускати введення порожніх значень. На відміну від унікального індексу, таблиця може мати тільки один первинний ключ

Рис. 2.8. Вкладка “Іndexes” конструктора таблиці для створення індексу.

При використанні у вираженні полів різних типів ви повинні перевіряти допустимість уведеного вираження5. Наприклад, ви можете створити індекс для таблиці Ordsalem, у якому дані будуть упорядковані по коду покупця і даті продажу:

STR(іcdCustomer)+DTOC(dDoc)

Рис. 2.9. Вікно діалогу “Expression Builder”

У вікні діалогу створення індексу таблиці в поле Filter ви можете визначити для індексу фільтр, який використовується для обмеження формованих індексних значень. Результат вираження, що використовується для фільтра, повинний мати логічний тип.

У залежності від способу збереження в Visual FoxPro розрізняють одинарні і складені індекси. Кожен одинарний індекс зберігається в окремому файлі. Усі складені індекси зберігаються в одному файлі. При створенні індексу за замовчуванням використовується складений індекс. Одинарний індекс залишений для сумісності з ранніми версіями FoxPro.

Індекси являють собою дуже корисний засіб. Однак ви завжди повинні мати на увазі ту ціну, що прийдеться заплатити за їхнє використання. Так, якщо ви використовуєте індекс, до складу якого входять текстові полючи великої ширини, розмір індексного файлу може виявитися порівнянним з розміром самої таблиці.