Реляційна модель даних у СУБД: поняття, обмеження, приклад

Зміст:

Anonim

Що таке реляційна модель?

Реляційна модель (РМ) представляє базу даних як сукупність відносин. Відношення - це не що інше, як таблиця значень. Кожен рядок у таблиці представляє набір пов'язаних значень даних. Ці рядки в таблиці позначають реальну сутність або відносини.

Назва таблиці та назви стовпців корисні для інтерпретації значення значень у кожному рядку. Дані представлені як сукупність відносин. У реляційній моделі дані зберігаються у вигляді таблиць. Однак фізичне зберігання даних не залежить від способу логічної організації даних.

Деякі популярні системи управління реляційними базами даних:

  • DB2 та Informix Dynamic Server - IBM
  • Oracle і RDB - Oracle
  • SQL Server і Access - Microsoft

У цьому підручнику ви дізнаєтесь

  • Концепції реляційної моделі
  • Реляційні обмеження цілісності
  • Операції в реляційній моделі
  • Найкращі практики створення реляційної моделі
  • Переваги використання реляційної моделі
  • Недоліки використання реляційної моделі

Концепції реляційної моделі

  1. Атрибут: Кожен стовпець таблиці. Атрибути - це властивості, що визначають відношення. наприклад, Student_Rollno, NAME тощо.
  2. Таблиці - у реляційній моделі відносини зберігаються у форматі таблиці. Він зберігається разом зі своїми сутностями. Таблиця має два властивості: рядки та стовпці. Рядки представляють записи, а стовпці - атрибути.
  3. Кортеж - це не що інше, як один рядок таблиці, який містить один запис.
  4. Схема відносин: Схема відносин представляє назву відносини з її атрибутами.
  5. Ступінь: загальна кількість атрибутів, яка у відношенні називається ступенем відношення.
  6. Кількість рядків : загальна кількість рядків у таблиці.
  7. Стовпець: стовпець представляє набір значень для певного атрибута.
  8. Екземпляр відносин - Екземпляр відносин - це кінцевий набір кортежів у системі СУБД. Екземпляри відносин ніколи не мають повторюваних кортежів.
  9. Ключ відношення - Кожен рядок має один, два або кілька атрибутів, який називається ключем відношення.
  10. Домен атрибута - Кожен атрибут має певне заздалегідь визначене значення та область дії, яка відома як домен атрибута

Реляційні обмеження цілісності

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

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

  1. Обмеження домену
  2. Основні обмеження
  3. Довідкові обмеження цілісності

Обмеження домену

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

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

Приклад:

Create DOMAIN CustomerNameCHECK (value not NULL)

Наведений приклад демонструє створення обмеження домену таким чином, що ім'я клієнта не має значення NULL

Основні обмеження

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

Приклад:

У наведеній таблиці CustomerID є ключовим атрибутом таблиці Customer. Найімовірніше, матиме один ключ для одного клієнта, CustomerID = 1 призначений лише для CustomerName = "Google".

CustomerID Ім'я клієнта Статус
1 Google Активний
2 Амазонка Активний
3 Яблуко Неактивний

Довідкові обмеження цілісності

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

Приклад:

У наведеному вище прикладі ми маємо 2 відносини - Клієнт та Виставлення рахунків.

Кортеж для CustomerID = 1 посилається двічі у відношенні Рахунок. Отже, ми знаємо CustomerName = Google має платіжну суму 300 доларів США

Операції в реляційній моделі

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

Вставити, оновити, видалити та вибрати.

  • Вставка використовується для вставки даних у відношення
  • Delete використовується для видалення кортежів із таблиці.
  • Modify дозволяє змінювати значення деяких атрибутів у існуючих кортежах.
  • Вибір дозволяє вибрати конкретний діапазон даних.

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

Операція вставки

Операція вставки дає значення атрибута для нового кортежу, який слід вставити у відношення.

Операція оновлення

Ви можете бачити, що в наведеній нижче таблиці відношень CustomerName = 'Apple' оновлено з неактивного на активний.

Видалити операцію

Щоб вказати видалення, умова атрибутів відношення вибирає кортеж, який потрібно видалити.

У наведеному вище прикладі CustomerName = "Apple" видалено з таблиці.

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

Виберіть Операція

У наведеному вище прикладі вибрано CustomerName = "Amazon"

Найкращі практики створення реляційної моделі

  • Дані потрібно представляти як сукупність відносин
  • Кожне відношення має бути чітко зображено в таблиці
  • Рядки повинні містити дані про екземпляри сутності
  • Стовпці повинні містити дані про атрибути сутності
  • Клітини таблиці повинні містити одне значення
  • Кожному стовпцю слід дати унікальну назву
  • Жодні два рядки не можуть бути однаковими
  • Значення атрибута мають бути з одного домену

Переваги використання реляційної моделі

  • Простота : Реляційна модель даних у СУБД простіша за ієрархічну та мережеву моделі.
  • Структурна незалежність : Реляційна база даних стосується лише даних, а не структури. Це може покращити продуктивність моделі.
  • Простота у використанні : Реляційна модель в СУБД проста, оскільки таблиці, що складаються з рядків і стовпців, є цілком природними і простими для розуміння
  • Можливість запитів : це дозволяє високорівневій мові запитів, як SQL, уникати складної навігації по базі даних.
  • Незалежність даних : Структуру реляційної бази даних можна змінити, не змінюючи жодної програми.
  • Масштабована : Що стосується кількості записів або рядків та кількості полів, базу даних слід збільшити, щоб покращити її зручність використання.

Недоліки використання реляційної моделі

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

Резюме

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