You are on page 1of 40

Perintah MySQL untuk Menampilkan Data dari Beberapa Tabel

Di dalam suatu RDBMS termasuk MySQL, tentunya sudah menjadi suatu kewajaran jika dalam satu database dapat terdiri dari beberapa tabel. Masing-masing tabel tersebut dapat berhubungan (berelasi) satu sama lain. Relasi antar-tabel dapat berupa relasi 1-1 (one-to-one), 1-M (one-tomany), atau M-N (many-to-many). Sebagai contoh terlihat pada gambar pemodelan data konseptual (class diagram) di bawah ini. Tabel pelanggan berhubungan dengan pesan, pesan dengan barang, dsb. Pada pembuatan suatu aplikasi, terkadang kita juga memerlukan tampilan data yang tidak hanya berasal dari 1 (satu) tabel, namun bisa dari beberapa tabel sekaligus. Contohnya, dari class diagram di bawah, kita ingin menampilkan nama pelanggan berikut transaksi yang pernah dilakukannya. Dari contoh tersebut, kita harus bisa menggabungkan minimal dua tabel, yaitu pelanggan dan pesan. Untuk menggabungkan 2 (dua) atau lebih tabel, kita dapat menggunakan bentuk perintah JOIN. Dalam tutorial ini, akan dijelaskan secara bertahap mengenai bagaimana menggabungkan dua tabel atau lebih, terutama untuk menampilkan data yang berasal dari beberapa tabel. Contoh-contoh dalam tutorial ini secara khusus telah dicoba di database MySQL, namun demikian secara umum perintah penggabungan tabel di semua jenis database tidak jauh berbeda alias sama. Sebelum belajar mengenai perintah penggabungan tabel, perlu dipersiapkan tabel-tabel yang akan dijadikan sebagai bahan latihan dan contoh dalam tutorial ini. Kita akan menggunakan tabel rancangan sistem pemesanan barang (pembelian) sederhana berikut ini. Untuk membuatnya, Anda dapat menggunakan tools seperti PHPMyAdmin dan MySQLFront atau dapat juga melalui command-prompt. Jika diperlukan, pelajari kembali postingan saya sebelumnya mengenai administrasi database MySQL dengan PHPMyAdmin dan juga dasar-dasar perintah SQL. Jangan lupa isikan beberapa contoh data ke tabel-tabel yang sudah Anda buat.

Contoh Class Diagram Sistem Pembelian


1. Inner Join

Dengan inner join, tabel akan digabungkan dua arah, sehingga tidak ada data yang NULL di satu sisi. Sebagai contoh, kita akan menggabungkan tabel pelanggan dan pesan dimana kita akan menampilkan daftar pelanggan yang pernah melakukan pemesanan (transaksi). Misalkan isi tabel pelanggan dan pesan adalah sebagai berikut : Tabel pelanggan (hanya ditampilkan field id_pelanggan, nm_pelanggan dan email)

Contoh isi tabel pelanggan Tabel pesan.

Contoh isi tabel pesan Cara #1. Inner Join dengan WHERE. Penggabungan dengan klausa WHERE memiliki bentuk umum sebagai berikut:
SELECT tabel1.*, tabel2.* FROM tabel1, tabel2 WHERE tabel1.PK=tabel2.FK;

Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan, pesan WHERE pelanggan.id_pelanggan=pesan.id_pelanggan;

Hasilnya sebagai berikut:

Hasil Penggabungan 2 Tabel dengan WHERE Pada hasil perintah query di atas terlihat bahwa terdapat 5 (lima) transaksi yang dilakukan oleh 3 (tiga) orang pelanggan. Jika kita lihat kembali isi tabel pelanggan di atas, maka terdapat satu pelanggan yang tidak ditampilkan yaitu yang memiliki id pelanggan P0003. Pelanggan tersebut tidak ditampilkan karena belum pernah melakukan transaksi. Cara #1. Inner Join dengan klausa INNER JOIN.

