8-dbms

36
RELATIONAL ALGEBRA AND CALCULUS Relational Algebra Relational Calculus SQL Embedded SQL QBE

Upload: sk-munaf

Post on 01-Jun-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 1/36

RELATIONAL ALGEBRA AND CALCULUS

Relational Algebra Relational Calculus SQL

Embedded SQL QBE

Page 2: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 2/36

Relational algebra is a collection ofoperations to manipulate or access

relations.

It is a procedural (or abstract) language

with operations performed on one or moreexisting relations to derive result(another)relations without changing the originalrelation(s).

Relational algebra consists of set ofrelational operators.

Each operator has one or more relations as

Page 3: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 3/36

Eight operations were proposed by Dr.

Codd and these eight operators aredivided into the following two categories.

!) "et#theoretic operations

$) %ative relational operations.

Page 4: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 4/36

"et#theoretic operations ma&e use of thefact that tables are essentially sets of rows.

 'here are four set#theoretical operations

!) %I%

$) I%'ER"EC'I%

*) DI++ERE%CE

,) -RDC'

Page 5: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 5/36

%ative Relational peration focuses on the

structure of the rows.

 'here are four native relational operations

!) -REC'I%

$) "E/EC'I%

*) I%

,) DI0I"I%

Page 6: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 6/36

!"ID LOCATION NO"O#"BINS $!ONE

12#34! 3356I $44 4$$#$*!,789

12#34$ :/:6'6 *44 4**#$789;!<

12#34* 3356I ,44 4$$#$*!789$

12#34, :/:6'6 $44 4**#$9;$<!4

12#347 DE/2I !44 4!!#$;<,879

RELATION% ARE!OUSE

Page 7: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 7/36

SELECTION O$ERATOR is used to extract(select) entire rows (tuples) from somerelation ( a table).

e.g.

"E/EC' 12#ID %#+#5I%" -2%Efrom 16RE2"Ewhere /C6'I%=>3356I? into R!

orR! = "E/EC' 12#ID %#+#5I%" -2%E

from 16RE2"E where /C6'I% =>3356I?

Page 8: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 8/36

!"ID NO"O#"BINS $!ONE

12#34! $44 4$$#$*!,789

12#34* ,44 4$$#$*!789$

RELATION% R&

Page 9: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 9/36

e.g."E/EC' @

from 16RE2"Ewhere /C6'I%=>3356I? into R$

or

R$ = "E/EC' from 16RE2"Ewhere /C6'I% = >3356I?

Page 10: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 10/36

!"ID LOCATION NO"O#"BINS $!ONE

12#34! 3356I $44 4$$#$*!,789

12#34* 3356I ,44 4$$#$*!789$

RELATION% R'

Page 11: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 11/36

e.g."E/EC' @

from 16RE2"Ewhere /C6'I%=>3356I? and %#+#

5I%"=$44 into R*

orR* = "E/EC' from 16RE2"E

where /C6'I%=>3356I? and %#+#5I%"=$44

Page 12: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 12/36

!"ID LOCATION NO"O#"BINS $!ONE

12#34! 3356I $44 4$$#$*!,789

RELATION% ARE!OUSE

Page 13: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 13/36

$RO(ECTION O$ERATION is used to extractentire column (attributes) from some relation

( a table).

It constructs a new relation from some existingrelation by selecting only speciAed attributes of

the existing relation and eliminating duplicatetuples in the newly formed relation.

e.g.

-REC' 16RE2"E% 12#ID/C6'I%-2%EI%' R,

or

R, = -REC' 16RE2"E 0ER 12#ID

Page 14: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 14/36

!"ID LOCATION $!ONE

12#34! 3356I 4$$#$*!,789

12#34$ :/:6'6 4**#$789;!<

12#34* 3356I 4$$#$*!789$

12#34, :/:6'6 4**#$9;$<!4

12#347 DE/2I 4!!#$;<,879

RELATION% R)

Page 15: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 15/36

e.g.-REC' 16RE2"E

% /C6'I%I%' R7or

R7 = -REC' 16RE2"E 0ER

/C6'I%

Page 16: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 16/36

LOCATION

3356I

:/:6'6

DE/2I

RELATION% R*

 'he relation R7 eliminate one

duplicate tuple.

