SQL JOIN

01 December 2012 09:32:44 Dibaca : 440

Bagian I

SQL BERGABUNG  (SQL JOIN)

Kata kunci BERGABUNG digunakan dalam sebuah pernyataan SQL untuk query data dari dua atau lebih tabel, didasarkan pada hubungan antara kolom tertentu dalam tabel ini.

Tabel dalam database sering berhubungan satu sama lain dengan kunci.

Kunci utama adalah kolom (atau kombinasi dari kolom) dengan nilai unik untuk setiap baris. Setiap nilai kunci primer harus unik dalam tabel. Tujuannya adalah untuk mengikat data bersama-sama, di meja, tanpa mengulangi semua data di setiap meja.

Lihatlah tabel "Orang":

P_Id

LastName

FirstName

Alamat

Kota

1

Hansen

Ola

Timoteivn 10

Sandnes

2

Svendson

Tove

Borgvn 23

Sandnes

3

Pettersen

Kari

Storgt 20

Stavanger

Perhatikan bahwa "P_Id" kolom adalah kunci utama dalam tabel "Orang". Ini berarti bahwa tidak ada dua baris dapat memiliki P_Id yang sama. P_Id membedakan dua orang bahkan jika mereka memiliki nama yang sama.

Selanjutnya, kita memiliki "Perintah" tabel:

O_Id

OrderNo

P_Id

1

77895

3

2

44678

3

3

22456

1

4

24562

1

5

34764

15

Perhatikan bahwa "O_Id" kolom adalah kunci utama dalam tabel "Orders" dan bahwa "P_Id" kolom mengacu pada orang-orang dalam tabel "Orang" tanpa menggunakan nama mereka.

Perhatikan bahwa hubungan antara dua tabel di atas adalah "P_Id" kolom.


SQL yang berbeda Bergabung

Sebelum kita lanjutkan dengan contoh-contoh, kami akan memberikan daftar jenis BERGABUNG dapat Anda gunakan, dan perbedaan di antara mereka.

  • BERGABUNG : Kembali baris ketika ada setidaknya satu pertandingan di kedua tabel
  • LEFT JOIN : Kembali semua baris dari tabel kiri, bahkan jika tidak ada pertandingan di tabel kanan
  • RIGHT JOIN : Kembali semua baris dari tabel kanan, bahkan jika tidak ada pertandingan di tabel kiri
  • FULL JOIN : baris Kembali ketika ada pertandingan di salah satu meja

 

SQL FULL JOIN Kata Kunci

The FULL JOIN baris kata kunci kembali ketika ada pertandingan di salah satu meja.

SQL FULL JOIN Sintaks

SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name

 


SQL FULL JOIN Contoh

The "Orang" tabel:

P_Id

LastName

FirstName

Alamat

Kota

1

Hansen

Ola

Timoteivn 10

Sandnes

2

Svendson

Tove

Borgvn 23

Sandnes

3

Pettersen

Kari

Storgt 20

Stavanger

The "Perintah" tabel:

O_Id

OrderNo

P_Id

1

77895

3

2

44678

3

3

22456

1

4

24562

1

5

34764

15

Sekarang kita ingin daftar semua orang dan pesanan mereka, dan semua perintah dengan orang-orang mereka.

Kami menggunakan pernyataan SELECT berikut:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
FULL JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

Hasil-set akan terlihat seperti ini:

LastName

FirstName

OrderNo

Hansen

Ola

22456

Hansen

Ola

24562

Pettersen

Kari

77895

Pettersen

Kari

44678

Svendson

Tove

 

 

 

34764

Kata kunci BERGABUNG LENGKAP mengembalikan semua baris dari tabel kiri (Orang), dan semua baris dari tabel kanan (Pesanan). Jika ada baris dalam "Orang" yang tidak memiliki pertandingan di "Perintah", atau jika ada baris dalam "Pesanan" yang tidak memiliki pertandingan di "Orang", baris itu akan terdaftar juga.

 

SQL INNER JOIN Kata Kunci