Berikut ini bentuk umumnya:


SELECT tabel1.*, tabel2.* FROM tabel1 INNER JOIN tabel2 ON tabel1.PK=tabel2.FK;

Dan berikut ini perintah SQL penggabungan tabel pelanggan dan pesan.
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan INNER JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;

Hasilnya akan sama dengan gambar di atas (cara #1).


2. Outer Join

Dengan outer join, tabel akan digabungkan satu arah, sehingga memungkinkan ada data yang NULL (kosong) di satu sisi. Sebagai contoh, kita akan menggabungkan tabel pelanggan dan pesan dimana kita akan menampilkan daftar pelanggan yang pernah melakukan pemesanan (transaksi). Outer Join terbagi menjadi 2 (dua) yaitu LEFT JOIN dan RIGHT JOIN. Berikut ini bentuk umum dan contohnya: LEFT JOIN. Bentuk umum:
SELECT tabel1.*, tabel2.* FROM tabel1 LEFT JOIN tabel2 ON tabel1.PK=tabel2.FK;

Contoh perintah SQL:


SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan LEFT JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;

Hasilnya:

Hasil Perintah Left Join Berbeda dengan hasil sebelumnya (inner join), penggunaan left join akan menampilkan juga data pelanggan dengan id P0003, walaupun pelanggan tersebut belum pernah bertransaksi. Dan pada kolom id_pesan dan tgl_pesan untuk pelanggan P0003 isinya NULL, artinya di tabel kanan (pesan) pelanggan tersebut tidak ada. RIGHT JOIN Bentuk umum:
SELECT tabel1.*, tabel2.* FROM tabel1 RIGHT JOIN tabel2 ON tabel1.PK=tabel2.FK;

Contoh perintah SQL:


SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan RIGHT JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;

Hasilnya:

Hasil Perintah Right Join

Dengan right join, tabel yang menjadi acuan adalah tabel sebelah kanan (tabel pesan), jadi semua isi tabel pesan akan ditampilkan. Jika data pelanggan tidak ada di tabel pelanggan, maka isi tabel pesan tetap ditampilkan.
Menggabungkan 3 Tabel atau Lebih

Untuk menggabungkan tiga tabel atau lebih, pada dasarnya sama dengan penggabungan 2 (dua) tabel. Sebagai contoh misalnya kita akan menampilkan barang-barang yang dipesan beserta nama barang dan harganya untuk pemesanan dengan nomor 1, sedemikian sehingga hasilnya menjadi sebagai berikut:

Aljabar Relasional, Bahasa pada Model Data Relasional


Menyambung bahasan sebelumnya, yaitu Pengenalan Model Data Relasional, sekarang akan dibahas mengenai bahasanya. Tabel relasi yang digunakan pada bahasan ini akan menggunakan tabel sebelumnya. Bahasa yang dipakai pada model relasional disebut dengan bahasa query. Bahasa Query adalah suatu bahasa yang menyediakan fasilitas bagi user untuk mengakses informasi dari basis data. Pada umumnya level bahasa ini lebih tinggi dari bahasa pemrograman standar. Bahasa query dapat dikategorikan sebagai prosedural & non-prosedural. Dalam bahasa prosedural, user menginstruksikan ke sistem agar membentuk serangkaian operasi dalam basis data untuk mengeluarkan hasil yang diinginkan. Dalam bahasa non-prosedural, user mendeskripsikan informasi yang diinginkan tanpa memberikan prosedur detail untuk menghasilkan informasi tersebut. Aljabar relasional merupakan bahasa query prosedural, sedangkan kalkulus relasional tupel dan kalkulus relasional domain adalah non-prosedural.

Aljabar Relasional

Aljabar relasional adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan operasi dimana masukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah relasi baru sebagai hasil dari operasi tersebut. Operasi-operasi dasar dalam aljabar relasional adalah : select, project, union, set difference, dan cartesian product. Disamping operasi-operasi dasar terdapat beberapa operasi tambahan seperti set intersection, natural join, division dan theta join. Operasi-operasi Dasar Select

Operasi select berfungsi untuk menyeleksi tuple-tuple yang memenuhi predikat yang diberikan dari sebuah tabel relasi. Simbol sigma digunakan untuk menunjukkan operasi select. Predikat muncul sebagai subscript dari dan kondisi yang diinginkan yang ditulis dalam predikat. Argumen diberikan dalam tanda kurung yang mengikuti dan berisi tabel relasi yang dimaksud. Contoh penggunaan operasi select : NPM = 10296832(NILAI) Perintah diatas berarti memilih tupel-tupel dari tabel NILAI yang memiliki atribut NPM bernilai 10296832. Hasil dari operasi diatas adalah :
10296832 10296832 KK021 KD132 60 40 75 30

Project

Operasi project berfungsi untuk memilih nilai atribut-atribut tertentu saja dari sebuah tabel relasi. Simbol phi digunakan untuk menunjukkan operasi project. Predikat muncul sebagai subscript dari dan hanya nama atribut yang diinginkan yang ditulis dalam predikat. Argumen diberikan dalam tanda kurung yang mengikuti dan berisi tabel relasi yang dimaksud. Contoh penggunaan operasi project : KDMK,SKS(MKUL) Perintah diatas berarti memilih nilai atribut KDMK dan SKS dari tabel MKUL. Hasil dari operasi diatas adalah :
KK021 KD132 KU122 2 3 2

Union

Operasi union berfungsi untuk mendapatkan gabungan nilai atribut dari sebuah tabel relasi dengan nilai atribut dari tabel relasi lainnya. Simbol digunakan untuk menunjukkan operasi union. Operasi union bernilai benar bila terpenuhi 2 kondisi, yaitu : Derajat dari 2 tabel relasi yang dioperasikan harus sama dan domain dari atribut yang dioperasikan juga harus sama. Contoh penggunaan operasi union : Misalkan terdapat 2 tabel relasi bernama ASLABSI dan ASLABTI seperti dibawah : ASLABSI
NPM 10107591 10107971 18108012 Nama Eko Putra Keque Irfan Riza Rulham Kelas 3KA07 3KA07 3KA07

ASLABTI
NPM Nama Kelas

11107891 18108012 11107611

M. Ali Nurdin Riza Rulham Soli Kurniawan

3KA07 3KA07 3KA07

dan dari 2 tabel relasi diatas dilakukan operasi union sebagai berikut : Nama(ASLABSI) Nama(ASLABTI) Perintah diatas berarti menggabungkan hasil dari operasi project terhadap tabel ASLABSI dengan hasil dari operasi project terhadap tabel ASLABTI. Hasil dari operasi diatas adalah :
Eko Putra Keque Irfan M. Ali Nurdin Riza Rulham Soli Kurniawan

Perhatikan bahwa nama Riza Rulham hanya muncul sekali pada hasil operasi, ini karena relasi adalah set sehingga nilai duplikat dihilangkan. Set Difference

Operasi set difference berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel relasi, tapi tidak ada dalam tabel relasi lainnya. Simbol - digunakan untuk menunjukkan operasi set difference. Contoh penggunaan operasi set difference : Nama(ASLABSI) Nama(ASLABTI) Perintah diatas berarti mendapatkan nilai atribut Nama yang terdapat di tabel ASLABSI, tapi tidak terdapat di tabel ASLABTI. Hasil dari operasi diatas adalah :
Eko Putra Keque Irfan

Cartesian Product

Operasi cartesian product berfungsi untuk mengkombinasikan informasi yang ada dalam 2 tabel relasi dan menghasilkan sebuah tabel relasi yang baru. Simbol x digunakan untuk menunjukkan operasi set difference. Contoh penggunaan operasi cartesian product : ASLABTI x MKUL tabel relasi baru Perintah diatas berarti mengkombinasikan seluruh tupel yang ada pada tabel ASLABTI dengan tabel MKUL. Hasil dari operasi diatas adalah :
11107891 11107891 11107891 18108012 18108012 18108012 11107611 11107611 11107611 M. Ali Nurdin M. Ali Nurdin M. Ali Nurdin Riza Rulham Riza Rulham Riza Rulham Soli Kurniawan Soli Kurniawan Soli Kurniawan 3KA07 3KA07 3KA07 3KA07 3KA07 3KA07 3KA07 3KA07 3KA07 KK021 KD132 KU122 KK021 KD132 KU122 KK021 KD132 KU122 P. Basis Data SIM Pancasila P. Basis Data SIM Pancasila P. Basis Data SIM Pancasila 2 3 2 2 3 2 2 3 2

Operasi-operasi Tambahan Set Intersection

Operasi set intersection berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel relasi dan juga ada dalam tabel relasi lainnya. Simbol digunakan untuk menunjukkan operasi set intersection. Contoh penggunaan operasi set intersection : Nama(ASLABSI) Nama(ASLABTI) Perintah diatas berarti mendapatkan nilai atribut Nama yang terdapat di tabel ASLABSI dan juga terdapat di tabel ASLABTI. Hasil dari operasi diatas adalah :
Riza Rulham

Natural Join

Operasi natural join memungkinkan kita untuk menggabungkan operasi select dan cartesian product menjadi hanya 1 operasi saja. Simbol digunakan untuk menunjukkan operasi natural join. Operasi natural join hanya menghasilkan tupel yang mempunyai nilai yang sama pada 2 atribut yang bernama sama pada 2 tabel relasi yang berbeda. Contoh penggunaan operasi natural join : NPM,KDMK,MID(MHS NILAI) Perintah diatas berarti mendapatkan nilai dari operasi project dengan predikat NPM, KDMK, dan MID dan argumen hasil dari operasi natural join antara tabel MHS dengan tabel NILAI. Hasil dari operasi diatas adalah :
10296832 10296832 10296126 31296500 41296525 50096487 21196353 KK021 KD132 KD132 KK021 KU122 KD132 KU122 60 40 70 55 90 80 75

Division

Operasi division berfungsi untuk query yang memasukkan frase untuk semua/seluruh. Simbol digunakan untuk menunjukkan operasi division. Contoh penggunaan operasi division : Misalkan terdapat 3 tabel relasi bernama ACCOUNT, BRANCH, dan DEPOSITOR seperti dibawah :

dan dari 3 tabel relasi diatas dilakukan operasi division sebagai berikut : customer-name,branch-name(DEPOSITOR ACCOUNT) branch-name(branch-city=Brooklyn(BRANCH)) Dengan asumsi operasi project awal adalah relasi r1 dan akhir adalah r2, perintah diatas berarti mendapatkan nama pelanggan yang muncul pada hasil relasi r2 untuk semua nama cabang hasil relasi r1. Hasil dari operasi diatas adalah :
Johnson

Theta Join

Operasi theta join berfungsi jika kita ingin mengkombinasikan tupel dari 2 tabel relasi dimana kondisi dari kombinasi tersebut tidak hanya kesamaan nilai dari 2 atribut bernama sama, tetapi kondisi yang diinginkan juga bisa menggunakan operator relasional (, <, =, >, ). Operasi theta join merupakan ekstensi dari natural join.

MataKuliah
ALJABAR RELASIONAL Kamis, 28 Mei 2009 di 11:21 | Diposkan oleh MAHASISWA CHEATER Bahasa BasisData adalah bahasa yang digunakan untuk komunikasi antara user dengan DataBase. Bahasa Basis Data Dibagi menjadi 2 yaitu: 1. DDL -> dengan bahasa ini kita bisa membuat tabel 2. DML -> Bahasa yang digunakan untuk mengakses data. bahasa ini juga bisa disebut bahasa QUERY Ada 2 Jenis DML:

1. Prosedural -> Mensyaratkan user menentukan data apa yg diinginkan serta bgmn cr mendapatkannya -> AJABAR RELASIONAL (Bhs query yg didasarkan pd operasi aljabar disebut BHS QUERY yg PROSEDURAL) 2. Non Prosedural -> user menentukan data apa yang diinginkan tanpa menyebutkan bgmn mendapatkannya -> KALKULUS RELATIONAL TUPLE

Defenisi Aljabar Relational


Adalah kumpulan operasi terhadap relasi, dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru. Operasi-operasi dasar dalam aljabar relational,adalah: select, project, union, set difference, cartesian product, dan rename. Operasi lainnya antara lain: set intersection, natural join, division dan assignment Operasi-operasi select, project dan rename disebut operasi unary, karena operasi-operasi tersebut hanya memerlukan satu relasi. Operasi-operasi union, set difference dan cartesian product memerlukan sepasang relasi, disebut operasi binary.

Operasi-Operasi Aljabar Relational


Fundamental

Unary operators Selection projection rename Binary operators (union compatibilty) union set difference Cartesian product Additional rename intersection join quotient (division)

Selection
Operasi Select ( = sigma ) Operasi Select menyeleksi tuple-tuple pada sebuah relation yaitu tuple-tuple yang memenuhi syarat yang sudah ditentukan sebelumnya. Bentuk umum : () Dimana = select operator = operasi boolean Jika untuk menyeleksi tuple-tuple dari relasi Hutang dimana nama cabangnya adalah Jakarta, ditulis :

nama-cabang = Jakarta (Hutang)

Maka hasilnya :

Project Operasi Project ( = phi ) Operator projection beroperasi pada sebuah relation, yaitu membentuk relation baru dengan mengcopy atribute-atribute dan domain-domain dari relation tersebut berdasarkan argumenargumen pada operator tsb. Dengan memandang relasi sebagai tabel, maka operasi ini digunakan untuk memilih sejumlah kolom tertentu dari tabel. Bentuk umum : () Contoh : untuk menampilkan seluruh Cabang dan jumlah tanpa Nomor Pinjaman, maka dapat dituliskan : nama-cabang, jumlah (hutang) Maka hasil query nya adalah:

Tabel Acuan

Cartesian Product
Operasi Cartesian-product disimbolkan dengan X . E1 X E2 = E2 X E1 Untuk menggabungkan data dari 2 tabel/lebih atau menggabungkan hasil query. Mengakibatkan semua record di E1 akan dipasangkan dengan semua record di E2. Operasi ini umumnya digunakan bersama dengan Seleksi atau Projeksi.

Penggabungan dilakukan antara tabel yg memiliki keterhubungan (ditandai dgn adanya field yg sama). Misal Tabel Mahasiswa dan Nilai yang memiliki field yg sama = NIM. Contoh : Jika diinginkan nama-nama dari semua nasabah yang mempunyai pinjaman (loan) di bank cabang Jakarta, maka query-nya ditulis : nama-cabang = Jakarta (borrower x loan) Hasilnya ??? CONTOH - Tabel Mahasiswa

- Tabel Index Nilai

ALJABAR RELASIONAL
Posted on January 11, 2011

1. A. Berapa derajat (degree) dari tabel SUPPLIER ? Jawab: Degree adalah jumlah atribut. jadi tabel supplier ada 4 derajat B. Tampilkan informasi barang yang mempunyai kode barang (KD_BRG) = B004 dalam perintah aljabar relasional ! Jawab : KD_BRG = B004 (BARANG) C. Tampilkan nama supplier yang beralamat di Jakarta dengan menggunakan perintah aljabar relasional ! Jawab : NAMA_SUPP = ALAMAT = JAKARTA (SUPPLIER) 2. Gunakan statement SQL dalam menjawab soal-soal dibawah ini : A. Tampilkan nama barang yang huruf pertamanya adalah S ! jawab :SELECT NM_BRG

FROM BARANG WHERE NM_BRG LIKE S% B. Tampilkan kode barang dan nama barang yang disupply oleh supplier dengan status non aktif. Jawab : SELECT KD_BRG , NM_BRG FROM BARANG WHERE KD_SUPP = 028 C. Hapus data transaksi barang yang jumlah transaksinya kurang dari 10 Jawab : DELETE FROM TRANSAKSI WHERE JML_TRANS < 1

1)Tampilkan nama pegawai dengan gaji antara 1.000.000 sampai 2.000.000 yang bekerja di departemen Keuangan. 2)Tampilkan nama dan gaji manajer di tiap departemen beserta nama dari departemen yang dipimpinnya 3)Tampilkan nama dan gaji pegawai yang mengerjakan proyek yang berlokasi di Jakarta. 4)Tampilkan semua nama tanggungan dari masing-masing pegawai yang bekerja di departemen Keuangan 5)Tampilkan nama manajer dari departemen yang sedang mengerjakan proyek dengan kode_proyek = P501 Tabel untuk bisa menjawab pertanyaa di atas:

