Онлайн час в Google Meet
Лого на 91. НЕГ „Проф. Константин Гълъбов“

12. клас · Модул 3 · Урок 8

Релационна база от данни (РБД)

Изискванията на Код към РБД, терминологията — таблица, кортеж, атрибут, схема, степен и мощност — и множествените операции върху таблици.

Изискванията към една РБД

Двете задължителни изисквания, които наистина се спазват от всички създатели на СУРБД:

Още от изискванията на Код (спазвани в различна степен):

  • Изискване 2: всяка отделна данна е достъпна само със средствата на СУБД.
  • Изискване 3: отсъствието на данна се отбелязва със специалната стойност null — различна от празната стойност! Празният низ е нормална стойност; null означава, че данна не е въвеждана или няма смисъл да се въвежда.
  • Изискване 4: структурата на РБД (множеството от таблици) също може да се оформи в таблица, достъпна за справки като всяка друга.
  • Изискване 5: всички обработки могат да се извършват пряко с език за работа с базата — повсеместно използваният SQL. Повечето СУРБД допускат и работа посредством език за програмиране с библиотека подпрограми (ще видим как — със C#).
  • Изискване 6: всички изгледи (справки, отчети) за крайния потребител могат да се изработят с езика за работа с базата.
  • Изискване 7: всяка таблица е множество — изменя се със стандартните операции: обединение, сечение и разлика.
  • Изискване 8: РБД е независима от езиците за програмиране; вътрешни изменения в СУРБД не водят до промени в програмите.

Терминологията на РБД

Релациите, от които е изградена РБД, се наричат таблици. Аналогът им в програмирането са двумерните масиви — с уговорката, че елементите на масива са от един тип, а ограничението се преодолява със struct или клас: тогава таблицата е едномерен масив от структури/инстанции.

МатематикаРБДДруго име
РелацияТаблица—
Наредена n-торкаРед / кортежзапис
Елемент на кортежаАтрибутстойност в колона
Множество в произведениетоДомейн—
СигнатураСхема на релациятарелационна схема

Степен на релацията

Броят на множествата в декартовото произведение, над което е образувана таблицата (т.е. броят на колоните).

Мощност на таблицата

Броят на кортежите (редовете) на таблицата.

Множествени операции върху таблици

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

Обединение

Резултатът съдържа всеки кортеж, който се среща в едната таблица, в другата или и в двете. Съвпадащите кортежи влизат само веднъж — множествата не съдържат повторения. Мощността на резултата ≤ сборът от мощностите. Пример: обединим ли таблиците на учениците от всички класове, получаваме таблицата на всички ученици в училището — тук кортежите са очаквано различни и мощността е точно сборът.

Сечение

Резултатът съдържа кортежите, срещащи се и в двете таблици. За таблиците на два различни класа сечението най-вероятно е празна таблица. Мощността на резултата ≤ мощността на по-малката таблица.

Разлика

Кортежите на първата таблица, които не участват във втората. За таблици с празно сечение резултатът е просто първата таблица.

Какво трябва да запомниш

  • Изискване 0: данните са релации (таблици); Изискване 1: обработка само с релационна алгебра.
  • null = липсваща данна; различно от празния низ!
  • Ред = кортеж = запис; стойност в колона = атрибут; схема = типовете на колоните.
  • Степен = брой колони; мощност = брой редове.
  • Обединение/сечение/разлика — само върху таблици с еднаква схема.
  • Общият брой атрибути на таблица със степен N и мощност M е N·M.