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

Извор: testwiki
Пређи на навигацију Пређи на претрагу

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

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

Операције

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

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

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

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

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

R×S:={(r1,r2,,rn,s1,s2,,sm)|(r1,r2,,rn)R,(s1,s2,,sm)S}

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

Пројекција (Π)

Пројекција је унарна операција која се записује као Πa1,,an(R), гдје је a1,,an скуп имена атрибута. Резултат овакве пројекције је дефинисан као скуп који се добије када су све -{n}--торке ограничене на скуп {a1,,an}.

Селекција (σ)

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

Да бисмо добили списак свих пријатеља или пословних сарадника из адресара, селекција се записује као σisFriend = trueisBusinessContact = true(addressBook). Резултат би била релација која садржи сваки атрибут сваког јединственог записа гдје је вриједност -{isFriend true}- или гдје је вриједност -{isBusinessContact true}-.

Преименовање (ρ)

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

Како би се у релацији атрибут „-{isFriend}-” преименовао у „-{isBusinessContact}-”, може се употријебити ρisBusinessContact / isFriend(addressBook).

Спољашње везе

Шаблон:База података

Шаблон:Нормативна контрола