RELASI : Relasi Aljabar Operasi aljabar terdiri dari himpunan operator level tinggi yang dioperasikan pada suatu relasi. Setiap operator menggunakan satu atau dua relasi sebagai input dan menghasilkan relasi baru sebagai output. Codd mendefinisikan operator relasi aljabar terdiri dari delapan operator, terbagi menjadi dua kelompok : 1. Operasi tradisional, terdiri dari Union, Intersection, Difference, dan Cartesian Product. 2. Operasi relasional khusus, terdiri dari Restrict, Project, Join, dan Devide 1. Operasi tradisional a) Union U A U B adalah relasi dengan heading (atribut) yang sama untuk setiap A dan B, dimana terdiri dari himpunan semua tuples yang terdapat pada A atau B atau kedua-duanya.

Relasi Aljabar Union


Relasi Tabel A

S S1 S4

SNAME Aris Eko

STATUS 20 20

CITY Semarang Semarang

Relasi Tabel B
S S1 S2 SNAME Aris Heni STATUS 20 10 CITY Semarang Jakarta

Hasil Relasi A U B
S S1 S2 S4 SNAME Aris Eko Heni STATUS 20 20 10 CITY Semarang Semarang Jakarta

b) Intersect AB adalah relasi dengan heading (atribut) yang sama untuk setiap A dan B, dimana terdiri dari himpunan semua tuples yang terdapat pada A dan B.

