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

Первинні ключі

Первинним ключем називається величина, що однозначно ідентифікує будь-який запис в таблиці, наприклад номер деталі в складській базі даних. Присутність первинного ключа в таблиці прискорює такі операції, як пошук, сортування і фільтрація. Більше того, якщо ви захочете зв'язати інформацію в двох таблицях, одна з них зобов'язана мати первинний ключ. Жодне поле таблиці BookList не може використовуватися як первинний ключ. З першого погляду на вміст таблиці видно, що імена і прізвища авторів повторюються. Наприклад, в таблиці є чотири записи з прізвищем Повис і дві - з прізвищем Радек. Спочатку виникає бажання призначити первинним ключем назва книги, проте в магазині можуть знаходитися дві книги з однаковими назвами. Наприклад, в книжковому магазині можуть з'явитися два екземпляри книги Повиса "Мистецтво щастя". Крім того, існує ще один аргумент проти вибору назви книги як первинного ключа. Для рідкісних і особливо цінних книг (таких, як книги Повиса) необхідно зберігати окремий запис для кожного екземпляра (на відміну, скажемо від сучасних книг з комп'ютерів), оскільки колекціонерів цікавить інформація про видання і стан кожного екземпляра. У нашому прикладі очевидним кандидатом на роль первинного ключа є ISBN (International Standard Book Number - міжнародний стандартний номер, що однозначно ідентифікує кожну опубліковану книгу). На жаль, у продажу можуть знаходитися давно наДрукуванняовані книги, Hofepa ISBN, що не мають. Поле ISBN для таких книг не можна залишити порожнім, оскільки два порожні поля суперечать правилу, згідно з яким значення первинного ключа повинно бути унікальним для кожного запису. Вихід з ситуації полягає в створенні спеціального поля-лічильника.

Лічильники

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

Щоб додати поле-лічильник в Visual Data Manager, слід створити поле, вибрати для нього тип Long і встановити флажокАи1о Increment. Потім створіть індекс, Встановіть для лічильника прапорець Required і призначте лічильник первинним ключем (Primary Key). B результаті кожен запис матиме унікальне значення поля лічильника.

У таблиці BookList лічильник не лише представляє розумну альтернативу номеру ISBN, але і створює унікальний ідентифікатор для кожної книги (у тому числі і тих, у яких відсутній ISBN). Полю-лічильнику можна присвоїти ім'я BOOK CODE. Інформація, що міститься в нім, може здатися умовною: навряд чи вона матиме який-небудь сенс для клієнтів і працівників магазину. Звичайно, деякі покупці можуть використовувати це значення при замовленні книг. У реальній ситуації в запис слід було б включити номер ISBN для нових книг, навіть не дивлячись на те, що це поле не можна використовувати як первинний ключ. Проте для Access це поле виглядає цілком осмисленим - воно помітно прискорює виконання запитів і інших операцій з таблицею (прискорення запитів помітне лише для великих таблиць, а при роботі з одиничними записами воно не має практичного значення). Код книги використовується і при зв'язуванні таблиць. Первинний ключ слід вибрати якомога раніше, ще в режимі конструювання таблиці - переваги стануть очевидними із зростанням об'єму даних.

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