Чому цілісність сутності та цілісність посилань важливі в базі даних?

...

У реляційних базах даних важлива цілісність сутності та посилання.

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

Реляційні бази даних

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

Відео дня

Довідкові дані

Більшість програм баз даних використовують два різних типи даних: дані транзакцій і довідкові дані. Як приклад, дуже проста база даних складу буде реєструвати операції руху запасів. Уявіть собі запис транзакції, наприклад: елемент 1010, кількість 5, напрямок виходу. Менеджер, можливо, захоче побачити звіт із цими даними із зазначенням назви та опису товару, а також номера товару. Ці деталі є атрибутами іншої сутності, яка описує кожну частину на складі. Це довідкова таблиця.

Нормалізація

У прикладі бази даних складу таблиця транзакцій повинна містити лише ідентифікатор частини. Якби такі деталі, як ім’я та опис, зберігалися в таблиці транзакцій, це спричинило б непотрібне повторення. Будь-який предмет завжди має однакову назву та опис, і ці деталі стосуються частини, а не транзакції. У цьому прикладі системи деталі деталей містяться в іншій таблиці. Кожен запис у таблиці має бути однозначно ідентифікований одним полем або комбінацією полів, які називаються первинним ключем. Розбиття повторюваних груп називається «нормалізацією».

Цілісність сутності

У прикладі бази даних складу первинним ключем таблиці частин має бути атрибут, який однозначно ідентифікує кожен запис. Це цілісність сутності. Як правило, числові поля краще використовувати для первинного ключа, ніж текстові поля. У таблиці частин найкращим полем для первинного ключа буде номер елемента. Організація може продавати різноманітні продукти з однаковою назвою, наприклад, «маленький гайковий ключ». Номер елемента завжди буде унікальним для кожного елемента, тому це забезпечує цілісність об’єкта для таблиці деталей. Якщо кілька записів мали однакове значення первинного ключа, посилання на деталі з цієї таблиці шляхом приєднання її до таблиця транзакцій призведе до дублювання записів транзакцій, щоб збігатися з кожним записом із однаковим ідентифікатор.

Цілісність посилання

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