Rabu, 04 Juli 2012

database pertemuan ke 13, SUPARMANTO


A.  CROSS JOIN
          Sebuah penggabungan yang meliputi dari 1 table tanpa syarat apapun hasil dari cross join akan menghasilakan produk kartesian.

B.  Natural / innerjoin
          Join yang menghasilakan baris-baris yang minimal ada sebuah baris di kedua table yang sesuai dengan kondisi join, baris-baris yang tidak sesuai dengan sebuah baris dari table lain.

C.  OUTER JOIN
          Autor join akan menghasilkan sebuah data dari suatu table dan membatasi table dari table lainnya terdapat tiga tipe outer join yaitu :  left join, right joint, dan full join.   Semuah baris dari table sebelah kiri diacu dengan sebuah left autor join,dan semuah dari table sebelah kanan diacu dengan right auter join, semua baris dari kedua table di hasilakn oleh sebuah full aoter join.
          Kegunaan dari auter join adalah untuk mencari record – record piatu , artinya record yang ada di sebuah table tetapi tidak mempunyai pasangan di table lain

1.   Cross join antara table buku dengan penerbit
Contoh :
          Select*from buku cross join penerbit,   jika table buku mempunyai 4 baris dan table penerbit 4 baris maka hasil cross join adalah 16 baris.

2.   Natural join / inner join
Contoh : 
          Select b.judul, b.pengarang, p.kode penerbit from buku b inner join
Penrbit p on. B. kode_penerbit = p.kode_penerbit
Perintah diatas akan membatasi kolom data yang tertumpuk. Perinta diatas dapat diganti dengan memakai inner join style baru yang memakai kondisi.
Where :
Select b.judul, b.pengarang, p. kode_penerbit from buku b. penerbit p where b. kode_penerbit = p.kode_penerbit


3.   Left auter join
Contoh :
          Select b. judul, b.pengarang, p.kode penerbit from buku b. left outer join penerbit p on b.kode_penerbit = p.kode_penerbit

4.   Right outer join
Contoh :
          Select b.judul, b.pengarang ,p.kode penerbit from buku b.right outer join penerbit p on b.kode_penerbit +p.kode_penrbit

5.   Full outer join
Contoh :
          Select b.judul, b.pengarang, p.kode_penerbit from buku b.full outer join penerbit p on b.kode_penerbit = p.kode_penerbit

Contoh kasus :
Langkah pertama adalah dengan membuat relasi many to one
create database perpustakaan
use perpustakaan
create table penerbit(
          kd_penerbit char (3)primary key,
          nmapenerbit  varchar (20))
select*from penerbit
insert into penerbit values ('123','erlangga')
insert into penerbit values ('124','surya abadi')
select*from penerbit
create table bukuu (
          kd_buku char (3)primary key,
          pengarang varchar (30),
          judulbuku varchar (20),
          kd_penerbit char (3)references penerbit(kd_penerbit))
select*from bukuu
insert into bukuu values ('130','andi','delphi','123')
insert into bukuu values ('131','aliudin','database','124')
1.   Jika kita mengunkan cross join antara tabel buku dengan penerbit maka akan muncul seperti table dibawa ini
select*from buku cross join penerbit 

Kd_buku
judulbuku
Kd_penerbit
Kd_penerbit
nmapenerbit
134
Delphi
123
123
erlangga
135
database
124
123
erlangga
134
Delphi
123
124
Surya abadi
135
database
124
124
Surya abadi

2.   Jika menggunkan natural join/inner join akan membatasi kolom data yang tertumpuk
select b.judulbuku,b.pengarang,p.kd_penerbit from bukuu b inner join penerbit p on b.kd_penerbit = p.kd_penerbit
judulbuku
pengarang
Kd_penerbit
Delphi
Andi
123
database
aliudin
124

3.   select b.judulbuku,b.pengarang,p.kd_penerbit from bukuu b inner join penerbit p on b.kd_penerbit = p.kd_penerbit

judulbuku
pengarang
Kd_penerbit
Delphi
Andi
123
database
aliudin
124


4.   right outer join
select b.judulbuku,b.pengarang,p.kd_penerbit from bukuu b  right outer join penerbit p on b.kd_penerbit = p.kd_penerbit
judulbuku
pengarang
Kd_penerbit
Delphi
Andi
123
database
aliudin
124

5.   full outer join
select b.judulbuku,b.pengarang,p.kd_penerbit from bukuu b  full outer join penerbit p on b.kd_penerbit = p.kd_penerbit
judulbuku
pengarang
Kd_penerbit
Delphi
Andi
123
database
aliudin
124