Relasi Aljabar Intersect Hasil AB


S S1 SNAME Aris STATUS 20 CITY Semarang

c) Difference (MINUS) A MINUS B adalah relasi dengan heading (atribut) yang sama untuk setiap A dan B, dimana terdiri dari himpunan semua tuples yang terdapat pada A, tetapi tidak terdapat pada B.

Relasi Aljabar Difference Relasi baru A MINUS B :


S S4 SNAME Eko STATUS 20 CITY Semarang

B MINUS A
S S2 SNAME Heni STATUS 10 CITY Jakarta

d) Cartesian Product ( / TIMES) A TIMES B adalah relasi yang terdiri dari semua himpunan tuples untuk setiap elemen relasi pada A dikombinasikan dengan semua elemen pada relasi B.

Relasi Aljabar Cartesian Product ( / TIMES) A TIMES B

A S S1 S1 S4 S4

A SNAME Aris Aris Eko Eko

A STATUS 20 20 20 20

A CITY Semarang Semarang Jakarta Jakarta

B S S1 S2 S1 S2

B SNAME Aris Heni Aris Heni

B STATUS 20 10 20 10

Contoh Cartesian Product

2. Operasi Relasional Khusus a. Restriction ()

Ekstraksi terhadap suatu tuples (baris) pada suatu relasi yang memenuhi kondisi tertentu. Kondisi untuk relasi, direpresentasikan menggunakan klausa WHERE dan dapat dikombinasikan dengan operator logika dan/atau matematika.

