Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
L_2_.doc
Скачиваний:
5
Добавлен:
21.11.2019
Размер:
123.9 Кб
Скачать

Ключі Primary Key I Foreign key

Принцип підтримки відповідності між таблицями БД називається цілісністю даних (Referential Integrity). Підтримувати цілісність даних найпростіше в тому випадку, коли рядки таблиці є унікальними. В реляційній моделі даних стовпчик (або набір стовпчиків), який однозначно визначає рядки таблиці, називається ключовим. В термінології баз даних ключи і індекси часто стають синонімами, але деякі СУБД розрізняють їх.

Ключ, який однозначно визначає рядки таблиці, називається первинним ключем (primary key, PK). В цьому розумінні первинний ключ виконує ту ж саму функцію, що й унікальний індекс. Як правило, СУБД дозволяють визначати в таблиці лише один первинний ключ. Унікальних індексів може бути кілька. Первинні ключи забезпечують унікальність даних шляхом створення унікальнного індекса в таблиці, в якій вони розташовані.

Як приклад розглянемо кандидатів на первинний ключ для БД співробітників якоїсь організації (рис. 2.1). У даному випадку можна виділити такі потенційні ключі:

1) Табельний номер

2) Номер паспорта

3) Прізвище + Ім’я + По батькові.

При виборі первинного ключа перевага повинна надаватися простим ключам. В нашому прикладі ключі 1) і 2) кращі за ключ 3). Атрибути ключів не повинні містити нульових значень. Якщо допускається, що співробітник може не мати паспорта, або мати якесь інше посвідчення, то ключ 2) не підійде на роль первинного ключа.

Співробітник

Табельний номер

Прізвище

Ім’я

По батькові

Номер паспорта

Посада

Номер кімнати

Місто

Вулиця

Будинок

Рис. 2.1

Значення атрибутів ключа не мають змінюватися з часом, доки існує запис. Співробітниця організації може одружитися, змінити як прізвище, так і паспорт. Тобто ключ 2) не може бути первинним . Отже, в якості первинного ключа primary key можна обрати Табельний номер співробітника.

Я кщо додати до однієї таблиці стовпчик, який є первинним ключем іншої таблиці, то доданий стовпчик буде називатися зовнішнім ключем (foreign key, FK). Цей стовпчик називається зовнішнім ключем, оскільки використовується лише для встановлення відповідності між цими таблицями (рис. 2.2). Співвідношення між первинним і зовнішнім ключами визначає область допустимих значень для зовнішнього ключа. Ця область значень є підмножиною значень первинного ключа. Цілісність області значень зовнішнього ключа є одним з способів забезпечення цілісності зв’язків між відпо-ідними наборами стовпчиків

Рис.2.2.

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

Збережені процедури (stored procedure)

З поступовим ускладненням СУБД все більше часу витрачається при розробці клієнтського додатку на створення операторів SQL.

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

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

  • Переваги у розробці системи “клієнт-сервер”. Розділивши задачі з розробки клієнта і сервера, інколи можна скоротити обсяг робіт по даному проекту. Розроблену окремо від клієнтської серверну частину можна ще раз використати при створенні системи взаємодії між клієнтськими додатками.

  • Безпека. Збережені процедури можна застосовувати як інструмент для забезпечення одного з рівнів безпеки. Їх можна створювати для всіх операцій додавання, зміни, видалення, виборки даних, і за допомогою програмних засобів управляти цими аспектами доступу до інформації.

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

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

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

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