43
Aljabar Relational Brigida Arie Minartiningtyas, M.Kom.

Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Aljabar Relational

Brigida Arie Minartiningtyas, M.Kom.

Page 2: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Bahasa query (Query language) merupakan suatu bahasa yang menyediakan fasilitas bagi user untuk mengakses informasi dari basis data

Page 3: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Bahasa Query Prosedural

• user menginstruksikan ke sistem agar membentuk serangkaianoperasi dalam basis data untuk mengeluarkan hasil yang diinginkan

• Aljabar Relational

Bahasa Query Non Prosedural

• user mendesktipsikan informasi yang diinginkan tanpamemberikan prosedur detail untuk menghasilkan informasitersebut

• Kalkulus Relational Tuple

Bahasa Query

Page 4: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Memiliki sejumlah operasi yang menggunakan satuatau beberapa relasi/tabel sebagai inputan danmenghasilkan sebuah relasi/tabel sebagaioutputnya

Aljabar Relational sebagai dasar dari bahasa inimerupakan suatu kumpulan operasi terhadaprelasi dimana setiap operasi menggunakan satuatau lebih relasi untuk menghasilkan suatu relasiyang baru

Operasi-operasi dasar dalam Aljabar Relational sendiri dibagi menjadi 2 (dua) yaitu

• Unary• Binary

Bahasa Query Prosedural

Page 5: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Unary (memerlukansatu relasi saja)

• Select• Project• Rename

Binary (membutuhkan lebih

dari satu relasi)

• Union• Set Difference• Cartessian Product

Operasi Dasar Aljabar Relational

Page 6: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

kode_mk mata_kuliah sks semesterIS_001 Database 3 3IS_002 Aljabar_Relational 2 3CA_003 Calculus 3 1CE_007 Citizenship 2 2

kd_dosen nama_dosen alamat tgl_lahirKML Komala Ratna Bandung N0.1 12-12-1984HRA Henry Rossi Jakarta No.37 11-11-1983HNP Hanung Jakarta No.57 10-10-1980DAN Dahliar Ananda Surabaya 90 9-9-1982

nim nama tempat_lahir tgl_lahir3010001 Ahmad Jakarta 3-3-19893010003 Nita Surabaya 4-4-19883010054 Richard Medan 1-1-19903010066 Amelia Jakarta 2-2-1990

kode_mk nim indeksIS_001 3010001 AIS_002 3010003 ACA_003 3010003 CCE_007 3010054 B

kuliah

dosen

mahasiswa

nilai

Page 7: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Operasi ini digunakan untuk mengambil sejumlah barisdata yang memenuhi predikat yang diberikan.

Dimana predikat tersebut sesuai dengan kondisi yang ingin diperoleh dalam operasi ini.

Predikat merupakan suatu ekspresi lojik sehinggadapat menggunakan operator-operator lojik seperti =, <, >, dan yang lainnya

Operasi Select

Page 8: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

kode_mk mata_kuliah sks semesterIS_001 Database 3 3IS_002 Aljabar_Relational 2 3CA_003 Calculus 3 1CE_007 Citizenship 2 2

kd_dosen nama_dosen alamat tgl_lahirKML Komala Ratna Bandung N0.1 12-12-1984HRA Henry Rossi Jakarta No.37 11-11-1983HNP Hanung Jakarta No.57 10-10-1980DAN Dahliar Ananda Surabaya 90 9-9-1982

nim nama tempat_lahir tgl_lahir3010001 Ahmad Jakarta 3-3-19893010003 Nita Surabaya 4-4-19883010054 Richard Medan 1-1-19903010066 Amelia Jakarta 2-2-1990

kode_mk nim indeksIS_001 3010001 AIS_002 3010003 ACA_003 3010003 CCE_007 3010054 B

kuliah

dosen

mahasiswa

nilai

Page 9: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

σ p = (E)data mahasiswa yang lahir di kota ‘Jakarta’

σ tempatlahir= “Jakarta” (mahasiswa)

Page 10: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

kode_mk mata_kuliah sks semesterIS_001 Database 3 3IS_002 Aljabar_Relational 2 3CA_003 Calculus 3 1CE_007 Citizenship 2 2

kd_dosen nama_dosen alamat tgl_lahirKML Komala Ratna Bandung N0.1 12-12-1984HRA Henry Rossi Jakarta No.37 11-11-1983HNP Hanung Jakarta No.57 10-10-1980DAN Dahliar Ananda Surabaya 90 9-9-1982