Kata kunci INNER JOIN mengembalikan baris ketika ada setidaknya satu pertandingan di kedua tabel.

SQL INNER JOIN Sintaks

SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name

PS: INNER JOIN sama dengan JOIN.


SQL INNER JOIN Contoh

The "Orang" tabel:

SQL JOIN

01 December 2012 09:28:03 Dibaca : 374

Bagian II

SQL KIRI BERGABUNG Kata Kunci

Kata kunci BERGABUNG KIRI mengembalikan semua baris dari tabel kiri (table_name1), bahkan jika tidak ada pertandingan di tabel kanan (table_name2).

SQL KIRI BERGABUNG Sintaks

SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name

PS: Dalam beberapa database KIRI BERGABUNG disebut KIRI Outer JOIN.


SQL KIRI BERGABUNG Contoh

The "Orang" tabel:

P_Id

LastName

FirstName

Alamat

Kota

1

Hansen

Ola

Timoteivn 10

Sandnes

2

Svendson

Tove

Borgvn 23

Sandnes

3

Pettersen

Kari

Storgt 20

Stavanger

P_Id

LastName

FirstName

Alamat

Kota

1

Hansen

Ola

Timoteivn 10

Sandnes

2

Svendson

Tove

Borgvn 23

Sandnes

3

Pettersen

Kari

Storgt 20

Stavanger

The "Perintah" tabel:

O_Id

OrderNo

P_Id

1

77895

3

2

44678

3

3

22456

1

4

24562

1

5

34764

15

Sekarang kita ingin daftar semua orang dan pesanan mereka - jika ada, dari tabel di atas.

Kami menggunakan pernyataan SELECT berikut:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

Hasil-set akan terlihat seperti ini:

LastName

FirstName

OrderNo

Hansen

Ola

22456

Hansen

Ola

24562

Pettersen

Kari

77895

Pettersen

Kari

44678

Svendson

Tove

 

Kata kunci BERGABUNG KIRI mengembalikan semua baris dari tabel kiri (Orang), bahkan jika tidak ada pertandingan di tabel kanan (Pesanan).

 

SQL RIGHT JOIN Kata Kunci

Kata kunci BERGABUNG KANAN mengembalikan semua baris dari tabel kanan (table_name2), bahkan jika tidak ada pertandingan di tabel kiri (table_name1).

SQL RIGHT JOIN Sintaks

SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name

PS: Dalam beberapa database RIGHT JOIN disebut KANAN Outer JOIN.


SQL RIGHT JOIN Contoh

The "Orang" tabel:

P_Id

LastName

FirstName

Alamat

Kota

1

Hansen

Ola

Timoteivn 10

Sandnes

2

Svendson

Tove

Borgvn 23

Sandnes

3

Pettersen

Kari

Storgt 20

Stavanger

The "Perintah" tabel:

O_Id

OrderNo

P_Id

1

77895

3

2

44678

3

3

22456

1

4

24562

1

5

34764

15

Sekarang kita ingin daftar semua perintah dengan orang-orang yang mengandung - jika ada, dari tabel di atas.

Kami menggunakan pernyataan SELECT berikut:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

Hasil-set akan terlihat seperti ini:

LastName

FirstName

OrderNo

Hansen

Ola

22456

Hansen

Ola

24562

Pettersen

Kari

77895

Pettersen

Kari

44678

 

 

34764

Kata kunci BERGABUNG KANAN mengembalikan semua baris dari tabel kanan (Pesanan), bahkan jika tidak ada pertandingan di tabel kiri (Orang).


(www.w3schools.com/sql)

Normalisasi Database Relasi

11 November 2012 15:25:22 Dibaca : 1847

NORMALISASI DATABASE RELASI

 

1. Normalisasi

Proses normalisasi merupakan metode yang formal/standar dalam mengidentifikasi dasar relasi bagi primary keynya (atau candidate key dalam kasus BCNF), dan dependensi fungsional diantara atribut-atribut dari relasi tersebut. Normalisasi akan membantu perancang basis data dengan menyediakan suatu uji coba yang berurut yang dapat diimplementasikan pada hubungnan individualshingga skema relasi dapat di normalisasi ke dalam bentuk yang lebih spesifik untuk menghindari terjadinya error atau inkonsistansi data, bila dilakuan update tehadap relasi tersebut dengan Abnomaly.

 

