Warunek wstępny: Model relacyjny w DBMS
Algebra Relacyjna jest proceduralnym językiem zapytań. Algebra relacyjna zapewnia głównie teoretyczne podstawy relacyjnych baz danych i SQL . Głównym celem stosowania algebry relacyjnej jest zdefiniowanie operatorów, które przekształcają jedną lub więcej relacji wejściowych w relację wyjściową. Biorąc pod uwagę, że operatory te akceptują relacje jako dane wejściowe i tworzą relacje jako dane wyjściowe, można je łączyć i wykorzystywać do wyrażania potencjalnie złożonych zapytań, które przekształcają potencjalnie wiele relacji wejściowych (których dane są przechowywane w bazie danych) w jedną relację wyjściową (wyniki zapytania). . Ponieważ jest to czysta matematyka, w algebrze relacyjnej nie używa się angielskich słów kluczowych, a operatory są reprezentowane za pomocą symboli.
Podstawowe operatory
Są to podstawowe/fundamentalne operatory używane w algebrze relacyjnej.
- Wybór (σ)
- Projekcja (π)
- Unia (U)
- Ustaw różnicę(-)
- Ustaw przecięcie (∩)
- Zmień nazwę (ρ)
- Produkt kartezjański (X)
1. Wybór (σ): Służy do wybierania wymaganych krotek relacji.
Przykład:
A | B | C |
---|---|---|
1 | 2 | 4 |
2 | 2 | 3 |
3 | 2 | 3 |
4 | 3 | 4 |
Dla powyższej relacji σ(c>3)R wybierze krotki, które mają c większe niż 3.
A | B | C |
---|---|---|
1 | 2 | 4 |
4 | 3 | 4 |
Notatka: Operator wyboru wybiera tylko wymagane krotki, ale ich nie wyświetla. Do wyświetlania używany jest operator projekcji danych.
2. Projekcja (π): Służy do projekcji wymaganych danych kolumnowych z relacji.
wyszukiwanie kontradyktoryjne
Przykład: Rozważmy tabelę 1. Załóżmy, że chcemy kolumny B i C z relacji R.
π(B,C)R will show following columns.>
B | C |
---|---|
2 | 4 |
2 | 3 |
3 | 4 |
Notatka: Domyślnie projekcja usuwa zduplikowane dane.
3. Unia (U): Operacja sumowania w algebrze relacyjnej jest taka sama jak operacja sumy w teorii mnogości.
Przykład:
FRANCUSKI
Imię_ucznia | Roll_Number |
---|---|
Baran | 01 |
Mohan | 02 |
Wiwek | 13 |
Geeta | 17 |
NIEMIECKI
Imię_ucznia | Roll_Number |
---|---|
Wiwek | 13 |
Geeta | 17 |
Shyam | dwadzieścia jeden |
Rohana | 25 |
Rozważ poniższą tabelę studentów mających różne przedmioty fakultatywne w swoich kursach.
π(Student_Name)FRENCH U π(Student_Name)GERMAN>
Imię_ucznia |
---|
Baran |
Mohan |
Wiwek |
Geeta |
Shyam |
Rohana |
Notatka: Jedynym ograniczeniem w połączeniu dwóch relacji jest to, że obie relacje muszą mieć ten sam zestaw atrybutów.
4. Ustaw różnicę(-): Różnica zbiorów w algebrze relacyjnej jest tą samą operacją na różnicy zbiorów, co w teorii mnogości.
Przykład: Z powyższej tabeli dla języka francuskiego i niemieckiego, wartość różnicy ustawień stosuje się w następujący sposób
π(Student_Name)FRENCH - π(Student_Name)GERMAN>
Imię_ucznia |
---|
Baran |
Mohan |
Notatka: Jedynym ograniczeniem w zakresie różnicy między dwiema relacjami jest to, że obie relacje muszą mieć ten sam zestaw atrybutów.
5. Ustaw przecięcie (∩): Przecięcie zbioru w algebrze relacyjnej jest tą samą operacją przecięcia zbiorów w teorii mnogości.
Przykład: Z powyższej tabeli języka francuskiego i niemieckiego, przecięcie zestawu jest używane w następujący sposób
π(Student_Name)FRENCH ∩ π(Student_Name)GERMAN>
Imię_ucznia |
---|
Wiwek |
Geeta |
Notatka: Jedynym ograniczeniem w zakresie różnicy między dwiema relacjami jest to, że obie relacje muszą mieć ten sam zestaw atrybutów.
6. Zmień nazwę (ρ): Zmień nazwę to jednoargumentowa operacja używana do zmiany nazwy atrybutów relacji.
ρ(a/b)R will rename the attribute 'b' of the relation by 'a'.>
7. Produkt krzyżowy (X): Produkt krzyżowy pomiędzy dwiema relacjami. Powiedzmy, że A i B, więc iloczyn krzyżowy pomiędzy A X B da w wyniku wszystkie atrybuty A, po których następują wszystkie atrybuty B. Każdy rekord A zostanie sparowany z każdym rekordem B.
Przykład:
Maszyna wirtualna Java
A
Nazwa | Wiek | Seks |
---|---|---|
Baran | 14 | M |
do końca | piętnaście | F |
Kima | 20 | M |
B
ID | Kurs |
---|---|
1 | DS |
2 | DBMS |
A X B
Nazwa | Wiek | Seks | ID | Kurs |
---|---|---|---|---|
Baran | 14 | M | 1 | DS |
Baran | 14 | M | 2 | DBMS |
do końca | piętnaście | F | 1 | DS |
do końca | piętnaście | F | 2 | DBMS |
Kima | 20 | M | 1 | DS |
Kima | 20 | M | 2 | DBMS |
Notatka: Jeśli A ma „n” krotek, a B ma „m” krotek, wówczas A X B będzie miało „n*m” krotek.
Operatory pochodne
Oto niektóre z operatorów pochodnych, które pochodzą od operatorów podstawowych.
- Naturalne połączenie(⋈)
- Dołączenie warunkowe
1. Naturalne połączenie (⋈): Sprzężenie naturalne jest operatorem binarnym. Naturalne połączenie dwóch lub więcej relacji spowoduje utworzenie zbioru wszystkich kombinacji krotek, w których mają one ten sam wspólny atrybut.
Przykład:
Ciąg boolowski Java
EMP
Nazwa | ID | Nazwa_działu |
---|---|---|
A | 120 | TO |
B | 125 | HR |
C | 110 | Obroty |
D | 111 | TO |
DZIAŁ
Nazwa_działu | Menedżer |
---|---|
Obroty | I |
Produkcja | Z |
TO | A |
Naturalne połączenie pomiędzy EMP i DEPT z warunkiem:
EMP.Dept_Name = DEPT.Dept_Name
EMP ⋈ DZIAŁ
Nazwa | ID | Nazwa_działu | Menedżer |
---|---|---|---|
A | 120 | TO | A |
C | 110 | Obroty | I |
D | 111 | TO | A |
2. Łączenie warunkowe: Łączenie warunkowe działa podobnie do łączenia naturalnego. W przypadku łączenia naturalnego domyślnie warunek jest równy pomiędzy wspólnymi atrybutami, natomiast w przypadku łączenia warunkowego możemy określić dowolny warunek, taki jak większy niż, mniejszy lub nierówny.
Przykład:
R
ID | Seks | Znaki |
---|---|---|
1 | F | Cztery pięć |
2 | F | 55 |
3 | F | 60 |
S
ID | Seks | Znaki |
---|---|---|
10 | M | 20 |
jedenaście | M | 22 |
12 | M | 59 |
Połącz R i S z warunkiem Znaki R>= Znaki S
ELIMINOWAĆ | R.Seks | R.Marks | S.ID | S.Seks | S.Marki |
---|---|---|---|---|---|
1 | F | Cztery pięć | 10 | M | 20 |
1 | F | Cztery pięć | jedenaście | M | 22 |
2 | F | 55 | 10 | M | 20 |
2 | F | 55 | jedenaście | M | 22 |
3 | F | 60 | 10 | M | 20 |
3 | F | 60 | jedenaście | M | 22 |
3 | F | 60 | 12 | M | 59 |
Rachunek relacyjny
Ponieważ algebra relacyjna jest proceduralnym językiem zapytań, rachunek relacyjny jest nieproceduralnym językiem zapytań. Zasadniczo dotyczy to wyników końcowych. Zawsze mówi mi, co mam robić, ale nigdy nie mówi mi, jak to zrobić.
Istnieją dwa typy rachunku relacyjnego
- Rachunek relacyjny krotki (TRC)
- Rachunek relacyjny domeny (DRC)
Pogłębione artykuły:
Podstawowe operatory-w-algebrze-relacyjnej
Rozszerzone operatory algebry relacyjnej