nim nama tempat_lahir tgl_lahir3010001 Ahmad Jakarta 3-3-19893010003 Nita Surabaya 4-4-19883010054 Richard Medan 1-1-19903010066 Amelia Jakarta 2-2-1990

kode_mk nim indeksIS_001 3010001 AIS_002 3010003 ACA_003 3010003 CCE_007 3010054 B

kuliah

dosen

mahasiswa

nilai

Page 11: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

σ sks>2 (kuliah)

data mata kuliah yang sksnya lebih besar dari 2

σ indeks>B (nilai)data nilai mahasiswa yang nilainya diatas B

Page 12: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Operasi ini digunakan untuk menampilkan field-field dari sebuah tabel atau relasi yang diinginkan

Dapat menampilkan satu atau lebih field darisebuah tabel/relasi

operasi yang dapat diprojeksikan bukan hanyadari tabel tetapi bisa juga dari suatu operasi/query

Operasi Project

Page 13: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

kode_mk mata_kuliah sks semesterIS_001 Database 3 3IS_002 Aljabar_Relational 2 3CA_003 Calculus 3 1CE_007 Citizenship 2 2

kd_dosen nama_dosen alamat tgl_lahirKML Komala Ratna Bandung N0.1 12-12-1984HRA Henry Rossi Jakarta No.37 11-11-1983HNP Hanung Jakarta No.57 10-10-1980DAN Dahliar Ananda Surabaya 90 9-9-1982

nim nama tempat_lahir tgl_lahir3010001 Ahmad Jakarta 3-3-19893010003 Nita Surabaya 4-4-19883010054 Richard Medan 1-1-19903010066 Amelia Jakarta 2-2-1990

kode_mk nim indeksIS_001 3010001 AIS_002 3010003 ACA_003 3010003 CCE_007 3010054 B

kuliah

dosen

mahasiswa

nilai

Page 14: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

π <daftar atribut > (<nama tabel>)atau

π s (E)

data nim dan mahasiswa yang lahir di kota ‘Jakarta’

π <nim,nama_mahasiswa > (mahasiswa)

Page 15: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

kode_mk mata_kuliah sks semesterIS_001 Database 3 3IS_002 Aljabar_Relational 2 3CA_003 Calculus 3 1CE_007 Citizenship 2 2

kd_dosen nama_dosen alamat tgl_lahirKML Komala Ratna Bandung N0.1 12-12-1984HRA Henry Rossi Jakarta No.37 11-11-1983HNP Hanung Jakarta No.57 10-10-1980DAN Dahliar Ananda Surabaya 90 9-9-1982

nim nama tempat_lahir tgl_lahir3010001 Ahmad Jakarta 3-3-19893010003 Nita Surabaya 4-4-19883010054 Richard Medan 1-1-19903010066 Amelia Jakarta 2-2-1990

kode_mk nim indeksIS_001 3010001 AIS_002 3010003 ACA_003 3010003 CCE_007 3010054 B

kuliah

dosen

mahasiswa

nilai

Page 16: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Data nim dan mahasiswa yang lahir di kota ‘Jakarta’

π <nim,nama_mahasiswa > (σ tempatlahir= “Jakarta” (mahasiswa))

π <kode_mk,nim > (σ nilai>B (nilai))Data kode mata kuliah dan nim yang boleh mengikuti perbaikan

nim nama tempat_lahir tgl_lahir3010001 Ahmad Jakarta 3-3-19893010003 Nita Surabaya 4-4-19883010054 Richard Medan 1-1-19903010066 Amelia Jakarta 2-2-1990

kode_mk nim indeksIS_001 3010001 AIS_002 3010003 ACA_003 3010003 CCE_007 3010054 B

mahasiswa

nilai

Page 17: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Operasi ini adalah operasi yang bisa digunakanuntuk menggabungkan data dari dua buahtabel atau hasil query

Semua record di Tabel/Relasi 1 akandigabungkan dengan record di Tabel/Relasi 2 dan hasilnya akan menampilkan semua recordyang ada di tabel/Relasi 1 dan Tabel/Relasi 2

Operasi Cartesian Product

Page 18: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

kode_mk mata_kuliah sks semesterIS_001 Database 3 3IS_002 Aljabar_Relational 2 3CA_003 Calculus 3 1CE_007 Citizenship 2 2

