You are on page 1of 47

Relational Algebra

EC601 Database System

Introduction
Relational Algebra The Relational Algebra is used to define the ways in which relations (tables) can be operated to manipulate their data. This Algebra is composed of Unary operations (involving a single table) and Binary operations (involving multiple tables). In other word, relational algebra used mathematical concept to manipulate the data.

Purpose
Relational Algebra

Meet Demand Achieving Information Make Enquiry

Relational Algebra
Unary operation: SELECTION(), PROJECTION(), JOIN(R Binary operation:
S)

UNION(), INTERSECTION(), DIFFERENCE( - ), CARTESAN PRODUCT( X ).

Definition

Relational Algebra

Sets of operation to manipulate the overall relationship. Unary opertaions: SELECTION ( ) PROJECTION () JOIN ( R S) Binary operation using mathematical theory: UNION () INTERSECTION () DIFFERENCE ( - ) CARTESIAN PRODUCT ( x )

Unary Operation
Relational Algebra

SELECT ()
Operation

Example 1: Sample Database SUPPLIERS-PROJECT-AREA


SUPPLIER
SNO SNAME STATUS 35 30 20 30 20 SCITY KUANTAN ALOR SETAR TAPAH ALOR SETAR KUANTAN S12345 AHMAD S59231 SAIFUL S93758 AMRAN S46452 BAHRAIN S10975 TAN CHENG LOCK

PROJECT
PNO PNAME PCITY KUANTAN TAPAH ALOR SETAR ALOR SETAR ALOR SETAR KUANTAN P001 SORTER P012 PUNCH P007 READER P325 CONSOLE P251 TERMINAL P195 TAPE ANAME BERAT 11 12 ACITY KUANTAN KANGAR

AREA
ANO A1001 A1123 NAT BOLT

A1004
A1075 A1234

SKRU
KAM KOG

15
17 18

ALOR SETAR
IPOH TAPAH

SELECT ()
Operation
Operation untuk keluarkan rekod yang memenuhi condition yang ditetapkan dari satu hubungan (table) tertentu Syntax : <condition> (tablename) Example 1 : Dapatkan rekod SUPPLIER dari KUANTAN yang mempunyai nilai STATUS > 15.

<condition> (tablename)

(STATUS >15 AND SCITY=KUANTAN) (SUPPLIER)

SELECT ()
Operation
SUPPLIER
SNO SNAME STATUS 35 SCITY KUANTAN S12345 AHMAD

S10975 TAN CHENG LOCK

20

KUANTAN

Rekod SUPPLIER dari KUANTAN yang mempunyai nilai STATUS > 15

Example 2: Sample Database SUPPLIERS-PROJECT-AREA


SUPPLIER
SNO SNAME STATUS 35 30 20 30 20 SCITY KUANTAN ALOR SETAR TAPAH ALOR SETAR KUANTAN S12345 AHMAD S59231 SAIFUL S93758 AMRAN S46452 BAHRAIN S10975 TAN CHENG LOCK

PROJECT
PNO PNAME PCITY KUANTAN TAPAH ALOR SETAR ALOR SETAR ALOR SETAR KUANTAN P001 SORTER P012 PUNCH P007 READER P325 CONSOLE P251 TERMINAL P195 TAPE ANAME BERAT 11 12 ACITY KUANTAN KANGAR

AREA
ANO A1001 A1123 NAT BOLT

A1004
A1075 A1234

SKRU
KAM KOG

15
17 18

ALOR SETAR
IPOH TAPAH

SELECT ()
Operation
Syntax :

<condition> (tablename)
Example 2 : Dapatkan rekod AREA yang mempunyai BERAT<15 dari CITY KUANTAN atau BERAT<19 dari CITY TAPAH

<condition> (tablename)

(BERAT <15 AND ACITY=KUANTAN)


OR (BERAT <19AND ACITY=TAPAH) (AREA)

SELECT ()
Operation
AREA
ANO A1001 NAT ANAME BERAT 11 ACITY KUANTAN

A1234

KOG

18

TAPAH

Rekod AREA dengan BERAT < 15 dari CITY KUANTAN atau BERAT < 19 dari CITY TAPAH

PROJECT ()
Operation

