Релациона алгебра
Релациона алгебра је фамилија алгебри са добро заснованом семантиком која се користи за моделирање података смјештених у релационој бази података и за дефинисање упита над њима. Главна примјена релационе алгебре је обезбјеђивање теоријске основе за релационе базе података, посебно за упитне језике за такве базе података, међу којима је главни -{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}-”, може се употријебити .