logo

Introductie van relationele algebra in DBMS

Voorwaarde: Relationeel model in DBMS

Relationele Algebra is een procedurele zoektaal. Relationele algebra biedt voornamelijk een theoretische basis voor relationele databases en SQL . Het belangrijkste doel van het gebruik van relationele algebra is het definiëren van operatoren die een of meer invoerrelaties omzetten in een uitvoerrelatie. Gegeven dat deze operators relaties als invoer accepteren en relaties produceren als uitvoer, kunnen ze worden gecombineerd en gebruikt om potentieel complexe zoekopdrachten uit te drukken die potentieel veel invoerrelaties (waarvan de gegevens in de database zijn opgeslagen) transformeren in een enkele uitvoerrelatie (de zoekopdrachtresultaten). . Omdat het pure wiskunde is, wordt er in relationele algebra geen gebruik gemaakt van Engelse trefwoorden en worden operatoren weergegeven met symbolen.



Fundamentele operatoren

Dit zijn de fundamentele/fundamentele operatoren die worden gebruikt in relationele algebra.

  1. Selectie(σ)
  2. Projectie(π)
  3. Unie(U)
  4. Verschil instellen(-)
  5. Kruispunt instellen (∩)
  6. Hernoemen(ρ)
  7. Cartesisch product(X)

1. Selectie(σ): Het wordt gebruikt om de vereiste tupels van de relaties te selecteren.

Voorbeeld:



A B C
1 2 4
2 2 3
3 2 3
4 3 4

Voor de bovenstaande relatie geldt σ(c>3)R zal de tupels selecteren die c meer dan 3 hebben.

A B C
1 2 4
4 3 4

Opmerking: De selectieoperator selecteert alleen de benodigde tupels, maar geeft deze niet weer. Voor weergave wordt de dataprojectie-operator gebruikt.

2. Projectie(π): Het wordt gebruikt om vereiste kolomgegevens uit een relatie te projecteren.



Java-paar

Voorbeeld: Beschouw tabel 1. Stel dat we de kolommen B en C uit Relatie R willen.

π(B,C)R will show following columns.>
B C
2 4
2 3
3 4

Opmerking: Standaard verwijdert projectie dubbele gegevens.

3. Unie(U): De werking van de vereniging in relationele algebra is hetzelfde als de werking van de vereniging in de verzamelingenleer.

Voorbeeld:

FRANS

Studenten naam Rolnummer
Ram 01
Mohan 02
Vivek 13
Geeta 17

DUITS

Studenten naam Rolnummer
Vivek 13
Geeta 17
Shyam eenentwintig
Rohan 25

Bekijk de volgende tabel met studenten die verschillende keuzevakken in hun cursus hebben.

π(Student_Name)FRENCH U π(Student_Name)GERMAN>
Studenten naam
Ram
Mohan
Vivek
Geeta
Shyam
Rohan

Opmerking: De enige beperking bij de vereniging van twee relaties is dat beide relaties dezelfde set attributen moeten hebben.

4. Verschil instellen (-): Set Difference in relationele algebra is dezelfde set-verschilbewerking als in de verzamelingenleer.

Voorbeeld: Uit de bovenstaande tabel van FRANS en DUITS wordt Set Difference als volgt gebruikt

π(Student_Name)FRENCH - π(Student_Name)GERMAN>
Studenten naam
Ram
Mohan

Opmerking: De enige beperking in het Set Difference tussen twee relaties is dat beide relaties dezelfde set attributen moeten hebben.

5. Stel snijpunt in (∩): Set Intersection in relationele algebra is dezelfde set snijpuntbewerking in de verzamelingenleer.

Voorbeeld: Uit de bovenstaande tabel van FRANS en DUITS wordt het vaste kruispunt als volgt gebruikt

π(Student_Name)FRENCH ∩ π(Student_Name)GERMAN>
Studenten naam
Vivek
Geeta

Opmerking: De enige beperking in het Set Difference tussen twee relaties is dat beide relaties dezelfde set attributen moeten hebben.

6. Hernoemen(ρ): Hernoemen is een unaire bewerking die wordt gebruikt voor het hernoemen van attributen van een relatie.

 ρ(a/b)R will rename the attribute 'b' of the relation by 'a'.>

7. Kruisproduct(X): Kruisproduct tussen twee relaties. Laten we zeggen A en B, dus het kruisproduct tussen AX B zal resulteren in alle attributen van A, gevolgd door elk attribuut van B. Elk record van A zal paren met elk record van B.

Voorbeeld:

wat is luidspreker

A

Naam Leeftijd Seks
Ram 14 M
naar het einde vijftien F
Kim twintig M

B

ID kaart Cursus
1 DS
2 DBMS

A X B

Naam Leeftijd Seks ID kaart Cursus
Ram 14 M 1 DS
Ram 14 M 2 DBMS
naar het einde vijftien F 1 DS
naar het einde vijftien F 2 DBMS
Kim twintig M 1 DS
Kim twintig M 2 DBMS

Opmerking: Als A ‘n’ tupels heeft en B ‘m’ tupels heeft, dan zal A X B ‘n*m’ tupels hebben.

Afgeleide operators

Dit zijn enkele van de afgeleide operatoren, die zijn afgeleid van de fundamentele operatoren.

  1. Natuurlijke verbinding(⋈)
  2. Voorwaardelijke deelname

1. Natuurlijke verbinding(⋈): Natuurlijke join is een binaire operator. Een natuurlijke verbinding tussen twee of meer relaties zal resulteren in een verzameling van alle combinaties van tupels waarbij ze een gelijk gemeenschappelijk attribuut hebben.

Voorbeeld:

EMP

Naam ID kaart Afdelingsnaam
A 120 HET
B 125 HR
C 110 verkoop
D 111 HET

DEPT

Afdelingsnaam Manager
verkoop EN
Productie MET
HET A

Natuurlijke verbinding tussen EMP en DEPT met voorwaarde:

EMP.Afdelingsnaam = DEPT.Afdelingsnaam

EMP ⋈ DEPT

Naam ID kaart Afdelingsnaam Manager
A 120 HET A
C 110 verkoop EN
D 111 HET A

2. Voorwaardelijke join: Voorwaardelijke join werkt op dezelfde manier als natuurlijke join. Bij natuurlijke join is de voorwaarde standaard gelijk tussen gemeenschappelijke attributen, terwijl we bij voorwaardelijke join elke voorwaarde kunnen specificeren, zoals groter dan, kleiner dan of niet gelijk.

Voorbeeld:

R

kmp-algoritme
ID kaart Seks Merken
1 F Vier vijf
2 F 55
3 F 60

S

ID kaart Seks Merken
10 M twintig
elf M 22
12 M 59

Verbinding tussen R en S met voorwaarde R.markeringen>= S.markeringen

R.ID R. Geslacht R. Merken S.ID S. Geslacht S.Marken
1 F Vier vijf 10 M twintig
1 F Vier vijf elf M 22
2 F 55 10 M twintig
2 F 55 elf M 22
3 F 60 10 M twintig
3 F 60 elf M 22
3 F 60 12 M 59

Relationele berekening

Omdat Relationele Algebra een procedurele zoektaal is, is Relationele Calculus een niet-procedurele zoektaal. Het gaat in principe over de eindresultaten. Het vertelt me ​​altijd wat ik moet doen, maar vertelt me ​​nooit hoe ik het moet doen.

Er zijn twee soorten relationele analyse

  1. Tupel relationele calculus (TRC)
  2. Domein relationele analyse (DRC)

Diepgaande artikelen:
Basisoperatoren in relationele algebra
Uitgebreide relationele algebra-operatoren