Example 3: Sample Database SUPPLIERS-PROJECT-AREA


SUPPLIER
SNO SNAME STATUS 35 30 20 30 20 SCITY KUANTAN ALOR SETAR TAPAH ALOR SETAR KUANTAN S12345 AHMAD S59231 SAIFUL S93758 AMRAN S46452 BAHRAIN S10975 TAN CHENG LOCK

PROJECT
PNO PNAME PCITY KUANTAN TAPAH ALOR SETAR ALOR SETAR ALOR SETAR KUANTAN P001 SORTER P012 PUNCH P007 READER P325 CONSOLE P251 TERMINAL P195 TAPE ANAME BERAT 11 12 ACITY KUANTAN KANGAR

AREA
ANO A1001 A1123 NAT BOLT

A1004
A1075 A1234

SKRU
KAM KOG

15
17 18

ALOR SETAR
IPOH TAPAH

PROJECT ()
Operation
Operation untuk keluarkan attribute tertentu dari hubungan (table) tertentu. Syntax : <condition> (tablename) Example 3 : Dapatkan nilai BERAT and CITY bagi AREA yang dibekalkan di mana NAME AREA ialah skru. <senarai attribute> (tablename)
(AERAT, ACITY) ( ANAME=SKRU) (AREA)

PROJECT ()
Operation
AREA
AERAT 15 ACITY ALOR SETAR

JOIN
Operation

R (

S)

Example 4: Sample Database SUPPLIERS-PROJECT-AREA


SUPPLIER
SNO SNAME STATUS 35 30 20 30 20 SCITY KUANTAN ALOR SETAR TAPAH ALOR SETAR KUANTAN S12345 AHMAD S59231 SAIFUL S93758 AMRAN S46452 BAHRAIN S10975 TAN CHENG LOCK

PROJECT
PNO PNAME PCITY KUANTAN TAPAH ALOR SETAR ALOR SETAR ALOR SETAR KUANTAN P001 SORTER P012 PUNCH P007 READER P325 CONSOLE P251 TERMINAL P195 TAPE ANAME BERAT 11 12 ACITY KUANTAN KANGAR

AREA
ANO A1001 A1123 NAT BOLT

A1004
A1075 A1234

SKRU
KAM KOG

15
17 18

ALOR SETAR
IPOH TAPAH

JOIN (R

Operation

S)

Operation yang gabung rekod dari dua hubungan untuk menjadi satu tupel jika condition tertentu dipenuhi Syntax :
R (condition) S = (condition) (RxS)

Example 4 : S SCITY = ACITY A


SNO S12345 S59231 S93758 S46452 S10975 SNAME AHMAD SAIFUL AMRAN BAHRAIN TAN CHENG LOCK STATUS 35 30 20 30 20 SCITY KUANTAN ALOR SETAR TAPAH ALOR SETAR KUANTAN ANO A100 1 A100 4 A123 4 A100 4 A100 ANAME NAT SKRU KOG SKRU NAT BERAT 11 15 18 15 11 ACITY KUANTAN ALOR SETAR TAPAH ALOR SETAR KUANTAN

Binary operations
Relational Algebra

DEFINISI

Binary operations

Union Compatible Kedua-dua hubungan mempunyai : Bilangan attribute yang sama Domain yang sama Set Operation HANYA boleh dijalankan JIKA kedua-dua hubungan tersebut adalah Union Compatible

Two Relationship Union Compatible


BIL 1 2 3 4 5 YATI SHAM AZRUL NORMA NAME SUHAILA UMUR 23 27 30 17 21 BIL 1 2 3 4 5 FATIN SHAM AZLI NORMA NAME SUHAILA UMUR 23 28 30 15 21

UNION ()
Operation

UNION ()
Operation
Satu hubungan yang mengandungi SEMUA rekod dalam A atau B dalam kedua-dua hubungan A and B Rekod berulang akan dihapuskan Example : A B

UNION ()
Operation
BIL 1 2 3 4 YATI SHAM AZRUL

Example : A B
NAME SUHAILA UMUR 23 27 30 17

5
6 7

NORMA
FATIN AZLI

21
28 15

Two Relationship Union Compatible


