Relációs algebra

A stabil verziót 2022. július 29-én nézték meg . Ellenőrizetlen változtatások vannak a sablonokban vagy a .

A relációs algebra egy relációs adatmodell relációira vonatkozó  zárt műveletrendszer . A relációs algebrai műveleteket relációs műveleteknek is nevezik .

Az eredeti 8 műveletből álló halmazt E. Codd javasolta az 1970-es években, és mind a még használatban lévő műveleteket ( projekció , csatlakozás , stb.), mind a használatba nem vett műveleteket (például kapcsolatok felosztása ) tartalmazta.

A relációs elmélet és gyakorlat fejlesztése során több új relációs műveletet javasoltak, mint például a semi-join ( SEMI-JOIN ) és a semi-difference, vagy az anti-semi-join ( ANTI-SEMI-JOIN ) [1] [2 ] , KERESZT ALKALMAZÁS és KÜLSŐ ALKALMAZÁS , tranzitív zárás ( ZÁRÁS ) stb.

Mivel a relációs algebra részeként sok művelet egymáson keresztül is kifejezhető, az alapnak (olyan művelethalmaznak, amelyen keresztül az összes többi kifejezhető) több változata is megkülönböztethető. A leghíresebb és legszigorúbb alapot ( A algebra ) Christopher Date és Hugh Darwen javasolta [3] .

A relációs algebra és a relációs kalkulus kifejezőerejükben ekvivalens [4] . Vannak szabályok a kérések konvertálására közöttük.

A relációs algebra fő alkalmazása az, hogy elméleti keretet biztosítson a relációs adatbázisokhoz , különösen az ilyen adatbázisok lekérdezési nyelveihez , amelyek közül a legfontosabb az SQL .

Zárt relációs algebra

A relációs algebra olyan relációkra vonatkozó műveletek halmaza, amelyek mindegyikének eredménye egyben reláció is. Az algebrának ezt a tulajdonságát zártságnak nevezzük .

Az egy relációra vonatkozó műveleteket unárisnak , két reláción - binárisnak , három - ternárisnak nevezzük (ezek gyakorlatilag ismeretlenek).

Az unáris műveletre példa a projekció, a bináris műveletre  az unió.

Egy f N -számú relációs műveletet egy függvény reprezentálhat, amely egy relációt ad vissza, és n relációt vesz fel argumentumként:

Mivel a relációs algebra zárt, a relációs műveletekben operandusként más relációs algebrai kifejezések is helyettesíthetők (a típusnak megfelelő):

A relációs kifejezésekben tetszőlegesen összetett szerkezetű beágyazott kifejezéseket használhat.

Működési korlátozások

Egyes relációs műveletek, nevezetesen az unió , a metszet és a kivonás , megkövetelik, hogy a kapcsolatnak megfelelő (ugyanolyan) fejlécekkel (sémákkal) rendelkezzen. Ez azt jelenti, hogy az attribútumok száma, az attribútumok neve és az azonos nevű attribútumok típusa ( domain ) megegyezik.

Egyes kapcsolatok formálisan nem kompatibilisek az attribútumnevek különbségei miatt, de az attribútum-átnevezési művelet alkalmazása után azzá válnak.

A derékszögű szorzatművelet megköveteli, hogy az operandus relációk ne rendelkezzenek azonos nevű attribútumokkal. A kapcsolatokat kompatibilisnek mondjuk a kiterjesztett Descartes-szorzat felvételével, ha a kapcsolati sémáikból vett attribútumnevek metszéspontja üres.

Relációs algebrai műveletek

Az alábbiakban a relációs algebra néhány olyan műveletét mutatjuk be, amelyek mind történelmi, mind gyakorlati szempontból érdekesek. Lehetetlen az összes műveletet felsorolni, mivel minden olyan művelet, amely megfelel a relációs definíciónak, a relációs algebra része.

Átnevezés

Az attribútum-átnevezési művelet alkalmazásának eredménye egy reláció a megváltozott attribútumnevekkel.

Szintaxis :

R ÁTNEVEZÉS Atr 1 , Atr 2 , … AS NewAtr 1 , NewAtr 2 , …

ahol

R  - arány Atr 1 , Atr 2 , … — kezdeti attribútumnevek A NewAtr 1 , NewAtr 2 , … új attribútumnevek.

Konszolidáció

Egy reláció, amelynek címe megegyezik az A és B típuskompatibilis relációkkal, valamint egy A , B , vagy mindkettő soraiból álló törzs .
Szintaxis:

A UNIÓ B

Crossing

Az A és B relációval azonos címet viselő reláció , valamint az A és B relációhoz egyidejűleg tartozó sorokból álló test . Szintaxis:

A KERSZÉS B

Kivonás

Egy reláció, amelynek címe megegyezik az A és B típuskompatibilis relációkkal, és egy törzs, amely olyan sorokból áll, amelyek az A relációhoz tartoznak, és nem tartoznak a B relációhoz .
Szintaxis:

A MÍNUSZ B

Hozzárendelési művelet

A hozzárendelési operátor (:=) lehetővé teszi egy relációs kifejezés kiértékelésének eredményét egy meglévő relációban.

derékszögű termék

Egy reláció, amelynek fejléce ( A 1 , A 2 , …, A n , B 1 , B 2 , …, B m ) az A ( A 1 , A 2 , …, A n ) és B relációk címsorainak összefűzése ( B 1 , B 2 , …, B m ), a törzs pedig olyan sorokból áll, amelyek mind az A és B relációk sorainak kombinációi : ( a 1 , a 2 , …, a n , b 1 , b 2 , … , b m ),

oly módon, hogy

( a 1 , a 2 , …, a n ) ∈ A , ( b 1 , b 2 , …, b m ) ∈ B .

