1.
Buat planing view sesuai kebutuhan topik anda (jelaskan dengan detail masing-masing view yang
anda buat)
View adalah
tabel virtual (bukan tabel sebenarnya) dimana tidak memiliki data sendiri, tetapi
data-datanya berasal dari tabel-tabel atau view lain. View digunakan untuk memudahkan data yang
ditampilkan, mencegah menampilkan data yang penting dengan
menyembunyikan
nama
kolomnya.
VIEW pada Sistem Absensi Karyawan
- View Lap_absensi_karyawan
Menampilkan absen karyawan di bulan januari 2014 / berdasarkan
Absen ( 01/01/2014 –
31/01/2014).
- Data View Lap_absensi_karyawan_Jan2014
Membutuhkan kolom :
No_id_karyawan,
Tanggal_absen , Jam_masuk
, jam_keluar,
nama_karyawan,
Tabel diperlukan :
Karyawan , absensi
Dari tabel tersebut akan mencari kesamaan dua nilai kolom (nilai key antar tabel terkait) dan mencari data berdasakan
tanggal penyetoran ( 01/01/2014 –
31/01/2014)
2.
J elaskan jenis-jenis Join
Join adalah penggabungan table yang dilakukan melalui kolom / key tertentu yang memiliki
nilai terkait untuk mendapatkan satu set data dengan informasi lengkap. Lengkap disini artinya
kolom data didapatkan dari kolom-kolom hasil join antar table tersebut.
Secara garis besar JOIN dibagi menjadi Equi Join dan Non-Equi Join.
1. Equijoin ialah Penggabungan antar tabel yang menggunakan operator sama dengan (=) pada
kondisi dalam klausa WHERE untuk
membandingkan satu kolom dengan
kolom lainnya.
Inner Join
ü Natural Join
Outer Join
ü Left Outer Join
ü Right Outer Join
ü Full Outer Join
2. Non - Equijoin ialah Penggabungan antar tabel yang tidak menggunakan operator sama dengan
(=) melainkan berupa tanda (
!=, >,
<, >=, <= ).
Berikut ini Penjelasan
Macam Macam Join :
1.
Inner Join
Konsep inner join sebenarnya hanya mendapatkan data yang menjadi irisan dari dua buah table.
Tipe join ini menampilkan baris hasil dari table pertama dan table kedua jika ada setidaknya
satu
kesamaan pada dua nilai field
yang dijoin atau
kondisi nilai key yang terkait saja.
Jika ada baris record pada tabel pertama yang nilai fieldnya tidak terdapat pada tabel kedua
maka
baris record tersebut tidak akan ditampilkan.
2.
Left Join / Left Outer Join
Konsep left join sendiri mendapatkan semua data yang berada di bagian kiri, walaupun data
di sebelah
kiri tidak
memiliki referensi ke sebelah
kanan.
Left join digunakan dalam situasi ketika ingin mengembalikan semua elemen data set A,
terlepas dari apakah
nilai kunci ada dalam data set B.
Menampilkan baris
hasil yang didapat dari semua baris
dari
tabel pertama walaupun ada ketidaksamaan nilai
field yang di join dimana jumlah record tergantung jumlah record sebelah
kiri (tabel pertama).
3.
Right Join / Right Outer Join
Right join
sendiri konsepnya mendapatkan
semua data yang berada di bagian kanan,
walaupun
data di sebelah
kanan tidak
memiliki referensi ke sebelah kiri.
Right join digunakan dalam situasi ketika ingin mengembalikan semua elemen data set B, terlepas dari apakah
nilai kunci ada dalam data set A.
Menampilkan baris hasil yang didapat dari semua baris dari tabel kedua walaupun ada ketidaksamaan nilai
field yang di join
dimana jumlah record
tergantung jumlah
record
sebelah kanan
(tabel kedua).
4. Cross Join / Cartesian Product
Konsep dari cross join
sendiri adalah hasil perkalian
dari table 1
dan table 2.
Menampilkan semua record meskipun tidak bersesuaian dari kedua table yang direlasikan
dengan jumlah record
adalah hasil kali jumlah record
tabel pertama dengan jumlah record
tabel kedua.
Semisal, data tableA ada 4 buah, dan dilakukan cross join dengan tableB ada 3 buah, maka
hasil datanya akan
menjadi 12
buah. Jadi setiap data di tableA, akan
memiliki jumlah data di
tableB.
5.
Union Join / Full Join / Full Outer Join
Konsep union
sendiri itu
adalah menggabungkan
dua buah query,
lalu dikurangi query hasil
irisannya. Sehingga tidak akan ada data sama yang berulang.
Penggabungan dua query. Query
pertama menggunakan RIGHT JOIN dan query
kedua menggunakan LEFT JOIN. Salah satu syarat penggunaan UNION adalah,
bahwa field yang
akan
ditampilkan
pada query 1 dan
query 2 harus sama penamaannya.
Bentuk umum perintah :
Select * from <tabel1> right
join
<tabel2> ON <key.tabel1> =
<key.tabel2> UNION
Select * from <tabel1> left join <tabel2> ON <key.tabel1> =
<key.tabel2>
atau
Select*from [Tabel_1] full join [Tabel_2] ON <key.tabel1>
= <key.tabel2>
PERHATIKAN : UNION dengan
UNION JOIN,
Operator UNION digunakan untuk
menggabungkan dua
buah select
sedangkan operator
UNION JOIN digunakan
menggabungkan 2 query left join dan
right join.
6. Union All
Sedikit berbeda dengan UNION,
Konsep UNION ALL akan menggabungkan hasil dua query sehingga kemungkinan data berulang akan
terjadi (mengalamin
penggadaan
data).
UNION ALL tidak
dikenal di MySQL. Bentuk
umum
perintah union
all :
Select * from <tabel1> right join <tabel2>
ON <key.tabel1>
= <key.tabel2>
UNION ALL
Select * from <tabel1> left
join
<tabel2> ON <key.tabel1>
= <key.tabel2>
7. Natural Join
Join dimana dilakukan dengan menggunakan wildcard (SELECT *) untuk satu tabel dan
sub-kumpulan
eksplisit dari field
untuk
semua tabel lainnya.
INNER JOIN yang dibuat sejauh ini adalah NATURAL JOIN, dan pembuat tidak pernah membutuhkan
INNER JOIN yang bukan NATURAL JOIN.
8. Straight Join
STRAIGHT_JOIN
merupakan pengganti keyword
JOIN
pada MySQL yang
digunakan
untuk "memaksa" proses join
table dari kiri (LEFT) ke kanan
(RIGHT).
Bentuk Operator ini didukung oleh
MySQL.
Bentuk Perintah
: Select*from [Tabel_1] straight join [Tabel_2];
9. Self Join
Menggabungkan
sebuah table dengan
table
itu sendiri.
Maka
asumsi
table yang
di
gabungkan terdiri atas 2
table yang berbeda (menggunakan alias).
Contoh kasus :
Tampilan data pegawai lengkap dengan data atasannya. Atasannya berasal dari tabel yang
sama.
3 . Buat Planing Join sesuai dengan Topik anda (diskripsiakan masing2
fungsi dan keperluannya dalam sistem)
Contoh 4 Join dalam Sistem Absensi
1. Inner Join
SELECT *
FROM pengguna p INNER JOIN pengguna_lengkap pk
ON p.id_pengguna = pk.id_pengguna;
Maka akan jadi seperti ini
2. Left Join
SELECT *
FROM karyawan p LEFT JOIN karyawan_lengkap_
pk
|
3. Right Join
SELECT *
FROM karyawan p RIGHT JOIN karyawan _lengkap pk
ON p.id_ karyawan =
pk.id_ karyawan;
Maka akan Jadi Seperti ini
4. Natural Join
SELECT *
FROM karyawan p NATURAL JOIN karyawan _lengkap pk;
Maka akan Jadi Seperti ini
Tidak ada komentar:
Posting Komentar