Релациона алгебра

Из Википедије, слободне енциклопедије
Иди на навигацију Иди на претрагу

Релациона алгебра је фамилија алгебри са добро заснованом семантиком која се користи за моделирање података смјештених у релационој бази података и за дефинисање упита над њима. Главна примјена релационе алгебре је обезбјеђивање теоријске основе за релационе базе података, посебно за упитне језике за такве базе података, међу којима је главни SQL.

Релациону алгебру створио је Едгар Франк Код.

Операције[уреди]

Оператори над скуповима[уреди]

Релациона алгебра користи унију скупова, разлику скупова и Декартов производ из теорије скупова, али уводи и ограничења за ове операторе.

За унију и разлику, двије релације које се користе морају бити компатибилне са унијом – тј. двије релације морају имати исти скуп атрибута. Будући да је пресјек дефинисан терминима уније и разлике скупова, двије релације које се користе у пресјеку такође морају бити компатибилне са унијом.

Да би се дефинисао Декартов производ, двије релације које се користе морају имати дисјунктивна заглавља – тј. не смију имати ниједно заједничко име атрибута.

Поред тога, Декартов производ је другачије дефинисан од оног у теорији скупова у смислу да се n-торке сматрају „плитким” за потребе операције – тј. Декартов производ скупа n-торки са скупом m-торки даје скуп „спљоштених” n+m-торки (док би основна теорија скупова прописивала скуп од 2–торке, од којих свака садржи n-торку и m-торку). Формално, R × S дефинисано је на сљедећи начин:

Кардиналитет Декартовог производа је производ кардиналитета његових фактора, тј. |R × S| = |R| × |S|.

Пројекција (Π)[уреди]

Пројекција је унарна операција која се записује као , гдје је скуп имена атрибута. Резултат овакве пројекције је дефинисан као скуп који се добије када су све n-торке ограничене на скуп .

Селекција (σ)[уреди]

Генерализована селекција је унарна операција записана као , гдје је φ пропозивиона формула која се састоји од атома дозвољених у нормалној селекцији и логичких оператора (и), (или) и (негација). Ова селекција бира све оне n-торке за које φ важи.

Да бисмо добили списак свих пријатеља или пословних сарадника из адресара, селекција се записује као . Резултат би била релација која садржи сваки атрибут сваког јединственог записа гдје је вриједност isFriend true или гдје је вриједност isBusinessContact true.

Преименовање (ρ)[уреди]

Преименовање је унарна операција која се записује као , гдје је резултат идентичан R осим што је атрибут b у свим n-торкама преименован у атрибут a. Ово се једноставно користи да се преименује атрибут релације или сама релација.

Како би се у релацији атрибут „isFriend” преименовао у „isBusinessContact”, може се употријебити .

Спољашње везе[уреди]