INNER JOIN, LEFT JOIN, RIGHT JOIN
SQL INNER JOIN Keyword
The INNER JOIN keyword returns rows when there is at least one match in both tables.
SQL INNER JOIN Syntax
SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name
PS: INNER JOIN is the same as JOIN.
SQL LEFT JOIN Keyword
The LEFT JOIN keyword returns all rows from the left table (table_name1), even if there are no matches in the right table (table_name2).
SQL LEFT JOIN Syntax
SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name
PS: In some databases LEFT JOIN is called LEFT OUTER JOIN.
SQL RIGHT JOIN Keyword
The RIGHT JOIN keyword returns all the rows from the right table (table_name2), even if there are no matches in the left table (table_name1).
SQL RIGHT JOIN Syntax
SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name=table_name2.column_name
PS: In some databases RIGHT JOIN is called RIGHT OUTER JOIN.
LITERATUR. BY w3schools.com
ENTITAS DAN RELATIONSHIP
Rumah Sakit Umum Prof Dr Aloei Saboe Gorontalo
Rumah sakit umum Prof Dr Aloei Saboe Gorontalo merupakan salah satu Pusat Layanan Kesehatan di kota Gorontalo yang menyediakan fasilitas dengan peralatan lengkap dan professional, Rumah sakit umum Prof Dr Aloei Saboe Gorontalo siap melayani para pasien dengan handal dan maksimal. Rumah Sakit ini memiliki Entitas yaitu Dokter,Perawat,Pasien,dan Ruangan.
Entitas dan Atribut
Tabel Matriks
Diagram Relationship
tugas 6 manajemen database
RELASI TABEL DALAM MYSQL !!
1. INNER JOIN
Inner join berfungsi sebagai pemetaan relasi one-to-one (satu ke satu), yaitu dimana hanya satu record tabel A yang sama dengan satu record tabel B, dan hanya satu record tabel B yang sama dengan satu record tabel A.
Syntax untuk merelasikan tabel pada inner join yaitu :
a. Select *
b. FROM table1
c. INNER JOIN table2
d. ON table1.column_name = table2.column_name;
Syntax untuk merelasikan
a. SELECT minuman.nama_minuman, minuman.unit, perusahaan.nama_perusahaan, perusahaan.lokasi_perusahaan
b. FROM minuman
c. INNER JOIN perusahaan
d. ON minuman.id_perusahaan =perusahaan.id_perusahaan
2. LEFT JOIN
Left join berfungsi sebagai pemetaan relasi many-to-one (banyak ke satu), yaitu dimana beberapa record tabel A yang sama dengan satu record tabel B.
Syntax untuk merelasikan tabel pada left join yaitu :
a. SELECT column_name(s)
b. FROM table_name1
c. LEFT JOIN table_name2
d. ON table_name1.column_name=table_name2.column_name
Contoh merelasikan tabel pada inner join yaitu :
Tabel 1 “Pelanggan”
SELECT Pelanggan.Last_Name, Pelanggan.First_Name, pesanan.nama_pesanan
a. FROM Pelanggan
b. LEFT JOIN Pesanan
c. ON Pelanggan.Id_pelanggan=pesanan.Id_pelanggan
d. Pesanan BY Pelanggan.Last_Name
3. RIGTH JOIN
Right join berfungsi sebagai pemetaan relasi one-to-many (satu ke banyak), yaitu dimana hanya satu record tabel A yang sama dengan beberapa record tabel B.
Syntax untuk merelasikan tabel pada right join yaitu :
a. SELECT column_name(s)
b. FROM table_name1
c. RIGHT JOIN table_name2
d. ON table_name1.column_name=table_name2.column_name
Contoh merelasikan tabel pada inner join yaitu :
a. SELECT Pelanggan.Last_Name, Pelanggan.First_Name, Pesanan.Nama_pesanan
b. FROM Pelanggan
c. RIGHT JOIN Pesanan
d. ON Pelanggan.Id_Pelanggan=Pesanan.Id_Pelanggan
e. Pesanan BY Pelanggan.Last_Name
tugas 5 manajemen database
NORMALISASI DATABASE
Normalisasi merupakan kondisi dimana relasi antar tabel telah terbentuk dengan baik sesuai kaidah dalam sebuah database bertujuan untuk menciptakan struktur-struktur entity yang dapat mengurangi redundansi data dan meningkatkan stabilitas database. Ada dua fungsi normalisasi, yaitu :1. Dapat digunakan sebagai metodologi dalam menciptakan desain database dengan menghasilkan rancangan tabel-tabel yang nantinya sesuai dengan masalah dan kebutuhan yang dihadapi.2. Dapat digunakan sebagai verifikasi terhadap hasil desain database yang telah dibuat, baik menggunakan E-R Model atau menggunakan model relasiNormalisasi yang umum digunakan sampai tahap Third Normal Form (3 NF) atau lebih sesuai keadaan waktu nyata yang nantinya langsung dapat diimplementasikan kedalam database. Normalisasi diperlukan agar dapat Menghasilkan himpunan skema relasi antar tabel yang mengizinkan pengguna untuk menyimpan informasi tanpa adanya redudansi data serta mengizinkan pengguna untuk mencari informasi yang dikehendaki dengan cepat dan mudah.Tahap - Tahap Normalisasi
Gambar Tahapan Normalisasi
Aturan-aturan normalisasi dinyatakan dalam istilah bentuk normal. Bentuk normal adalah suatu aturan yang dikenakan pada entity-entity dalam database dan harus dipenuhi oleh entity-entity tersebut sehingga tercapai normalisasi. Suatu entity dikatakan dalam bentuk normal apabila entity tersebut memenuhi aturan pada bentuk normal tersebut. Proses Tahapan normalisasi dilakukan secara bertingkat. Pada tingkat ketiga (Third Normal Form, 3NF) sebenarnya telah dapat menghasilkan suatu rancangan database yang baik.untuk lebih memudahkan kami berikan 2 tahapan normalisasi secara umum dan sesuai dengan kasus tertentu sebagai berikutTingkatan proses normalisasi dengan Third Normal Form (3NF):
- Bentuk Tahap UnNormalized
- Bentuk Normal Pertama (1NF)
- Bentuk Normal Kedua (2NF)
- Bentuk Normal Ketiga (3NF)
Tingkatan proses normalisasi dengan Five Normal Form (5NF):
- Bentuk Normal Pertama (1NF)
- Bentuk Normal Kedua (2NF)
- Bentuk Normal Ketiga (3NF)
- Bentuk Normal Boyce-Codd (BCNF)
- Bentuk Normal Keempat (4NF)
- Bentuk Normal Kelima (5NF)
Untuk lebih muda mari kita melihat contoh dan aturan normalisasi dengan lima tahap agar lebih muda dalam memahami normalisasi data yang akan dilakukan.Bentuk Normal Pertama (1NF)Bentuk normal pertama dikenakan pada entity yang belum normal (Unnormalized Form). Bentuk tidak normal merupakan kumpulan data yang akan di rekam, tidak ada keharusan mengikuti suatu format tertentu, dapat saja tersebut tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan kedatangannya.Berikut contoh entity dalam keadaan belum ternormalisasi :Ada dua kelemahan utama pada bentuk tidak normal diatas :1. Terdapat attribut yang berulang (duplikat), yaitu attribut matakulia. Mahasiswa dengan nama Elzar mengambil 2 matakuliah, sementara Si Fikri mengambil 3 matakuliah dimana matakuliah yang mereka ambil ada yang sama.2. Terdapat informasi yang meragukan, dimana ada dua baris memiliki matakuliah yang sama, tapi berbeda nilainya. Sebenernya kedua baris tersebut menunjukkan dua orang yang sama namanya tapi berbeda nilai.Bentuk entity diatas harus di rubah menjadi bentuk normal pertama.Aturan Bentuk Normal Pertama (1NF) :Suatu entity dikatakan dalam bentuk normal pertama jika setiap attributnya bernilai tunggal untuk setip barisnya.Entity diatas, setelah diubah kebentuk normal pertama sesuai dengan aturan diatas, dapat berupa sebagai berikut :
Dapat juga seperti berikut :
Terlihat pada entity diatas bahwa setiap attribut telah bernilai tunggal untuk setiap barisnya. Tapi redudansi dan adanya informasi yang meragukan masih belum teratasi.2.Bentuk Normal Kedua (2NF)Aturan Bentuk Normal Kedua (2NF) : Suatu entity dikatakan dalam bentuk normal pertama jika : 1. Berada pada bentuk normal pertama. 2. Semua attribut bukan kunci memiliki ketergantungan fungsional (Depedensi Fungsional) dengan kunci utama (primary key)Ketergantungan fungsional adalah suatu attribut X mempunyai ketergantungan fungsional terhadap attribut Y apabila setiap nilai X berhubungan dengan sebuah nilai Y. Misalnya Attribut Nama pada entity Mahasiswa, mempunyai ketergantungan fungsional terhadap attribut NoBP, karena setiap nama mahasiswa harus mempunyai NoBP.Pada tahap ini anda harus memilah-memilah dan membagi entity tersebut menjadi beberapa entity lainnya yang mempunyai kunci utama. Sehingga masingmasing attribut yang bukan kunci mempunyai ketergantungan fungsional dengan kunci utama tersebut.Perhatikan tabel berikut setelah di ubah kedalam bentuk normal kedua :Entity Mahasiswa
Entity Nilai
Pada gambar diatas terlihat, ada dua entity yang memiliki kunci utama (atribut yang bergaris bawah), sehingga attribut-attribut yang lainnya mempunyai ketergantungan fungsional terhadapnya.· Attribut Nama mahasiswa mempunyai ketergantungan fungsional terhadapattribut NOBP.· Attribut SKS dan Nilai mempunyai ketergantungan fungsional terhadap attribut NoBP dan Kode Matakuliah.Ternyata rancangan entity baru diatas masih belum benar, khususnya pada entity nilai, karena : adanya data yang berulang, yaitu nama matakuliah dan sks, Kalau seandai salah mengentrikan data matakuliah dan sks, dapat mengakibatkan data tidak konsisten lagi.3.Bentuk Normal Ketiga(3NF)Aturan Bentuk Normal Ketiga (3NF) : Suatu entity dikatakan dalam bentuk normal pertama jika : 1. Berada pada bentuk normal kedua. 2. Semua attribut bukan kunci tidak memiliki ketergantungan transitif (Depedensi transitif) dengan kunci utama (primary key)Ketergantungan Transitif terjadi pada entity yang menggunakan attribut gabungan sebagai kunci utama. Seperti pada entity nilai pada bentuk normal kedua diatas, yang menjadi kunci utama adalah NoBP dan Kode Matakuliah. Ketergantungan transitif terjadi bila :a. Attribut X memiliki ketergantungan fungsional dengan attribut Y.b. Attribut Z memiliki ketergantungan fungsional dengan attribut X.Misalnya attribut Kode Matakuliah pada entiti nilai diatas, mempunyai ketergantungan fungsional dengan attribut NoBP, Attribut Nama Matakuliah mempunyai ketergantungan fungsional dengan attribut Kode Matakuliah.Entity Nilai berikut merupakan contoh entity yang memenuhi normal kedua tapi tidak memenuhi bentuk normal ketiga, karena adanya ketergantungan transitif.
Pada contoh diatas, kunci utama merupakan gabungan antara NoBP dan Kode Matakuliah. Attribut matakuliah, sks dan nilai mempunyai ketergantungan fungsional terhadap kunci utama tersebut. Namun perlu di perhatikan, bahwa jika Kode Matakuliah bernilai sama, Nama Matakuliah juga bernilai sama. Hal ini menandakan adanya suatu ketergantungan antara kedua attribut tersebut. Lalu manakah yang menjadi penentu ? Apakah Kode Matakuliah bergantung pada Nama matakuliah ? atau sebaliknya. Yang jadi penentu tentulah Kode Matakuliah, karena kode bersifat unik dan akan berbeda untuk setiap nama matakuliah. Oleh karena itu entity Nilai harus dibagi lagi agar memenuhi aturan bentuk normal ketiga.Perhatikan tabel berikut setelah di ubah kedalam bentuk normal ketiga :Entity Mahasiswa
Entity Nilai
Entity Matakuliah
Coba anda amati, apakah pada bentuk normal ketiga ini, masih ada redundansi dan ketidakkonsistenan data ?Penerapan aturan normalisasi sampai dengan bentuk ketiga ini, sebenarnya telah memenuhi dalam menghasilkan desain database yang berkualitas baik. Namun demikian dari sejumlah literatur dapat pula dijumpai pembahasan tentang bentuk normal keempat (4NF) dan bentuk normal kelima (5NF) dan adapula bentuk normal Boyce-Codd sebagai perbaikan dari bentuk normal ketiga.Ketiga bentuk normal yang disebut terakhir (Boyce-Codd, 4NF dan 5 NF), pembahasannya cukup kompleks, tetapi manfaatnya sendiri tidak begitu besar. Karena itu tidak terlalu di bahas pada buku ini. Berikut diberikan aturan umumnya saja :4.Bentuk Normal Boyce-Codd (BCNF)Aturan Bentuk Normal Boyce-Codd (BCNF) : Suatu entity dikatakan dalam bentuk BCNF jika : Semua kunci utama adalah kunci kandidat yang bersifat unik 5.Bentuk Normal Keempat (4NF)Bentuk normal keempat berhubungan dengan sifat ketergantungan banyak nilai (Multivalued Dependency) pada suatu tabel yang merupakan pengembangan dari ketergantungan fungsional.6.Bentuk Normal Kelima (5NF)Bentuk normal kelima berkenaan dengan ketergantungan relasi antar tabel (Join Depedency). Hasil akhir dari perancangan database sistem informasi akademik secara logis adalah :1. Entity-entity utama, disebut juga file master.
2. Entity-entity hasil relasi, disebut juga file transaksi
Melakukan normalisasi data dilakukan berdasarkan analisa dan kebutuhan, implementasi kedalam database tidak hanya dilakukan 3 tahap saja untuk mendapatkan nilai normalisasi tapi tergantung permasalahan yang dihadapi dari relasi umum yang terjadi.Ketika kita sudah terjun ke lapangan (dunia kerja), ada kalannya terjadi ketidaksesuaian antara hasil analisa/perencanaan dengan hasil implementasi. Yang terpenting adalah “aplikasi sesuai dengan keinginan pengguna” dengan tidak peduli akan proses yang ada > atau dengan kata lain kita gunakan “Management By Objective”.