kd_dosen nama_dosen alamat tgl_lahirKML Komala Ratna Bandung N0.1 12-12-1984HRA Henry Rossi Jakarta No.37 11-11-1983HNP Hanung Jakarta No.57 10-10-1980DAN Dahliar Ananda Surabaya 90 9-9-1982

nim nama tempat_lahir tgl_lahir3010001 Ahmad Jakarta 3-3-19893010003 Nita Surabaya 4-4-19883010054 Richard Medan 1-1-19903010066 Amelia Jakarta 2-2-1990

kode_mk nim indeksIS_001 3010001 AIS_002 3010003 ACA_003 3010003 CCE_007 3010054 B

kuliah

dosen

mahasiswa

nilai

Page 19: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

E1 X E2

σ indeks= ‘A’ (t_nilai x t_kuliah)

data dari tabel kuliah dan tabel nilai yang mendapatkan indeks “A”

Page 20: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Pada umumnya operasi cartesian product ini tidak berdiri sendiri, biasanyadikombinasikan atau digabung dengan operasi select dan project dengan semuaketentuannya sesuai dengan apa yang ingin ditampilkan sebagai hasil query-nya

Pada dasarnya untuk melihat adanya satu keterhubungan antara satu tabeldengan tabel yang lainnya adalah ditandai dengan adanya satu field yang sama

• Misal antara t_kuliah dan t_nilai (tabel kuliah dan tabel nilai) sama-sama memiliki field kode_mk

Jika ingin menampilkan hasil dari suatu query dimana tidak ada relasi langsungantar tabel-tabel yang terkait (tidak ada field yang sama) maka bisa kita libatkantabel lain yang memiliki keterhubungan antara tabel tersebut

• Contoh untuk menghasilkan list mahasiswa yang mengambil mata kuliah IS_001

Tabel kuliah dan tabel mahasiswa tidak memiliki keterhubungan secara langsungtetapi keterhubungannya dapat dilihat dari tabel nilai

Page 21: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

π <NIM > (σ kuliah.kode_mk=nilai.kode_mk п kode_mk = “IS_001” (nilai x kuliah))

kode_mk mata_kuliah sks semesterIS_001 Database 3 3IS_002 Aljabar_Relational 2 3CA_003 Calculus 3 1CE_007 Citizenship 2 2

kode_mk nim indeksIS_001 3010001 AIS_002 3010003 ACA_003 3010003 CCE_007 3010054 B

kuliah

nilai

Operasi Cartesian Product tidak berdiri sendiri tetapi melibatkan operasi-operasi yang lainnya untuk mendapatkan hasil query yang diinginkan

Page 22: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

kode_mk mata_kuliah sks semesterIS_001 Database 3 3IS_002 Aljabar_Relational 2 3CA_003 Calculus 3 1CE_007 Citizenship 2 2

kd_dosen nama_dosen alamat tgl_lahirKML Komala Ratna Bandung N0.1 12-12-1984HRA Henry Rossi Jakarta No.37 11-11-1983HNP Hanung Jakarta No.57 10-10-1980DAN Dahliar Ananda Surabaya 90 9-9-1982

nim nama tempat_lahir tgl_lahir3010001 Ahmad Jakarta 3-3-19893010003 Nita Surabaya 4-4-19883010054 Richard Medan 1-1-19903010066 Amelia Jakarta 2-2-1990

kode_mk nim indeksIS_001 3010001 AIS_002 3010003 ACA_003 3010003 CCE_007 3010054 B

kuliah

dosen

mahasiswa

nilai

Page 23: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Operasi yang menggabungkan semua barisdari dua buah tabel dan kedua tabel tersebutharus sesuai atau memiliki hasil projeksiyang sama.

Dimana akan mengasilkan tabel ketiga.

Operasi Union

Page 24: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

kode_mk mata_kuliah sks semesterIS_001 Database 3 3IS_002 Aljabar_Relational 2 3CA_003 Calculus 3 1CE_007 Citizenship 2 2

kd_dosen nama_dosen alamat tgl_lahirKML Komala Ratna Bandung N0.1 12-12-1984HRA Henry Rossi Jakarta No.37 11-11-1983HNP Hanung Jakarta No.57 10-10-1980DAN Dahliar Ananda Surabaya 90 9-9-1982

