Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава 11. Робота в СУБД MS Access.doc
Скачиваний:
4
Добавлен:
19.09.2019
Размер:
3 Mб
Скачать

11.3.2. Індексування даних у таблиці

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

Наприклад, є база даних:

0001 Янукович Віктор

0002 Мороз Олександр

0003 Ющенко Віктор

0004 Симоненко Петро

Якщо б ви привласнили прізвищам індекси, то можна запам’ятовувати тільки порядок, у якому ці імена були б розміщені при сортуванні.

0002

0004

0003

0001

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

Ім’я індексу – це ім’я будь-якого з його полів або будь-яких із припустимих в MS Access імен. Для ключових полів індекси створюються автоматично. Якщо таблиці пов’язуються не за ключовими полями, для цих полів треба створювати індекси. Для швидкого пошуку даних також бажано створити індекси за тими полями, за значеннями яких виконується пошук.

Розрізняють прості та складені індекси. Прості індекси прискорюють пошук і сортування записів таблиці в одному вибраному полі, наприклад, у полі „Прізвище” тощо. Їх значення може бути як унікальним, так і повторюваним.

Створення простого індексу.

 Відкрити таблицю в режимі „Конструктор”

 Вибрати поле, за яким необхідно створити індекс.

 Відкрити вкладку „Загальні” і вибрати для властивості „Індексоване поле” значення „Да” („Допускаються збіг”) або „Ні” („Збіг не допускається”) (рис. 11.7)

Рис. 11.7 Встановлення індексу для поля

Ключове поле таблиці автоматично індексується і властивості „Індексоване поле” присвоюється значення „Так” („Збіг не допускається”).

Створення складеного індексу.

С кладений індекс створюється в спеціальному діалоговому вікні. Щоб створити складений індекс, необхідно:

 Відкрити таблицю в режимі „Конструктора”.

Рис. 11.8 Вікно „Індекси : Студенти”

 На панелі інструментів „Конструктор таблиць” натиснути кнопку „Індекси” (рис. 11.8).

 У першому пустому рядку поля „Індекс” ввести ім’я індексу. У цьому вікні, індексу первинного ключа надано ім’я „Primary Key”.

 У полі „Ім'я поля” натиснути на стрілку і обрати перше поле, для якого необхідно створити індекс. У стовпці „Ім'я поля” перераховані імена полів, що складають індекс. Індекс ключового поля завжди унікальний і не допускає в запису порожніх полів. Індекси використовуються для швидкого пошуку записів у великих таблицях за значенням первинного чи вторинного ключа.

 В наступному рядку „Ім'я поля” вказати наступне індексоване поле. (Для даного рядку поле „Індекс” повинно залишатись порожнім).

 Продублювати п.5 для усіх полів, які необхідно включити до індексу. Будь-який індекс може мати до 10 полів.

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

Перегляд існуючих у таблиці індексів

Щоб переглянути існуючі в таблиці індекси, необхідно:

 Відкрити таблицю в режимі „Конструктора”.

 Натиснути на кнопку „Індекси” на панелі інструментів „Конструктор таблиць”.

 У вікні „Індекси” переглянути необхідну інформацію.

Зміна існуючих у таблиці індексів

Щоб змінити існуючі в таблиці індекси, необхідно:

 Відкрити вікно „Індекси”.

 Вибрати рядок з індексом, який потрібно модифікувати.

 Змінити назву індексу у полі „Індекс”.

 Змінити поле, що відповідає даному індексу, вибрати нове поле зі списку у полі „Ім'я поля”.

 Вибрати порядок сортування у полі „Порядок сортування” „За зростанням” або „За убуванням”.

 Змінити властивості даного індексу у нижній частині вікна:

„Ключове поле” визначає, чи є індексоване поле ключовим.

„Унікальна адреса” визначає, чи повинно бути індексоване поле ключовим.

„Пропуск пустих полів” визначає, включаються чи ні в індекс записи з пустим значенням даного поля.

 Додати рядок, виділивши рядок, перед яким необхідно встановити новий, натиснувши праву кнопку миші з контекстного меню, вибравши „Додати рядки”.

Видалення індексів

Щоб видалити індекс, необхідно:

 Відкрити вікно „Індекси”.

 Вибрати рядок з індексом, який потрібно видалити.

 Клацнути правою кнопкою миші на видаленому рядку.

 Із контекстного меню вибрати команду „Видалити рядки”.

11.3.3. Пошук заданого значення поля

Хоча, знаючи номер запису, можна перейти до нього і найти конкретне поле, у більшості випадків потрібно находити в записах певне значення. Це можна зробити трьома способами:

 Вибрати команду „Правка”  „Найти”.

 Клацнути на кнопці „Найти”, що розташована на панелі інструментів (на ній зображений бінокль).

 Скористатися комбінацією клавіш <Ctrl+F>.

При використанні будь-якого із цих методів з'явиться діалогове вікно. Для виконання пошуку тільки за визначеним полем помістіть у нього курсор (причому зробіть це до відкриття діалогового вікна). Установіть у діалоговому вікні прапорець „Тільки в поточному полі” і Access буде вести пошук тільки в зазначеному полі.

У цьому діалоговому вікні можна задавати різні параметри пошуку. У текстовому полі „Зразок” ввести шукане значення „Значення” можна ввести у тому вигляді, у якому воно представлено в полі або з використанням нижченаведених спеціальних символів:

* - відповідає будь-якій кількості символів;

? - відповідає одному символу;

# - відповідає одній цифрі.

Щоб розібратися як ці символи працюють, припустимо, що потрібно знайти усі значення, які починаються з АВ. Для цього запровадьте АВ*.

А тепер припустимо, що потрібно знайти значення, які закінчуються символами 001. У цьому випадку необхідно ввести *001. Для пошуку певного значення, яке починається із символів АВ, закінчується символами 001 і містить тільки два символу між ними, потрібно ввести АВ??001. Якщо ж потрібно знайти всі прізвища, що закінчуються на “ко”, то для пошуку значень уведіть *ко.

У списку „Збіг”, що розкривається, міститься три варіанта вибору:

 з будь-якою частиною поля;

 поля повністю;

 з початку поля.

Стандартною є опція „Поля повністю”. Наприклад, значення Пет буде знайдено, якщо значення дорівнює Пет. Якщо обрана опція „З будь-якою частиною поля”, то в результаті пошуку будуть витягнуті значення Петров, Петровський, Петренко, Шпетний, Шкарпетний тощо. У результаті пошуку з настановою „З початку поля” будуть знайдені значення Петров, Петровський, Петренко.

У списку „Перегляд”, що розкривається, можна обрати одну або декілька опцій з набору „Все”, „Вверх”, „Вниз”.

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

Зрозуміло, що для даних типу „Числовий”, „Грошовий” і „Дата/час” урахування регістру не має сенсу.) При виборі прапорця „З урахуванням регістру” Access ігнорує прапорець „З урахуванням формату полів” (Якщо ви форматували поля таблиці, встановіть цей прапорець.) Наприклад, потрібно знайти в полі Дата_народження записи про всіх народжених у квітні 1995 року. Для цього встановіть прапорець опції „З урахуванням формату полів” і введіть Кв. 92. Якщо ви не встановите цього прапорця, пошук доведеться виконувати за точною датою народження, наприклад – 4/8/92.

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