BEBERAPA DEFINISI NORMALISASI

  • Normalisasi adalah suatu proses memperbaiki / membangun dengan model data relasional, dan secara umum lebih tepat dikoneksikan dengan model data logika.
  • Normalisasi adalah proses pengelompokan data ke dalam bentuk tabel atau relasi atau file untuk menyatakan entitas dan hubungan mereka sehingga terwujud satu bentuk database yang mudah untuk dimodifikasi.
  • Normalisasi dapat berguna dalam menjawab 2 pertanyaan mendasar yaitu: “apa yang dimaksud dengan desain database logical?” dan “apa yang dimaksud dengan desain database fisikal yang baik? What is phisical good logical database design?”.
  • Normalisasi adalah suatu proses untuk mengidentifikasi “tabel” kelompok atribut yang memiliki ketergantungan yang sangat tinggi antara satu atribut dengan atrubut lainnya.
  • Normalisasi bisa disebut jga sebagai proses pengelompokan atribut-atribut dari suatu relasi sehingga membentuk WELL STRUCTURED RELATION

 

WELL STRUCTURED RELATION adalah sebuah relasi yang jumlah kerangkapan datanya sedikit (Minimum Amount Of Redundancy), serta memberikan kemungkinan bagi used untuk melakukan INSERT, DELETE, MODIFY, terhadap baris-baris data pada relasi tersebut, yang tidak berakibat terjadinya ERROR atau INKONSISTENSI DATA, yang disebabkan oleh operasi-operasi tersebut.

 

Contoh

Terdapat sebuah relasi Mahasiswa, dengan ketentuan sebagai berikut.

·         Setiap Mahasiswa hanya boleh mengambil satu mata kuliah saja.

·         Setiap matakuliah mempunyai uang kuliah yang standar (tidak tergantung pada

mahasiswa yang mengambil matakuliah tersebut).

 

Tabel 9.1 Relasi Kuliah

NIM

KODE MATA KULIAH

BIAYA (Rp)

521308001

Z-0321765

125000

521308002

L-0753098

350250

521308003

C-0534890

689000

521308004

R-0768931

126000

521308005

N-0956736

237900

 

Relasi Kuliah di atas merupakan sebuah relasi yang sederhana dan terdiri dari 3 kolom / atribut. Bila diteliti secara seksama, maka akan ditemukan redundancy pada datanya, dimana biaya kuliah selalu berulang pada setiap mahasiswa. Akibatnya besar kemungkinan terjadi error atau inkonsistensi data, bila dilakukan update terhadap relasi tersebut dengan Anomaly.

     Anomaly merupakan penyimpangan-penyimpangan atau error atau inkonsistensi data

yang terjadi pada saat dilakukan proses delete, insert ataupun modify dalam suatu basis

data.

 

2. Teknik Normalisasi

Teknik normalisasi adalah proses pengelompokan data elemen menjadi tabel-tabel yang menunjukan entity dan relasi.
proses pembentukan tabel normal penuh ( normalisasi ) bertujuan untuk :

  1. membuat sekecil mungkin terjadinya data rangkap
  2. menghindari data yang tidak konstan terutama bila dilakukan penambahan dan penghapusan data sebagai akibat adanya data rangkap
  3. menjamin bahwa identitas tabel secara tunggal sebagai determinan semua attribute

proses normalisasi juga digunakan pada beberapa operasi yang berhubungan dengan data record yaitu :

  1. operasi penambahan ( insert )
  2. operasi penghapusan ( delete )
  3. operasi pengubahan ( update )
  4. operasi pembacaan data

apabila terjadi kesulitan saat proses data maka tabel-tabel dipecahkan menjadi beberapa tabel yang merupakan hasil pengelompokan data berdasarkan entity masing-masing