nim nama tempat_lahir tgl_lahir3010001 Ahmad Jakarta 3-3-19893010003 Nita Surabaya 4-4-19883010054 Richard Medan 1-1-19903010066 Amelia Jakarta 2-2-1990

kode_mk nim indeksIS_001 3010001 AIS_002 3010003 ACA_003 3010003 CCE_007 3010054 B

kuliah

dosen

mahasiswa

nilai

Page 25: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

E1 U E2

Data nama dosen dan mahasiswa

Π nama_dosen(dosen)dan

Π nama (mahasiswa)

Π nama_dosen(dosen) U Π nama(mahasiswa)

Page 26: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

kode_mk mata_kuliah sks semesterIS_001 Database 3 3IS_002 Aljabar_Relational 2 3CA_003 Calculus 3 1CE_007 Citizenship 2 2

kd_dosen nama_dosen alamat tgl_lahirKML Komala Ratna Bandung N0.1 12-12-1984HRA Henry Rossi Jakarta No.37 11-11-1983HNP Hanung Jakarta No.57 10-10-1980DAN Dahliar Ananda Surabaya 90 9-9-1982

nim nama tempat_lahir tgl_lahir3010001 Ahmad Jakarta 3-3-19893010003 Nita Surabaya 4-4-19883010054 Richard Medan 1-1-19903010066 Amelia Jakarta 2-2-1990

kode_mk nim indeksIS_001 3010001 AIS_002 3010003 ACA_003 3010003 CCE_007 3010054 B

kuliah

dosen

mahasiswa

nilai

Page 27: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Data nama dan tanggal lahir dari dosen dan mahasiswa

Π nama_dosen, tgl_lahir(dosen) U Π nama, tgl_lahir(mahasiswa)

Data dosen dan mahasiswaσ (dosen) U σ(mahasiswa)

kd_dosen nama_dosen alamat tgl_lahirKML Komala Ratna Bandung N0.1 12-12-1984HRA Henry Rossi Jakarta No.37 11-11-1983HNP Hanung Jakarta No.57 10-10-1980DAN Dahliar Ananda Surabaya 90 9-9-1982

nim nama tempat_lahir tgl_lahir3010001 Ahmad Jakarta 3-3-19893010003 Nita Surabaya 4-4-19883010054 Richard Medan 1-1-19903010066 Amelia Jakarta 2-2-1990

dosen

mahasiswa

Page 28: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

E1 dan E2 harus memiliki jumlahatribut/field yang sama

Field dari E1 dan field dari E2 harusberasal dari domain yang sama

Untuk melakukan suatu operasi unio tabel-tabel tersebut harusbisa unio compatible. Tabel disebut Unio Compatible jika :

Page 29: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Operasi Set Difference

E1 – E2

Operasi ini merupakan kebalikan dari operasi unio, dimana terjadipengurangan data ditabel pertama oleh data dari tabel kedua

Page 30: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Dapat dikatakan juga bahwa operasi adalah operasi terhadap relasi yang terdiri darisemua baris di T1, tetapi tidak ada di T2

Operasi ini juga memiliki syarat yang sama dengan operasi Unio yaitu harus UnioCompatible

Page 31: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

kode_mk mata_kuliah sks semesterMI_002 Kalkulus 3 1MI_002 Aljabar Linear 2 2CA_001 Database 4 2CE_003 Java 3 3

kode_mk mata_kuliah sks semesterMI_002 Kalkulus 3 1MI_002 Aljabar Linear 2 2TK_001 English 2 2 2CE_007 Software 3 3

Π mata_kuliah(kuliah_MI) – mata_kuliah(kuliah_TK)

kuliah_MI

kuliah_TK

Page 32: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Operasi ini akan menemukan tuple-tuple yang berada padasatu relasi tetapi tidak berada pada relasi yang Lainnya

mata_kuliahDatabaseJava

Page 33: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Operasi intersection adalah operasi yang mendapatkan ataumenyatakan irisan dari dua buah tabel/query

Operasi Intersection

E1 E2

E1 – (E1-E2)atau

Page 34: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

kode_mk mata_kuliah sks semesterIS_001 Database 3 3IS_002 Aljabar_Relational 2 3CA_003 Calculus 3 1CE_007 Citizenship 2 2