A WHERE CITY = Semarang

S S1 S4

SNAME Aris Eko

STATUS 20 20

CITY Semarang Semarang

b. Projection () ekstraksi terhadap suatu atribut (kolom) pada suatu relasi yang memenuhi kondisi tertentu.

Relasi Aljabar : Projection ()

S S1 S4

SNAME Aris Eko

c. Natural Join (JOIN) membentuk relasi dari dua relasi yang terdiri dari semua kemungkinan kombinasi tuples, dimana tuples pada relasi yang kedua memenuhi suatu kondisi tertentu (memiliki nilai atribut yang sama). Relasi Aljabar : Natural Join

Jika suatu relasi yang tidak memiliki atribut yang memenuhi kodisi (memiliki nilai sama), maka A JOIN B adalah ekuivalen dengan A TIMES B. Natural Join

d. Devide (DEVIDEBY) A DEVIDEBY B adalah relasi dengan heading (X) dan terdiri dari himpunan semua tuples (X : x) dari tuples (X : x, Y : y) pada relasi A untuk semua tuples (Y : y) pada relasi B.

Relasi Aljabar : Devide (DEVIDEBY)

Aljabar Relasional dan SQL Basic 6 Desember 2007 Filed under: IT onisuya @ 5:33 am

Berikut adalah contoh kasus dalam Database yang menggunakan Aljabar Relasional dan SQL Basic.
Modul 7 EMPLOYEE

