logo

Relationele algebra

Relationele algebra is een procedurele zoektaal. Het biedt een stapsgewijs proces om het resultaat van de zoekopdracht te verkrijgen. Het gebruikt operators om zoekopdrachten uit te voeren.

Soorten relationele operaties


DBMS relationele algebra

1. Selecteer Bediening:

  • De selectiebewerking selecteert tupels die aan een bepaald predikaat voldoen.
  • Het wordt aangegeven met sigma (σ).
 Notation: σ p(r) 

Waar:

P wordt gebruikt voor selectievoorspelling
R wordt gebruikt voor relatie
P wordt gebruikt als een propositionele logische formule die connectoren kan gebruiken zoals: AND OR en NOT. Deze relationele operatoren kunnen als relationele operatoren worden gebruikt, zoals =, ≠, ≧, , ≦.

Bijvoorbeeld: LENINGrelatie

BRANCH_NAME LENING_NR HOEVEELHEID
Centrum L-17 1000
Redhout L-23 2000
Perryrit L-15 1500
Centrum L-14 1500
Mianus L-13 500
Rondheuvel L-11 900
Perryrit L-16 1300

Invoer:

 σ BRANCH_NAME='perryride' (LOAN) 

Uitgang:

wat maakt een pc snel
BRANCH_NAME LENING_NR HOEVEELHEID
Perryrit L-15 1500
Perryrit L-16 1300

2. Projectuitvoering:

  • Deze bewerking toont de lijst met attributen die we in het resultaat willen laten verschijnen. De overige attributen worden uit de tabel verwijderd.
  • Het wordt aangegeven met ∏.
 Notation: ∏ A1, A2, An (r) 

Waar

A1 , A2 , A3 wordt gebruikt als attribuutnaam van een relatie R .

Voorbeeld: KLANTRELATIE

NAAM STRAAT STAD
Jones Voornaamst Harrison
Smit noorden Rogge
Hooi Voornaamst Harrison
Kerrie noorden Rogge
Johnson Ziel Brooklyn
Beken Senator Brooklyn

Invoer:

 ∏ NAME, CITY (CUSTOMER) 

Uitgang:

NAAM STAD
Jones Harrison
Smit Rogge
Hooi Harrison
Kerrie Rogge
Johnson Brooklyn
Beken Brooklyn

3. Operatie van de Unie:

  • Stel dat er twee tupels R en S zijn. De samenvoegingsoperatie bevat alle tupels die zich in R of S bevinden, of beide in R & S.
  • Het elimineert de dubbele tupels. Het wordt aangegeven met ∪.
 Notation: R ∪ S 

Een vakbondsoperatie moet aan de volgende voorwaarde voldoen:

iteratie van de kaart in Java
  • R en S moeten het attribuut van hetzelfde nummer hebben.
  • Dubbele tupels worden automatisch geëlimineerd.

Voorbeeld:

SPOSITOR RELATIE

KLANTNAAM ACCOUNT NUMMER
Johnson A-101
Smit A-121
Mayes A-321
Turner A-176
Johnson A-273
Jones A-472
Lindsay A-284

LEEN RELATIE

KLANTNAAM LENING_NR
Jones L-17
Smit L-23
Hayes L-15
Jackson L-14
Kerrie L-93
Smit L-11
Williams L-17

Invoer:

 ∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR) 

Uitgang:

KLANTNAAM
Johnson
Smit
Hayes
Turner
Jones
Lindsay
Jackson
Kerrie
Williams
Mayes

4. Kruispunt instellen:

  • Stel dat er twee tupels R en S zijn. De bewerking voor het instellen van snijpunten bevat alle tupels die zich in zowel R als S bevinden.
  • Het wordt aangegeven met snijpunt ∩.
 Notation: R ∩ S 

Voorbeeld: Met behulp van de bovenstaande DEPOSITOR-tabel en LEN-tabel

Invoer:

np std
 ∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME (DEPOSITOR) 

Uitgang:

KLANTNAAM
Smit
Jones

5. Verschil instellen:

  • Stel dat er twee tupels R en S zijn. De bewerking voor het instellen van snijpunten bevat alle tupels die zich in R maar niet in S bevinden.
  • Het wordt aangegeven door het snijpunt min (-).
 Notation: R - S 

Voorbeeld: Met behulp van de bovenstaande DEPOSITOR-tabel en LEN-tabel

Invoer:

 ∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME (DEPOSITOR) 

Uitgang:

KLANTNAAM
Jackson
Hayes
Williams
Kerrie

6. Cartesisch product

  • Het Cartesiaanse product wordt gebruikt om elke rij in de ene tabel te combineren met elke rij in de andere tabel. Het wordt ook wel een kruisproduct genoemd.
  • Het wordt aangegeven met X.
 Notation: E X D 

Voorbeeld:

MEDEWERKER

EMP_ID EMP_NAME EMP_DEPT
1 Smit A
2 Harry C
3 John B

AFDELING

DEPT_NO DEPT_NAME
A Marketing
B verkoop
C Legaal

Invoer:

verborgen apps op dit apparaat
 EMPLOYEE X DEPARTMENT 

Uitgang:

EMP_ID EMP_NAME EMP_DEPT DEPT_NO DEPT_NAME
1 Smit A A Marketing
1 Smit A B verkoop
1 Smit A C Legaal
2 Harry C A Marketing
2 Harry C B verkoop
2 Harry C C Legaal
3 John B A Marketing
3 John B B verkoop
3 John B C Legaal

7. Hernoeming:

De hernoemingsbewerking wordt gebruikt om de uitvoerrelatie te hernoemen. Het wordt aangegeven met rho (P).

Voorbeeld: We kunnen de hernoemingsoperator gebruiken om de STUDENT-relatie te hernoemen naar STUDENT1.

 ρ(STUDENT1, STUDENT) 

Opmerking: Naast deze algemene bewerkingen kan relationele algebra worden gebruikt bij join-bewerkingen.