Релационен модел на данни в СУБД: Concepts & Пример

⚡ Умно обобщение

Релационният модел представя база данни като колекция от релации, където всяка релация е таблица от редове и колони. Той дефинира основни концепции, ограничения за целостта и операции за актуализиране, които поддържат релационните данни последователни и лесни за заявки.

  • 🗃️ Основна идея: Данните се съхраняват като релации, като всеки ред е кортеж, описващ един реален обект или релация.
  • ???? ️ Основни условия: Атрибут, кортеж, степен, кардиналност, домейн и ключ на релацията заедно описват формата на таблица.
  • ️ Три ограничения: Ограниченията за целостта на домейна, ключа и референциите поддържат всяка релация валидна.
  • 🔑 Таблици с връзки към ключове: Първичният ключ уникално идентифицира ред, а външният ключ препраща към ключ в друга релация.
  • 🔄 Четири Operaции: Вмъкване, актуализиране, изтриване и избиране, действия върху релации, без да се нарушават дефинираните ограничения.
  • ✅ Правила за проектиране: Една стойност на клетка, уникални имена на колони, без дублиращи се редове и стойности, извлечени от един домейн.
  • 📈 Защо печели: Простота, структурна независимост, език за заявки на високо ниво и независимост от данни.

Релационен модел на данни в СУБД

Какво е релационният модел?

Релационен модел (RM) представя базата данни като колекция от релации. Отношението не е нищо друго освен таблица със стойности. Всеки ред в таблицата представлява колекция от свързани стойности на данни. Тези редове в таблицата обозначават обект или връзка от реалния свят.

Имената на таблицата и колоните помагат за интерпретиране на значението на стойностите във всеки ред. Данните са представени като набор от релации. В релационния модел данните се съхраняват като таблици. Физическото съхранение на данните обаче е независимо от начина, по който те са логически организирани.

Моделът е предложен от Е. Ф. Код през 1970 г. и остава основата на почти всяка основна база данни, използвана днес. Някои популярни системи за управление на релационни бази данни са:

  • DB2 и Informix Dynamic Server – IBM
  • Oracle и RDB – Oracle
  • SQL Server и Access – Microsoft

Релационен модел Concepts в СУБД

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

Концепции на релационния модел, илюстрирани на таблица

След като речникът е налице, следващата грижа е да се запазиping данните в тези релации са валидни, което е задача на ограниченията за целостта.

Релационна Integrity Ограничения

Ограниченията за релационна цялост в СУБД се отнасят до условия, които трябва да са налице за валидна релация. Тези релационни ограничения са извлечени от правилата в мини-света, който базата данни представлява.

Съществуват много видове ограничения за целостта. Ограниченията на системата за управление на релационни бази данни се разделят най-вече на три основни категории:

  1. Ограничения на домейна
  2. Основни ограничения
  3. Референтни Integrity Ограничения

Ограничения на домейна

Ограниченията на домейна могат да бъдат нарушени, ако стойността на атрибут не се появява в съответния домейн или ако не е от подходящия тип данни.

Ограниченията на домейна указват, че във всеки кортеж стойността на всеки атрибут трябва да е атомарна и да се извлича от правилния домейн. Домейните се определят като типове данни, които включват стандартни типове като цели числа, реални числа, символи, булеви стойности и низове с променлива дължина.

Пример:

CREATE DOMAIN CustomerName
CHECK (value NOT NULL)

Показаният пример демонстрира създаването на ограничение на домейн, такова че CustomerName не е NULL.

Основни ограничения

Атрибут, който може уникално да идентифицира кортеж в релация, се нарича ключ на таблицата. Стойността на атрибута за различните кортежи в релацията трябва да бъде уникална.

Пример:

В дадената таблица, CustomerID е ключов атрибут на таблицата Customer. Най-вероятно е да има един ключ за един клиент; CustomerID = 1 е само за CustomerName.Google„Пълно описание на различните видове ключове е обхванато в ръководството за Ключове за СУБД.

CustomerID Потребителско име Статус
1 Google Активен
2 Amazon Активен
3 iPhone неактивен

Референтни Integrity Ограничения

Ограниченията за референтна цялост в СУБД се основават на концепцията за външни ключове. Външният ключ е важен атрибут на релация, който трябва да бъде препратен в други релации. Ограничение за референтна цялост възниква, когато една релация препраща към ключов атрибут на различна или същата релация. Този ключов елемент трябва да съществува в цитираната таблица.

Пример:

Референтна цялост между Клиента и Billотношения

В горния пример имаме две релации, Клиент и BillING.

Кортежът за CustomerID = 1 е цитиран два пъти в релацията Billинг. Така че знаем CustomerName „Google„има сума за фактуриране от 300 долара.“

Operaции в релационния модел

Върху релационния модел на база данни се извършват четири основни операции за актуализиране: вмъкване, актуализиране, изтриване и избор.

  • Insert се използва за вмъкване на данни в релацията.
  • Delete се използва за изтриване на кортежи от таблицата.
  • Modify ви позволява да промените стойностите на някои атрибути в съществуващи кортежи.
  • Select ви позволява да изберете конкретен диапазон от данни.