Szintaxis:

A TIMES B

Mintavétel (korlátozás)

Egy reláció, amelynek címe megegyezik az A relációval, és egy törzs, amely olyan sorokból áll, amelyek attribútumértékei IGAZ értékűek, ha c feltételbe helyettesítik. c egy logikai kifejezés , amely tartalmazhatja az A reláció attribútumait és /vagy skaláris kifejezéseket.
Szintaxis:

A HOL c

A minta a következőképpen vagy hol van írva :

Projekció

A kivetítés egy unáris művelet , amely lehetővé teszi egy adott reláció vagy tábla "függőleges" részhalmazának beszerzését, vagyis egy olyan részhalmazt, amelyet a megadott attribútumok kiválasztásával kapunk , majd szükség esetén a redundáns duplikált sorok eltávolításával. . Adjunk meg egy attribútumneveket tartalmazó táblát , vagyis az attribútumnevek halmazának valamely részhalmazát . A kiválasztott attribútumnevekre vonatkozó táblavetítés eredménye egy új tábla , amelyet az eredeti táblából kapunk a kiválasztott halmazban nem szereplő attribútumok törlésével, majd a redundáns ismétlődő sorok esetleges eltávolításával.

A vetítés megvalósítása során meg kell adni a kivetített relációt és annak bizonyos attribútumait, amelyek az eredmény címe lesz.

A vetítés végrehajtásakor az operandus reláció „függőleges” levágását rendeljük hozzá a potenciálisan felmerülő duplikált sorok természetes megsemmisítésével.

Szintaxis:

A[X, Y, …, Z]

vagy

A PROJEKT {x, y, …, z}

Csatlakozás

Az A és B relációk P predikátummal való összekapcsolásának művelete logikailag ekvivalens A és B derékszögű szorzatának szekvenciális alkalmazásával és P predikátummal történő kiválasztásával . Ha a relációkban azonos nevű attribútumok vannak, akkor az összekapcsolás végrehajtása előtt ezeket az attribútumokat át kell nevezni.

Szintaxis:

( A TIMES B ) AHOL P

osztály

Egy reláció egy fejléccel (X 1 , X 2 , …, X n ) és egy sorral (x 1 , x 2 , …, x n ) tartalmazó törzstel úgy, hogy minden sorra (y 1 , y 2 , … , y m ) ∈ B A (X 1 , X 2 , …, X n , Y 1 , Y 2 , …, Y m ) vonatkozásában van egy sor (x 1 , x 2 , …, x n , y ) 1 , y 2 , …, y m ) .

Szintaxis:

OSZTÁS B _

Egyes műveletek kifejezhetősége mások szempontjából

A relációs operátorok egy része más relációs operátorokkal is kifejezhető.

Csatlakozás operátorhoz

Az összekapcsolás operátora a derékszögű termékben van meghatározva, és válassza ki az operátorokat az alábbiak szerint:

(A-SZOR B) AHOL X=Y ahol X és Y az A és B reláció attribútumai kezdetben azonos névvel. A kereszteződés kezelője

A metszéspont operátora kivonással fejeződik ki :

A B METSZÉS = A MÍNUSZ (A MÍNUSZ B) részleg operátora

Az osztási operátort a kivonás, a derékszögű szorzat és a vetületi operátorok segítségével fejezzük ki:

A OSZTÁS B = A[X] MÍNUSZ ((A[X] SZERE B) MÍNUS A)[X]

Megvalósítások

Az első Codd-algebrán alapuló lekérdező nyelv az Alpha volt, amelyet maga Codd fejlesztett ki. Ezt követően létrehozták az ISBL-t, és ezt az úttörő munkát számos szaktekintély dicsérte [5] , mivel módot mutat arra, hogy Codd ötletét hasznos nyelvvé alakítsák. A Business System 12 egy rövid életű relációs DBMS volt , amely az ISBL példáját követte.

1998-ban Christopher Date és Hugh Darwen a Tutorial D nevű nyelvet javasolta a relációs adatbázis-elmélet tanítására, ez a lekérdező nyelv szintén az ISBL ötletein alapult. A Rel a D oktatóanyag megvalósítása.

Még az SQL lekérdezési nyelv is lazán alapul relációs algebrán, bár az SQL operandusai ( táblázatok ) nem pontosan relációk , és számos hasznos relációs algebra-tétel nem érvényesül az SQL-ben (talán az optimalizálók és/vagy a felhasználók rovására). Az SQL tábla modellje egy multihalmaz , nem egy halmaz . Például egy kifejezés  a relációs algebra tétele halmazokon, de nem relációs algebra a többhalmazokon; a relációs algebra multihalmazokon való tanulmányozását lásd Garcia-Molina , Ullman és Widom "Complete" című tankönyvének 5. fejezetében [6] .

Jegyzetek

  1. A csatlakozások bemutatása . Letöltve: 2011. november 14. Az eredetiből archiválva : 2011. november 26..
  2. Randevú, Christopher. SQL és relációelmélet. Hogyan írjunk helyesen kódot SQL-ben. - Symbol-Plus, 2010
  3. C. Dátum, Hugh Darwen. A jövőbeli adatbázisrendszerek alapjai. Harmadik Kiáltvány. M: Janus-K, 2004.
  4. Gray, 1989 , p. 188.
  5. CJ dátum. Edgar F. Codd - AM Turing-díjas . amturing.acm.org . Letöltve: 2020. december 27. Az eredetiből archiválva : 2017. december 23.
  6. Hector Garcia-Molina . Adatbázisrendszerek: a teljes könyv  / Hector Garcia-Molina , Jeffrey D. Ullman , Jennifer Widom. — 2. - Pearson Prentice Hall, 2009. - ISBN 978-0-13-187325-4 .

Irodalom

Linkek