Pređi na sadržaj

Relaciona algebra

S Vikipedije, slobodne enciklopedije

Relaciona algebra je familija algebri sa dobro zasnovanom semantikom koja se koristi za modeliranje podataka smještenih u relacionoj bazi podataka i za definisanje upita nad njima. Glavna primjena relacione algebre je obezbjeđivanje teorijske osnove za relacione baze podataka, posebno za upitne jezike za takve baze podataka, među kojima je glavni SQL.

Relacionu algebru stvorio je Edgar Frank Kod.

Operacije[uredi | uredi izvor]

Operatori nad skupovima[uredi | uredi izvor]

Relaciona algebra koristi uniju skupova, razliku skupova i Dekartov proizvod iz teorije skupova, ali uvodi i ograničenja za ove operatore.

Za uniju i razliku, dvije relacije koje se koriste moraju biti kompatibilne sa unijom – tj. dvije relacije moraju imati isti skup atributa. Budući da je presjek definisan terminima unije i razlike skupova, dvije relacije koje se koriste u presjeku takođe moraju biti kompatibilne sa unijom.

Da bi se definisao Dekartov proizvod, dvije relacije koje se koriste moraju imati disjunktivna zaglavlja – tj. ne smiju imati nijedno zajedničko ime atributa.

Pored toga, Dekartov proizvod je drugačije definisan od onog u teoriji skupova u smislu da se n-torke smatraju „plitkim” za potrebe operacije – tj. Dekartov proizvod skupa n-torki sa skupom m-torki daje skup „spljoštenih” n+m-torki (dok bi osnovna teorija skupova propisivala skup od 2–torke, od kojih svaka sadrži n-torku i m-torku). Formalno, R × S definisano je na sljedeći način:

Kardinalitet Dekartovog proizvoda je proizvod kardinaliteta njegovih faktora, tj. |R × S| = |R| × |S|.

Projekcija (Π)[uredi | uredi izvor]

Projekcija je unarna operacija koja se zapisuje kao , gdje je skup imena atributa. Rezultat ovakve projekcije je definisan kao skup koji se dobije kada su sve n-torke ograničene na skup .

Selekcija (σ)[uredi | uredi izvor]

Generalizovana selekcija je unarna operacija zapisana kao , gdje je φ propoziviona formula koja se sastoji od atoma dozvoljenih u normalnoj selekciji i logičkih operatora (i), (ili) i (negacija). Ova selekcija bira sve one n-torke za koje φ važi.

Da bismo dobili spisak svih prijatelja ili poslovnih saradnika iz adresara, selekcija se zapisuje kao . Rezultat bi bila relacija koja sadrži svaki atribut svakog jedinstvenog zapisa gdje je vrijednost isFriend true ili gdje je vrijednost isBusinessContact true.

Preimenovanje (ρ)[uredi | uredi izvor]

Preimenovanje je unarna operacija koja se zapisuje kao , gdje je rezultat identičan R osim što je atribut b u svim n-torkama preimenovan u atribut a. Ovo se jednostavno koristi da se preimenuje atribut relacije ili sama relacija.

Kako bi se u relaciji atribut „isFriend” preimenovao u „isBusinessContact”, može se upotrijebiti .

Spoljašnje veze[uredi | uredi izvor]