kd_dosen nama_dosen alamat tgl_lahirKML Komala Ratna Bandung N0.1 12-12-1984HRA Henry Rossi Jakarta No.37 11-11-1983HNP Hanung Jakarta No.57 10-10-1980DAN Dahliar Ananda Surabaya 90 9-9-1982

nim nama tempat_lahir tgl_lahir3010001 Ahmad Jakarta 3-3-19893010003 Nita Surabaya 4-4-19883010054 Richard Medan 1-1-19903010066 Amelia Jakarta 2-2-1990

kode_mk nim indeksIS_001 3010001 AIS_002 3010003 ACA_003 3010003 CCE_007 3010054 B

kuliah

dosen

mahasiswa

nilai

Page 35: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Data nim yang nilainya sudah masuk ke table nilai

Π nim(mahasiswa) nim(nilai)

Π nim(mahasiswa) –(Π nim(mahasiswa)- Π nim(nilai)

atau

kode_mk nim indeksIS_001 3010001 AIS_002 3010003 ACA_003 3010003 CCE_007 3010054 B

nilai

nim nama tempat_lahir tgl_lahir3010001 Ahmad Jakarta 3-3-19893010003 Nita Surabaya 4-4-19883010054 Richard Medan 1-1-19903010066 Amelia Jakarta 2-2-1990

mahasiswa

Page 36: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

E1 E2 menghasilkan suatu relasiyang berisi instan – instan yang terjadi baik pada E1 dan E2

Relasi E1 dan E2 harus Unio –Compatible

Page 37: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Merupakan operasi yang digunakan untukmengabungkan informasi dari dua atau lebih relasi

Memungkinkan untuk mengkom- binasikan informasidari dua tabel atau lebih

Memiliki kemampuan nyata untuk mendukung basis data relasional, memungkinkan penggunaan tabel independenyang dihubungkan melalui atribut yang sama

Operasi Join

Page 38: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

R |x|<kondisi join> S

<kondisi> AND <kondisi> AND … AND <kondisi>

Kondisi join dalam bentuk :

Operator pembandingan yang digunakan :

=, <, ≤, >, ≥, ≠

Page 39: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Natural Join

• Menghubungkan tabel dengan memilih hanya record dengan nilai yang digunakan bersama-samapada atribut yang sama

• Menghasilkan tiga tahapan proses:

• Product

• Select

• Project

EquiJoin

• Menghubungkan tabel didasarkan pada kondisi yang sama dengan memban-dingkan kolomtertentu setiap tabel.

• Hasil equijoin tidak menghilangkan kolom duplikat dan kondisi atau kriteria penggabungan tabelharus terdefinisi secara eksplisit.

Theta Join

• Equijoin yang membandingkan kolom tertentu setiap tabel menggunakan operator pembandingselain operator sama dengan

Outer Join

• Pasangan data yang tidak cocok akan tetap dipertahankan dan nilai untuk tabel lainnya yang tidak cocok akan dibiarkan kosong.

• Outer join sendiri terdiri dari tiga jenis, yaitu left outer join, right outer join, dan full outer join.

Page 40: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Left Outer Join

• Menjadikan tabel/hasil query disebelah kiri simbol operasi, sehingga dapat melihat semua baris data ditabel/hasil query yang pertama baik yang memiliki relasi ataupun tidak dengan tabel/hasil query kedua

Right Outer Join

• Merupakan kebalikan dari operasi left outer join.

Full Outer Join

• Merupakan gabungan dari operasi left outer join dan right outer join.

• Menghasilkan semua baris data di kedua tabel/hasil query yang memiliki relasi ataupun tidak

Outer Join

Page 41: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Melakukan penggabungan nilai dari suatu query dan kemudian menyajikannya sebagai sebuah nilai.

Dapat dijalankan jika atau pada atribut-atribut yang bersifat numerik

Fungsi Agregasi

Page 42: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

SUM

• menjumlah nilai dari suatu atribut

AVERAGE

• mencari rata-rata nilai dari suatu atribut

MAXIMUM

• mencari nilai paling besar dari suatu atrbut

MINIMUM

• mencari nilai paling besar dari suatu atribut

COUNT

• menghitung jumlah record

COUNT DISTINCT

• menghitung jumlah record

Page 43: Aljabar Relational€¦ · sebuah tabel/relasi operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query Operasi Project. kode_mk mata_kuliah

Barang

Pelanggan

Karyawan Transaksi

Detail_Transaksi