Page 17: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 17/36

 (OINING O+eration is a method ofcombining two or more relations in asingle relation.

It brings together rows (tuples) from

diBerent relations (or tables) based on thetruth of some speciAed condition.

It is the most useful of all the relational

algebra operations.

Page 18: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 18/36

!"ID LOCATION NO"O#"BINS $!ONE

12#34! 3356I $44 4$$#$*!,789

12#34$ :/:6'6 *44 4**#$789;!<

12#34* 3356I ,44 4$$#$*!789$

12#34, :/:6'6 $44 4**#$9;$<!4

12#347 DE/2I !44 4!!#$;<,879

RELATION% ARE!OUSE

Considering the following two relations.

Page 19: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 19/36

!"ID ITE,"NO QT-  

12#34! $7 87

12#34$ $8 74

12#34* $9 *4

12#34, $7 77

12#347 $; ,7

RELATION% ITE,S

Page 20: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 20/36

%ow we can oin the two relations

16RE2"E and I'E3" using thecommon attributes 12#ID.

 I% 16RE2"E

1I'2 I'E3"% 12#IDInto R8

or

R8 = I% 16RE2"EI'E3" 0ER12#ID

Page 21: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 21/36

!"ID LOCATION

NO"O#"BINS

$!ONE ITE,"NO QT-  

12#34!

3356I $44 4$$#$*!,789

$7 87

12#34$

:/:6'6 *44 4**#$789;!<

$8 74

12#34*

3356I ,44 4$$#$*!789$

$9 *4

12#

34,

:/:6'6 $44 4**#

$9;$<!4

$7 77

12#347

DE/2I !44 4!!#$;<,879

$; ,7

Page 22: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 22/36

UNION O$ERATION of two table (orrelations) is the every row (tuple) that

appears in either( or both) of the tables.

 'he tables (or relations) on which it operatesmust contain the same number of columns(attributes).

If R and " have : and / tuples respectively

%I% is obtained by concatenating theminto one relation with maximum of (:/)tuples.

Page 23: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 23/36

!"ID LOCATION $!ONE

12#34! 3356I 4$$#$*!,789

12#34, :/:6'6 4**#$9;$<!4

12#347 DE/2I 4!!#$;<,879

RELATION% R.

!"ID LOCATION $!ONE

12#34! 3356I 4$$#$*!,789

12#34$ :/:6'6 4**#$789;!<

12#34, :/:6'6 4**#$9;$<!4

RELATION% R/

Page 24: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 24/36

%I% R;R<Into R!4

R

R!4 = %I% R;R<

!"ID LOCATION $!ONE

12#34! 3356I 4$$#$*!,789

12#34$ :/:6'6 4**#$789;!<

12#34, :/:6'6 4**#$9;$<!4

12#347 DE/2I 4!!#$;<,879

RELATION% R/

Page 25: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 25/36

DI##ERENCE O+erator subtracts fromthe Arst named relation (or table) those

tuples (rows) that appear in the secondnamed relation (or table) and create anew relation.

DI++ERE%CE R;R<Into R!4

or

R!4 = DI++ERE%CE R;R<

Page 26: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 26/36

!"ID LOCATION $!ONE

12#34! 3356I 4$$#$*!,789

12#34, :/:6'6 4**#$9;$<!4

12#347 DE/2I 4!!#$;<,879

RELATION% R.

!"ID LOCATION $!ONE

12#34! 3356I 4$$#$*!,789

12#34$ :/:6'6 4**#$789;!<

12#34, :/:6'6 4**#$9;$<!4

RELATION% R/

Page 27: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 27/36

!"ID LOCATION $!ONE

12#347 DE/2I 4!!#$;<,879

RELATION% R&0

Page 28: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 28/36

INTERSECTION O+erator selects only

those rows (tuples) that appear in both ofthe named relations (tables) .

I%'ER"EC'I% R;R<

Into R!!

or

R!! = I%'ER"EC'I% R; R<

Page 29: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 29/36

!"ID LOCATION $!ONE

12#34! 3356I 4$$#$*!,789

12#34, :/:6'6 4**#$9;$<!4

12#347 DE/2I 4!!#$;<,879

RELATION% R.

!"ID LOCATION $!ONE

12#34! 3356I 4$$#$*!,789

12#34$ :/:6'6 4**#$789;!<

12#34, :/:6'6 4**#$9;$<!4

RELATION% R/

Page 30: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 30/36

!"ID LOCATION $!ONE

12#34! 3356I 4$$#$*!,789

12#34, :/:6'6 4**#$9;$<!4

RELATION% R&&

Page 31: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 31/36

CARTESIAN $RODUCT perator (also

called Cross#-roduct) It ta&es each tuple(row) from the Arst named table (relation)and concatenates it with every row (tuple)of the second table (relation).

C6R'E"I6% -RDC' R!$ R!*Into R!,

or

R!, = C6R'E"I6% -RDC' R!$R!*

Page 32: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 32/36

!"ID LOCATION

12#34! 3356I

12#34, :/:6'6

RELATION% R&'

$ART"NA,E QT-  

DR3-ER !4

DRI// ,4

1E/DI% $7

RELATION% R&1

Page 33: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 33/36

!"ID LOCATION $ART"NA,E QT-  

12#34! 3356I DR3-ER !4

12#34! 3356I DRI// ,4

12#34! 3356I 1E/DI% $7

12#34, :/:6'6 DR3-ER !4

12#34, :/:6'6 DRI// ,4

12#34, :/:6'6 1E/DI% $7

RELATION% R&)

Page 34: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 34/36

DI2ISION O+eration is useful for a

particular type of Fuery that occurs FuitefreFuently in database applications.

Considering the two relations R!7 R!8

DI0I"I% R!7 R!8I%' R!9

RR!9 = DI0I"I% R!7 R!8

Page 35: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 35/36

E,$LO-EE LOCATION

:/G "G"'E3" 63"2ED-R

 'RI%I'G /'D. :/:6'6

:/G "G"'E3" 3356I

C%CE-' "26-ER 63"2ED-R

 'RI%I'G /'D. DE/2I

C%CE-' "26-ER DE/2I

C%CE-' "26-ER :/:6'6

RELATION% R&*

LOCATION

 63"2ED-R

DE/2I

RELATION%R&3

Page 36: 8-dbms

8/9/2019 8-dbms

http://slidepdf.com/reader/full/8-dbms 36/36

E,$LO-ERC%CE-' "26-ER

RELATION%R&4