Головна / Урок / Ключові поля, індекси, зв’язування таблиць

Ключові поля, індекси, зв’язування таблиць

Вам нужно сначала закончить Модифікація структури таблиць для перехода к этому уроку
  1. Вивчення нового матеріалу

Згадаємо, що кожна таблиця повинна мати ключове поле (ключ) — поле, значення якого не повторюється в жодному іншому записі. Таблиця може мати кілька ключових полів, але використовується тільки одне з них, яке називають первинним ключем. Найчастіше первинний ключ складається з одного поля, а як первинний ключ використовується поле типу Лічильник. Якщо в ролі первинного ключа використовуються два і більше полів, його називають складним. Наприклад, у таблиці КАДРИ поле Прізвище не може бути первинним ключем, тому що в мережі магазинів може бути працівник із таким самим прізвищем. А поля Прізвище і Рік народження разом можна вважати таким ключем, оскільки вони, ймовірно, не дублюються.

  • Ключі у БД відіграють важливу роль — за їх допомогою СУБД ідентифікує об’єкти.

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

Скористаємося цим способом, і в таблиці МАГАЗИНИ визначимо як первинний ключ поле Номер магазину. Поряд із назвою цього поля з’явиться зображення ключа (рис. 1). Далі збережемо таблицю.

9

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

  • Поле типу Лічильник обов’язково встановлюється в тому разі, якщо ключ у таблиці взагалі визначити неможливо.

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

Індексування — це процес створення додаткових таблиць для певного поля. Ці таблиці (їх ще називають простими індексними таблицями) зазвичай містять лише одне поле, у якому зберігаються вказівники на певні записи таблиці.

За допомогою вказівників визначають порядок розміщення записів, упорядкованих за значенням цього поля (приклад 1).

10

Головним призначенням індексних таблиць є підвищення швидкості пошуку необхідних даних (інколи вона зростає до 5 разів). Щоб знайти деякий запис у таблиці, в Access спочатку потрібно знайти його положення в індексі, потім вибрати
з нього місце запису в таблиці, що використовується для пошуку даних. Зазначимо, що первинний ключ завжди індексований. За замовчуванням записи таблиці виводяться відсортованими за його значеннями. У процесі введення даних у таблицю обов’язково перевіряється значення первинного ключа на дублювання. Якщо значення дублюється, введення запису блокується. Значення первинного ключа типу Лічильник у процесі введення даних формується автоматично (приклад 2).

Приклад 2. Створимо просту індексну таблицю для полів Директор і Працівників таблиці МАГАЗИНИ. Для цього відкриємо таблицю в режимі конструктора, виберемо поле Директор і в розділі Властивості поля в рядку Індексовано ввімкнемо перемикач Так (Без повторень), оскільки малоймовірно, що в цій мережі магазинів буде два директори з однаковими прізвищами. Для поля Працівників увімкнемо перемикач Так (Повторення дозволені), тому що в магазинах може бути однакова кількість працівників.

 

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

Часто первинний ключ таблиці штучно вводять у другу таблицю саме з метою їх зв’язування. Цей ключ не є первинним ключем другої таблиці, тому що його значення можуть повторюватися. Наприклад, поле Магазин є первинним ключем таблиці МАГАЗИНИ, а в таблиці КАДРИ це поле є зовнішнім ключем, тому що в ній значення цього поля дублюються.

11

12

2. Завдання для самостійного виконання.

13

 

Вернуться к: Інформатика модуль “Бази даних” (група 91, 92, 86)
x

Перегляньте також

59-9826

Актуальні проблеми дистанційного навчання

04листопада 2024 р.  у Федорівському центрі професійної освіти відбулося чергове засідання методичної ...