To tylko jedna z 3 stron tej notatki. Zaloguj się aby zobaczyć ten dokument.
Zobacz
całą notatkę
BAZY DANYCH
dr Grzegorz Filipczyk
Wykład 4
ALGEBRAICZNE PODSTAWY TEORII BAZ DANYCH
ALGEBRA RELACJI
- relacyjna baza danych to zbiór relacji
- reprezentacją jest tabela
Każdemu atrybutowi A podporządkowana jest dziedzina. ! różnica między relacyjną bazą danych a relacją z definicji !
Dziedziną relacji o schemacie R={A1, A2, ..., An} nazywa się sumę dziedzin wszystkich atrybutów relacji.
Dom(R)=Dom(A1)+Dom(A2)+...+Dom(An)
gdzie „+” oznacza operację sumowania zbiorów
Relacją o schemacie R={A1, A2, ..., An} nazywa się skończony zbiór r={t1, t2, ..., tn} odwzorowań ti: R→Dom(R) takich, że dla każdego j (1≤j≤n) ti(Aj) należy do dziedziny Dom(Aj).
Każde takie odwzorowanie t nazywa się krotką (wierszem).
krotka odpowiada wierszowi
Operowanie danymi: wstawianie, usuwanie, poprawianie i wyszukiwanie danych w relacji (tabeli).
Wyszukiwanie w relacyjnym modelu danych jest wykonywane przy użyciu zbioru operatorów, znanych jako algebra relacji (algebra relacyjna) - właściwość domknięcia.
Algebra relacji - język proceduralny pozwalający formułować polecenia skonstruowania nowej relacji na podstawie (jednej lub wielu) relacji z bazy danych.
Rachunek relacyjny - język deklaratywny pozwalający zdefiniować relację na podstawie (jednej lub wielu) relacji z bazy danych.
! co to jest algebra !
Algebra relacji i rachunek relacyjny są równoważne, dla każdego wyrażenia algebry relacji istnieje równoważne mu zdanie rachunku relacyjnego (i odwrotnie) ! co należy umieć udowodnić !
Warianty rachunku relacyjnego
relacyjny rachunek krotek
relacyjny rachunek działań.
OPERACJE UNARNE
Operacje unarne są to operacje zawierające jeden argument (jedną relację)
rzut (projekcja)
selekcja.
Operacja rzutu (projekt) działa na jednej relacji R i daje w wyniku relację, która zawiera „pionowy” wycinek relacji R powstały poprzez wybranie wartości okreslonych atrybutów relacji R i pominięcie duplikatów krotek.
Składnia: PROJECT tabela [lista_kolumn]→tabela_wynikowa (na tabeli wynikowej możemy dokonywać kolejnych operacji)
W SQL:
SELECT {*|lista_kolumn} FROM tabela
Operacja selekcji (restrict) działa na jednej relacji R i daje w wyniku relację zawierającą jedynie te krotki R, które spełniają podany warunek (predykat).
(…)
…:
SELECT {*|lista_kolumn} FROM tabela1 INTERSECT SEKECT {*|lista_kolumn} FROM tabela2
Operacja iloczynu kartezjańskiego relacji R i S definiuje relację, która zawiera konkatenację każdej krotki z relacji R z każdą krotką relacji S. Iloczyn kartezjański w praktyce jest rzadko używany, w związku z możliwością generowania „eksplozji informacji”.
Składnia:
PRODUCT tabela1 [lista_kolumn] WITH tabela2…
… zbiorów
przekrój (przecięcie) zbiorów
iloczyn kartezjański zbiorów
Suma dwóch relacji R i S to relacja zawierająca zarówno krotki relacji R, jak i S; duplikaty krotek są eliminowane z relacji wynikowej. Obie relacje muszą mieć zgodne schematy (taką samą strukturę - te same kolumny okreslone na tych samych dziedzinach).
Składnia:
tabela1 [lista_kolumn] UNION tabela2 [lista_kolumn]→tabela_wynikowa
W SQL…
... zobacz całą notatkę
Komentarze użytkowników (0)