syarat dalam melakukan normalisasi
1) adanya field ( atribute kunci )
2) berdasarkan kepada ketergantungan fungsi

3. Bentuk-bentuk normalisasi
Proses normalisasi tabel secara umum dibagi dalam 5 tahap sehingga dikenal bentuk-bentuk tabel normal sesuai dengan tahapan normalisasi yang telah dilakukan yaitu bentuk normal pertama, kedua, ketiga, keempat, dan kelima.

3.1. bentuk tidak normal
Adalah kumpulan data yang tidak disimpan tidak mempunyai format tertentu, data disimpan apa adanya sesuai masukan yang diperoleh. Dalam bentuk ini data mungkin saja tidak lengkap tidak konsisten / terduplikasi

 

3.2. bentuk normal ke-1 ( 1NF = first normalized form )
Bentuk normal ke pertama dicapai apabila setiap nilai atribute adalah tunggal
ciri-cirinya:

  • file dibentuk dalam bentuk plat file
  • fieldnya berupa atomic value yang artinya data tidak bisa dipecah kebentuk yang lebih kecil
  • tidak ada field yang sama
  • setiap fieldnya mempunyai satu pengertian


3.3. bentuk normal ke-2 ( 2NF = second normalized form )
Bentuk normal ke-2 dicapai apabila atribute yang dijadikan adentitas benar-benar sebagai determinan dari semua atribute.
syarat-syarat :

  • bentuk ke-2 dicapai jika tabel sudah membentuk normal ke-1
  • atribut bukan kunci, harus bergantung secara fungsi pada kunci pertama
  • menetukan field-field kunci-kunci bisa berupa primary key, kandidat key, dll.

3.4. bentuk normal ke-3 ( 3NF = third normalized form )
adalah bentuk normal ke-2 tanpa terjadi adanya ketergantungan transitif determinan
syarat:

  • tabel sudah harus berbentuk normal ke-2
  • atribut bukan primer tidak tergantung secara transitif determinan terhadap kunci primernya.

Beberapa ketentuan dan sifat model hirarki

  • terdapat suatu kumpulan jenis record yang didalamnya masing-masing terdapat field yang berfungsi sebagai pengenal
  • terdapat suatu kumpulan kaitan yang menghubungkan semua jenis record sehingga membentuk diagram struktur data
  • kaitan tersebut membentuk suatu pohon yang semua ujungnya mengarah ke daun
  • tidak mungkin ada elemen yang lebih dari satu parent
  • setiap kaitan bersifat tunggal j

 

Studi Kasus ERD

04 November 2012 15:40:32 Dibaca : 426

ERD (ENTITY RELATIONSHIP DIAGRAM)

 

Studi Kasus

 

  • Mahasiswa meminjam buku.
  • Pada saat mendaftar menjadi anggota perpustakaan Fakultas, dicatatlah nama, nomor mahasiswa dan alamat mahasiswa. Setelah itu mereka baru bisa meminjam buku di perpustakaan. Buku-buku yang dimiliki perpustakaan banyak sekali jumlahnya. Tiap buku memiliki data nomor buku, judul, pengarang, penerbit, tahun terbit. Satu buku bisa ditulis oleh beberapa pengarang.
  • Seorang mahasiswa boleh meminjam beberapa buku. Satu buku boleh dipinjam beberapa mahasiswa. Semua mahasiswa sangat perlu buku sehingga tidak ada yang tidak pernah meminjam ke perpustakaan. Ada buku yang sangat laris dipinjam mahasiswa, namun ada pula buku yang tidak pernah dipinjam sama sekali. Satu buku dapat memiliki beberapa copy, namun untuk copy yang sama memiliki satu nomor buku. Setiap peminjaman akan dicatat tanggal peminjamannya. Semua mahasiswa disiplin mengembalikan buku tepat satu minggu setelah peminjaman.
  • Mahasiswa kadang-kadang terlambat mengembalikan buku, sehingga dikenakan denda.
  • Fakultas memiliki 3 jurusan, dan tiap jurusan memiliki perpustakaan. Mahasiswa boleh meminjam dari perpustakaan manapun di jurusan tersebut. Setiap mahasiswa otomatis menjadi anggota pada ketiga perpustakaan tersebut. Setiap perpustakaan memiliki banyak buku. Buku yang sama hanya ada di satu perpustakaan.

 
  Oval: Pengarang

 

 

