Anda di halaman 1dari 15

DML Season 2

Relasi Tabel
Primary Key

Menambahkan Primary Key

Alter Table nama_table Add Primary Key (field kunci);

Contoh:
Alter Tabel Mhs Add Primary Key (NIM);
Foreign Key

Foreign Key digunakan untuk menandai suatu tabel terhubung dengan tabel lain.

Foreigen key (nama_field) references nama_table (nama_field);


Contoh:
foreign key (kd_dosen) references Dosen (kd_dosen);
Alter Table nama_table Add Foreign Key (nama_field) references nama_table
(nama_field);
Untuk menggabungkan 2 (dua) atau lebih tabel, kita dapat menggunakan bentuk
perintah JOIN.
Misal ada 2 table:
Inner join

Bnetuk Umum:
SELECT tabel1.*, tabel2.* FROM tabel1, tabel2
WHERE tabel1.PK=tabel2.FK;
Contoh:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan,
pesan.id_pesan, pesan.tgl_pesan
FROM pelanggan, pesan
WHERE pelanggan.id_pelanggan=pesan.id_pelanggan;
Hasilnya :

id pelanggan P0003 tidak ditampilkan karena dia belum pernah melakukan


transaksi.
Atau dengan sintaks ini:
SELECT tabel1.*, tabel2.*
FROM tabel1 INNER JOIN tabel2
ON tabel1.PK=tabel2.FK;

Contoh:
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;
Outer Join

Dengan outer join, tabel akan digabungkan satu arah, sehingga


memungkinkan ada data yang NULL (kosong) di satu sisi.
Outer Join terbagi menjadi 2 (dua) yaitu LEFT JOIN dan RIGHT. Berikut ini bentuk
umum dan contohnya:
Left Join

Bnetuk Umum:
SELECT tabel1.*, tabel2.*
FROM tabel1 LEFT JOIN tabel2
ON tabel1.PK=tabel2.FK;

Contoh:
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;
Maka hasilnya :

penggunaan left join akan menampilkan data pelanggan dengan id P0003, walaupun
pelanggan tersebut belum pernah bertransaksi.
Right Join

Bentuk Umum:
SELECT tabel1.*, tabel2.*
FROM tabel1 RIGHT JOIN tabel2
ON tabel1.PK=tabel2.FK;

Contoh:
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 adalah:

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.
Latihan 1

Tambahkan primary key (jika belum ada) pada table yang sudah ada.
Buat table baru untuk membuat relasi
Buat relasinya
Tampilkan data dari dua table yang sudah direlasikan dengan Inner join, dan
Outer join
Latihan 2:

Buat database baru dengan nama penjualan


Buat table pelanggan dan pesanan dengan struktur table sbg berikut:

Field Type Null Key


Buat relasinya Id_pelanggan char(5) No PRI
Nama_pelanggan Varchar(30) No
Alamat Varchar(40 No
Telepon Char(12) No
email Char(30) No

Field Type Null Key


Isi masing-masing table tersebut Id_pesan Varchar(5) No PRI
minimal 10 record. Id_pelanggan Char(5) No MUL
Tgl_pesan date No
Tampilkan data dari dua table yang sudah direlasikan dengan Inner join, dan Outer join
TERIMA KASIH