BIL 1 2 3 4 5 YATI SHAM AZRUL NORMA NAME SUHAILA UMUR 23 27 30 17 21 BIL NAME UMUR

1
2 3

SUHAILA
FATIN SHAM

23
28 30

4
5

AZLI
NORMA

15
21

INTERSECTION ()
Operation
Satu hubungan yang mengandungi semua rekod yang terdapat dalam hubungan A and B. Example : A B

INTERSECTION ()
Operation
BIL 1 2 3 SHAM NORMA

Example : A B
NAME SUHAILA UMUR 23 30 21

Two Relationship Union Compatible

BIL 1 2 YATI

NAME SUHAILA

UMUR 23 27

BIL 1 2 3 4 FATIN SHAM AZLI

NAME SUHAILA

UMUR 23 28 30 15

3
4 5

SHAM
AZRUL NORMA

30
17 21

NORMA

21

DIFFERENCE ( - )
Operation
Satu hubungan yang mengandungi semua rekod yang terdapat dalam hubungan A tetapi tiada dalam B. Example : A - B

DIFFERENCE ( - )
Operation
Example : A - B
BIL 1 2 YATI AZRUL NAME UMUR 27 17

CARTESIAN PRODUCT (X)


Operation
Is a one relationship that contain all attribute in their relationship R1 and R2 and also contain all record that maybe contain from R1 and R2. STUDENT (R1)
NO PEND
10DTK001 10DTK112 10DTK006 10DTK118

GRED (R2)
KURSUS
Tek Maklumat Tek Komputer Tek Maklumat Tek Komputer

NAME
Suriati Marina Shafika Iskandar

NO PEND KOD_M/P GRED


10DTK001 10DTK112 10DTK112 10DTK007 F404 E413 E412 E411 2.67 3.00 3.33 2.00

CARTESIAN PRODUCT (X)


Operation
NO_PEND 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 DIT 001 DIT 001 DIT 001 DIT 001 DTK 112 DTK 112 DTK 112 DTK 112 DIT 006 DIT 006 DIT 006 DIT 006 DTK 118 DTK 118 DTK 118 DTK 118 NAME Suriati Suriati Suriati Suriati Marina Marina Marina Marina Shafika Shafika Shafika Shafika Iskandar Iskandar Iskandar Iskandar KURSUS Teknologi Teknologi Teknologi Teknologi Teknologi Teknologi Teknologi Teknologi Teknologi Teknologi Teknologi Teknologi Teknologi Teknologi Teknologi Teknologi Maklumat Maklumat Maklumat Maklumat Komputer Komputer Komputer Komputer Maklumat Maklumat Maklumat Maklumat Komputer Komputer Komputer Komputer NO_PEND 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 DIT 001 DTK 112 DTK 112 DTK 007 DIT 001 DTK 112 DTK 112 DTK 007 DIT 001 DTK 112 DTK 112 DTK 007 DIT 001 DTK 112 DTK 112 DTK 007 KOD_M/P F 404 E 413 E 412 E 411 F 404 E 413 E 412 E 411 F 404 E 413 E 412 E 411 F 404 E 413 E 412 E 411 GRED 2.67 3.00 3.33 2.00 2.67 3.00 3.33 2.00 2.67 3.00 3.33 2.00 2.67 3.00 3.33 2.00

CARTESIAN PRODUCT (X)


Operation
Name list and grade for each student subjects.
NAME
Suriati Marina

KOD_M/P GRED
F404 E413 2.67 3.00

Marina

E412

3.33

Conclusion

Exercise
Relational Algebra

STUDENT
NOID

Exercise 1 Database STUDENT-SUBJECT


PNAME KURSUS KETURUNAN
DTK DKE DTK DTK DKE DKE KOD MELAYU CINA CINA MELAYU INDIA MELAYU M/P SISTEM KOMPUTER AMALI KEJURUTERAAN 2 TEKNOLOGI ELEKTRIK PENGATURCARAAN MIKROP

BERAT
48 57 40 65 68 53 KREDIT 02 03 03 02 03

06DTKF012 JULIA 06DKEF056 CHAN CHEE LI 06DTKF103 TAN AH BEE 06DTKF058 SAIFUL 06DKEF027 RAJEEV 06DKEF105 RIZAL