Винаги, когато се прилага една от тези операции, ограниченията за целостта, зададени в схемата на релационната база данни, никога не трябва да бъдат нарушавани.

Поставете OperaАЦИ

Операцията за вмъкване дава стойности на атрибутите за нов кортеж, който трябва да бъде вмъкнат в релация.

Операция за вмъкване, добавяща нов кортеж към релация

Актуализация OperaАЦИ

Можете да видите, че в таблицата с релации по-долу, CustomerName „Apple“ е актуализирано от Неактивно на Активно.

Операция за актуализиране, променяща стойност на състоянието в кортеж

Изтрий OperaАЦИ

За да укажете изтриване, условие за атрибутите на релацията избира кортежа за изтриване.

Операция за изтриване, премахваща кортеж от релация

В горния пример, CustomerName „Apple“ е изтрито от таблицата.

Операцията за изтриване може да наруши референтната цялост, ако изтритият кортеж е посочен от външни ключове от други кортежи в същия база данни.

Изберете OperaАЦИ

Изберете операция, избираща конкретен кортеж

В горния пример, CustomerName „Amazon”Е избрано.

Релационен модел срещу йерархични и мрежови модели

Релационният модел замени два по-ранни подхода и контрастът обяснява защо той стана доминиращ. Таблицата по-долу ги сравнява.

Аспект Релационен модел Йерархичен модел Мрежов модел
структура Таблици (релации) Дърво, от родител на дете Графика, много към много
Достъп до данни Декларативно, по стойност Навигационен, по път Навигационен, с показалец
Взаимоотношения Външни ключове Връзки родител-дете Множества и указатели
Език за заявки SQL Процедурен код Процедурен код
Гъвкавост Високо ниско Среден

Тъй като релационният модел адресира данните по стойност, а не чрез навигиране по физически връзки, език на високо ниво като SQL може да изрази заявка, без да знае как се съхраняват данните.

Най-добри практики за създаване на релационен модел

  • Данните трябва да бъдат представени като съвкупност от отношения.
  • Всяка връзка трябва да бъде ясно изобразена в таблицата.
  • Редовете трябва да съдържат данни за екземпляри на даден обект.
  • Колоните трябва да съдържат данни за атрибутите на обекта.
  • Клетките на таблицата трябва да съдържат една стойност.
  • На всяка колона трябва да се даде уникално име.
  • Не може да има два еднакви реда.
  • Стойностите на даден атрибут трябва да са от един и същ домейн.

Предимства на модела на релационната база данни

  • Простота: Релационният модел на данни в СУБД е по-прост от йерархичните и мрежовите модели.
  • Структурна независимост: Релационната база данни се занимава само с данни, а не със структура, което може да подобри производителността на модела.
  • Лесен за използване: Релационният модел е лесен за използване, тъй като таблиците, състоящи се от редове и колони, са естествени и лесни за разбиране.
  • Възможност за заявки: Това позволява на език за заявки от високо ниво, като SQL, да избегне сложна навигация в базата данни.
  • Независимост на данните: Структурата на релационна база данни може да бъде променена, без да е необходимо да се променя което и да е приложение.
  • Scalable: По отношение на броя на записите или редовете и броя на полетата, базата данни може да бъде разширена, за да се подобри нейната използваемост.

Недостатъци на релационния модел

  • Малко релационни бази данни имат ограничения за дължината на полетата, които не могат да бъдат превишени.
  • Релационните бази данни понякога могат да станат сложни, тъй като количеството данни нараства и връзките между отделните части от данните стават по-сложни.
  • Сложните релационни бази данни могат да доведат до изолирани бази данни, където информацията не може да се споделя от една система към друга.

Въпроси и Отговори

Степента е броят на атрибутите или колоните в една релация. Кардиналността е броят на кортежите или редовете. Степента описва ширината на таблицата, а кардиналността - нейната височина.

Релацията е математическо множество, а множеството не съдържа дублиращи се членове. Първичният ключ налага това, така че всеки кортеж е уникално идентифициран и няма два еднакви реда.

Моделите с изкуствен интелект често се обучават върху функции, извлечени от релационни таблици чрез SQL съединения и агрегации. Изкуственият интелект може също така да преведе въпрос на обикновен английски език в SQL, така че нетехнически потребители да заявяват директно релации.

Да. При наличие на примерни данни или изисквания, изкуственият интелект може да предложи таблици, първични и външни ключове, както и нормална форма. Резултатът все още се нуждае от преглед, защото нормализирането зависи от бизнес правила, които изкуственият интелект може да не знае.

На практика те се използват взаимозаменяемо. Формално релацията е набор от кортежи без ред и без дубликати, докато таблицата е нейното физическо изображение, което може да показва редове в съхранен ред.

Обобщете тази публикация с: