160 likes | 407 Views
Algebra relacyjna. Wprowadzenie do systemów baz danych. Algebra relacyjna. Algebra relacyjna to zbiór operatorów, których argumentami jest jedna relacja lub więcej relacji, a wynikiem jest relacja Podstawowymi operatorami algebry relacyjnej są Selekcja (ograniczanie) – restrict operation
E N D
Algebra relacyjna Wprowadzenie do systemów baz danych
Algebra relacyjna • Algebra relacyjna to zbiór operatorów, których argumentami jest jedna relacja lub więcej relacji, a wynikiem jest relacja • Podstawowymi operatorami algebry relacyjnej są • Selekcja (ograniczanie) – restrict operation • Rzut (projekcja) – project operation • Złączenie – join operation
Selekcja • Selekcja bierze jedną relacje jako swój argument i produkuje w wyniku jedną relację • Selekcja wydobywa z wejściowej relacji wiersze, które pasują do podanego warunku, i przekazuje je do relacji wynikowej • Selekcja może być uważana za „poziomą maszynę do cięcia”
Selekcja dane_osobowe Relacja wejściowadane_osobowe RESTRICT dane_osobowe WHERE nazwisko = ’Kowalski’ Relacja wynikowa
Rzut • Rzut bierze jedną relacje jako swój argument i produkuje w wyniku jedną relację • Rzut jest „pionową maszyną do cięcia” • Rzut usuwa z wejściowej relacji kolumny, a pozostałe umieszcza w relacji wyjściowej
Rzut dane_osobowe Relacja wejściowadane_osobowe PROJECT dane_osobowe(nazwisko, imię) Relacja wynikowa
Iloczyn kartezjański • Argumentami są dwie relacje i produkowana jedna relacja wynikowa złożona ze wszystkich możliwych kombinacji wierszy z wejściowych tabel • Operator rzadko używany ze względu na możliwość generowania „eksplozji informacyjnej”
Iloczyn kartezjański A × B Adane osobowe Bsamochody =
Równozłączenie • Operator złączenia bierze dwie relacje jako swoje argumenty i produkuje jedną relację wynikową • Równozłączenie jest iloczynem kartezjańskim, po którym jest wykonywana selekcja - zostają tylko te wiersze, których wartości w kolumnach złączenia są takie same
Równozłączenie B JOIN A WITH B A
Złączenia zewnętrzne • Lewostronne – zostają wszystkie wiersze z tabeli A (lewej) i pasujące z tabeli B (prawej) • Prawostronne – zostają wszystkie wiersze z tabeli B (prawej) i pasujące z tabeli A (lewej) • Obustronne – kombinacja złączenia lewostronnego i prawostronnego
Lewostronne złączenie zewnętrzne A NATURAL LEFT JOIN B A B
Złączenie teta Inny warunek złączenia niż w złączeniu naturalnym Np.: A.PID <= B.PID A B
Operatory znane z teorii zbiorów • Suma – union operation • Przecięcie – intersection operation • część wspólna zbiorów • Różnica – difference operation
Suma, przecięcie, różnica • Argumentami operatorów są dwie zgodne relacje, wynikiem relacja wynikowa • Relacje zgodne – to relacje, które mają taką samą strukturę – te same kolumny określone na tych samych dziedzinach • W wyniku sumy otrzymujemy relację zawierającą wiersze (krotki) z obu relacji • W wyniku przecięcia uzyskujemy wiersze wspólne dwóch relacji • W wyniku różnicy otrzymujemy wiersze należące do pierwszej relacji i nie należące do drugiej
Rachunek relacyjny • Rachunek relacyjny jest alternatywą algebry relacyjnej • Rachunek relacyjny jest oparty na logicznym rachunku predykatów (funkcji zdaniowych) • Algebra ma charakter proceduralny (algorytmiczny) • Rachunek ma charakter nieproceduralny (deklaracyjny) • Algebra i rachunek są równoważne, każde wyszukiwanie danych określone w algebrze można wyrazić w rachunku i odwrotnie • Rachunek na krotkach jest wykorzystywany w języku SQL • Rachunek na dziedzinach jest podstawą interfejsu QBE (Query By Example)