SUBJECT E4161
E2003 E3001 E3062 E4160

Exercise Unary Operation


Question 1: Dapatkan rekod STUDENT berketurunan MELAYU yang mempunyai BERAT > 55. Question 2: Dapatkan rekod STUDENT berketurunan MELAYU dari KURSUS DKE atau berketurunan CINA dari kursus DTK. Question 3: Dapatkan KOD and MP bagi SUBJECT di mana KREDIT adalah 03.

Answer
Question 1 : Dapatkan rekod STUDENT berketurunan MELAYU yang mempunyai BERAT > 55.
(KETURUNAN=MELAYU AND BERAT>55) (STUDENT)
NOID 06DTKF058 PNAME SAIFUL KURSUS DTK KETURUNAN MELAYU BERAT 65

Answer
Question 2 : Dapatkan rekod STUDENT berketurunan MELAYU dari KURSUS DKE atau berketurunan CINA dari kursus DTK.

(KETURUNAN=CINA AND KURSUS=DTK) (STUDENT)


NOID 06DKEF105 06DTKF103 PNAME RIZAL TAN AH BEE KURSUS DKE DTK KETURUNAN MELAYU CINA BERAT 53 40

(KETURUNAN=MELAYU AND KURSUS=DKE) OR

Answer
Question 3 : Dapatkan KOD and MP bagi SUBJECT di mana KREDIT adalah 03.

(KOD,MP) ( KREDIT = 03) (SUBJECT)


KOD M/P KREDIT 03 03 03

E2003 AMALI KEJURUTERAAN 2 E3001 TEKNOLOGI ELEKTRIK E4160 MIKROP

Exercise 2 Database STUDENT 1 and STUDENT 2


NOID PNAME KURSUS KETURUNAN BERAT

06DTKF012 JULIA
06DKEF056 CHAN CHEE LI 06DTKF103 TAN AH BEE 06DTKF058 SAIFUL 06DKEF027 RAJEEV 06DKEF105 RIZAL NOID PNAME

DTK
DKE DTK DTK DKE DKE

MELAYU
CINA CINA MELAYU INDIA MELAYU

48
57 40 65 68 53 BERAT 48 60 40

STUDENT 1

KURSUS KETURUNAN DTK DTK DTK MELAYU MELAYU CINA

06DTKF012 JULIA 06DTKF069 DANISH IQBAL 06DTKF103 TAN AH BEE

STUDENT 2

06DTKF037 ANDY LAU 06DKEF074 SALMAN KHAN


06DKEF105 RIZAL

DTK DKE
DKE

CINA INDIA
MELAYU

61 62
53

Exercise Binary Operation


Question 1: STUDENT 1 STUDENT 2. List down the answer. Question 2: STUDENT 1 STUDENT 2. List down the answer. Question 3: STUDENT 1 STUDENT 2. List down the answer.

Answer
Question 1 : STUDENT 1 STUDENT 2. List down the answer.
NOID PNAME KURSUS KETURUNAN DTK DKE DTK DTK DKE MELAYU CINA CINA MELAYU INDIA BERAT 48 57 40 65 68 06DTKF012 JULIA 06DKEF056 CHAN CHEE LI 06DTKF103 TAN AH BEE 06DTKF058 SAIFUL 06DKEF027 RAJEEV

06DKEF105 RIZAL
06DTKF069 DANISH IQBAL 06DTKF037 ANDY LAU 06DKEF074 SALMAN KHAN

DKE
DTK DTK DKE

MELAYU
MELAYU CINA INDIA

53
60 61 62

Answer
Question 2 : STUDENT 1 STUDENT 2. List down the answer.
NOID PNAME KURSUS KETURUNAN DTK MELAYU BERAT 48 06DTKF012 JULIA

06DTKF103 TAN AH BEE


06DKEF105 RIZAL

DTK
DKE

CINA
MELAYU

40
53

Answer
Question 3 : STUDENT 1 STUDENT 2. List down the answer.
NOID PNAME KURSUS KETURUNAN DKE DTK DKE CINA MELAYU INDIA BERAT 57 65 68 06DKEF056 CHAN CHEE LI 06DTKF058 SAIFUL 06DKEF027 RAJEEV

You might also like