1. Menampilkan semua data pegawai yang dimiliki oleh Alicia dan Ramesh
Jawab :
FNAME= Alicia AND FNAME=Ramesh

(EMPLOYEE)

2. Menampilkan semua data pegawai untuk departemen 4 dan gaji lebih dari 25000
Jawab :
DNO=4 AND SALARY > 25000

(EMPLOYEE)

3. Menampilkan semua data pegawai untuk departemen 5 dan gaji lebih dari 30000
Jawab :
DNO=5 AND SALARY > 30000

(EMPLOYEE)

4. (DNO=4 AND SALARY>40000) OR (FNAME = James) (EMPLOYEE)


Jawab : Maka akan menampilkan departemen 4 dan gaji lebih dari 40000, atau data pegawai dengan nama James.

5. LNAME,
FNAME, SALARY (EMPLOYEE)

Jawab : Maka akan menampilkan semua isi dari atribut LNAME, FNAME dan SALARY. lname Jabbar Zelaya Wong Borg Wallac fname Ahmad Alicia Franklin James Jennifer salary 25000 25000 40000 53000 43000 30000 25000 25000

e Smith John English Joyce Naraya Ramesh n

6. LNAME, FNAME, SALARY ( DNO=5 (EMPLOYEE)) Jawab : Maka akan menampilkan semua isi dari atribut LNAME, FNAME dan SALARY yang berada di departemen 5.