Tugas.5.921410021

14 October 2012 13:39:44 Dibaca : 167

MODEL ENTITY RELATIONSHIP DIAGRAM

 

 

 

Basis data ERD

 

ERD digunakan untuk memodelkan struktur data dan hubungan antar data. Dengan ERD kita mencoba menjawab pertanyaan seperti : data apa yang kita perlukan? Bagaimana data yang satu berhubungan dengan yang lain.

 

 

 

Entity

 

Adalah objek dalam dunia nyata, berupa

 

            - Object fisik : Rumah, manusia, Kendaraan, Peralatan, dll

 

            - Object Konsep : Pekerjaan, Perusahaan, Rencana, kasus, dll

 

Adalah suatu objek yang dapat dibedakan atau dapat diidentifikasikan secara unik dengan objek lainnya, dimana semua informasi yang berkaitan dengannya dikumpulkan. Kumpulan dari entity yang sejenis dinamakan Entity Set

 

 

 

Atribut

 

Berfungsi untuk mendeskripsikan karakter entity atau relationship. Misal entity pegawai memiliki atribut nik, nama, alamat, nohp,dll

 

 

 

Varian Entitas

 

Entitas Lemah (Weak Entity)

 

            Berisi entitas yang kemunculannya tergantung pada eksistensinya dalam sebuah relasi.misal entitas Mahasiswa -orang tua & hobby, pegawai - tanggungan.

 

Entitas kuat (Strong Entity)

 

            Entitas yang berdiri sendiri, keberadaannya tidak tergantung dengan entitas lain.

 

 

 

Jenis Atribut

 

·        Atribut Key

 

            atribut yang digunakan untuk membedakan data secara unik.misal nik, nim, no_peserta.

 

 

 

·        Atribut Simple

 

            atribut bernilai tunggal, misal nama, harga, status.

 

 

 

·        Atribut Multivalue

 

            atribut memiliki sekelompok nilai yang banyak, misal gelar, hobby.

 

 

 

·        Atribut Composite

 

            atribut yang masih dapat diuraikan lagi, misal alamat, korban, waktu.

 

 

 

·        Atribut Derivatif

 

            atribut yang dihasilkan dari turunan atribut lain, misal umur dari tanggal lahir.

 

 

 

Simbol-simbol ER diagram

 

 

 

 

DERAJAT RELATIONSHIP

 

1.            Unary ( Derajat Satu )

 

            Adalah satu buah relationship menghubungkan satu buah entity.

 

           

 

            Contoh :

 

           

 

Keterangan :

 

            Manusia menikah dengan manusia, relationship menikah hanya menghubungkan entity manusia.

 

 

 

2.            Binary ( Derajat Dua )

 

            Adalah satu buah relationship yang menghubungkan dua buah entity.

 

            Contoh :

 

 

 

            Keterangan :

 

            Pegawai memiliki kendaraan, sebuah relationship memiliki mengubungkan entity Pegawai dan entity Kendaraan.

 

 

 

3.            Ternary ( Derajat Tiga )

 

            Adalah satu buah relationship menghubungkan tiga buah entity.

 

            Contoh :                                                                                                                                             

 

           

 

            Keterangan :

 

            Pegawai pada kota tertentu mempunyai suatu Proyek.

 

            Entity Bekerja mengubungkan Entity Pegawai, Proyek dan Kota

 

 

 

Cardinalitas Relasi

 

 

 

One to One

 

            Hubungan satu ke satu. Contoh seorang Dosen mengepalai satu jurusan.

 

 

 

One to Many

 

            Hubungan satu ke banyak. Contoh seorang Pelanggan membeli beberapa mobil.

 

 

 

Many to Many

 

            Hubungan banyak ke banyak. Contoh mahasiswa mengambil matakuliah.