7. STUDENT U INSTRUKTUR Jawab : Akan menggabungkan entiti instruktur dan student dengan penghilangan baris duplikat. FN LN

Susan Yao Sharuk Khan h Johny Indo Barbar John a Amy Jimmy Bon John Richar Ford Hendrix Jovi Smith Mark

d Franci Johnson s 8. STUDENT INSTRUKTUR Jawab : Akan menampilkan entiti dengan pengurangan record berdasarkan tabel instruktur.

9. STUDENT X INSTRUKTUR Jawab : Untuk relasi STUDENT X INSTRUKTUR tidak dapat direlasikan karena pada kedua tabel memiliki jenis field-field yang sama. Pada Cartesian Product kedua tabel harus memiliki field-field yang berbeda. 10. LN ( (FNAME = Richard OR FNAME = Johny) (STUDENT U INSTRUKTUR)) Jawab : Maka akan menampilkan field LN dengan fname=Richard atau fname=johny pada tabel STUDENT U INSTRUKTUR.

Modul 9

2. Cari nama dan alamat yang untuk semua pegawai yang bekerja pada departemen Research. ( Tabel pegawai dan departemen). Jawab: (Alamat, EMPLOYEES DEPARTMENTS LOCATIONS) (Alamat / (
DEPARTEMENTS_ID FIRST_NAME, STREET_ADDRESS

( DEPARTEMENTS_NAME = Research DEPARTMENTS))

3. Tampilkan nomor project, nomor department, nama manager department, alamat dan tangggal lahir, untuk project yang berlokasi di Stafford (Tabel pegawai, departemen, proyek)

Jawab: (Alamat, EMPLOYEES JOBS DEPARTMENTS ( LOCATIONS))


STATE_PROVINCE = Stafford

FIRST_NAME, STREET_ADDRESS, DEPARTEMENTS_ID, JOB_ID, HIRE_DATE

(Alamat)

4. Cari nama pegawai yang bekerja pada semua project yang dikontrol oleh nomor department 5 .( table pegawai, departemen, proyek). Jawab: (Proyek, EMPLOYEES JOBS)
DEPARTEMENTS_ID = 5 FIRST_NAME

(Proyek / (

DEPARTEMENTS_ID

DEPARTMENTS))

Modul 10

2. Cari nama dan alamat yang untuk semua pegawai yang bekerja pada departemen Research.
Jawab: SELECT E.FNAME, E.LNAME, E.ADDRESS FROM EMPLOYEES E, DEPARTEMENTS D WHERE E.DNAME=Research AND D.NUMBER=E.DNO;

3. Tampilkan nomor project, nomor department, nama manager department, alamat dan tangggal lahir,
untuk project yang berlokasi di Stafford Jawab: SELECT P.NUMBER, P.DNUM, E.LNAME, E.ADDRESS, E.BDATE FROM PROJECT.P, DEPARTEMENTS D, EMPLOYEES E WHERE P.LOCATION=Stafford AND P.DNUM=D.NUMBER AND M.MGRSSN=E.SSN;

4. Cari nama pegawai yang bekerja pada semua project yang dikontrol oleh nomor department 5.
Jawab: SELECT E.FNAME, E.LNAME, P.PNUMBER FROM EMPLOYEES E, DEPARTEMENTS D, PROJECT P WHERE D.NUMBER=5;

Aljabar Relasional 2
Contoh kasus :

2. Cari nama dan alamat untuk semua pegawai yang bekerja pada departemen Research. (Tabel pegawai dan departemen) (TMPADDR,EMPLOYEES
FIRST_NAME, STREET_ADDRESS

DEPARTEMETNS (TMPADDR / (

lOCATIONS) ( DEPARTMENTS_NAME
= Research

DEPARTMENTS_ID

DEPARTMENTS))

3. Tampilkan nomor project, nomor department, nama manager department, alamat dan tanggal lahir, untuk project yang berlokasi di Stafford. (Tabel pegawai, department dan proyek) (TMPADDR,EMPLOYEES lOCATIONS)) JOBS DEPARTEMETNS (
STATE_PROVINCE = Stafford

FIRST_NAME, STREET_ADDRESS, DEPARTMENTS_ID, JOB_ID, HIRE_DATE

(TMPADDR)

4. Cari nama pegawai yang bekerja pada semua project yang Dikontrol oleh nomor departemen 5. (Tabel pegawai, departemen dan proyek) (TMPGB, EMPLOYEES JOBS)

FIRST_NAME

(TMPGB /(

DEPARTMENTS_ID

DEPARTMENTS_ID = 5

DEPARTMENTS))

Keterangan : P = pi

You might also like