Selasa, 30 April 2013

Relasi Dan Join (Basis Data)


1.      Relationship
           Relationship adalah suatu hubungan antara beberapa entitas. Konsep ini sangat penting sekali di dalam basis data, di mana memungkinkan entitas-entitas untuk saling berhubungan satu sama lain
           Di dalam sebuah relationship, primary key memiliki peran sangat penting untuk mengaitkan entitas. Selain itu, primary key juga di gunakan untuk mendefinisikan batasan keterhubungan.
Jenis-jenis relasi entitas :
a.       Satu ke satu (one to one)
Setiap data pada entitas A berhubungan dengan maksimal satu data pada entitas B, begitu pula sebaliknya.
b.      Satu ke banyak (one to many) atau banyak ke satu (many to one)
Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas B, tetapi data pada entitas B berhubungan maksimal hanya dengan sebuah data di A.
c.       Banyak ke banyak (many to many)
Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas B, demikian pula sebaliknya.

2.      Join
           Join merupakan salah satu konstruksi dasar dari SQL dan basis data. Join dapat di definisikan sebagai kombinasi record dari dua atau lebih tabel di dalam basis data relational dan menghasilkan sebuah tabel (temporary) baru yang disebut sebagai joined table. Join dapat di klasifikasikan ke dalam 2 jenis, yaitu inner join dan outer join.
a.       Inner Join
Inner join pada dasarnya adalah menemukan persimpangan (intersection) antara dua buah tabel.
Sintaks inner join sebagai berikut


       SELECT A1, A2, ..., An
       FROM r1
       INNER JOIN r2
       ON r1.join_key = r2.join_key

Jika di representasikan dalam bentuk implisit

       SELECT A1, A2, ..., An
       FROM r1
       WHERE r1.join_key = r2.join_key

b.      Outer Join
Outer join di bagi 3 jenis, yaitu left outer join, right outer join, dan full outer join
1.      Left Outer Join
Left outer join mengembalikan semua nilai dari tabel kiri di tambah dengan nilai dari tabel kanan yang sesuai (atau NULL jika tidak ada nilai yang sesuai). Sintaks left outer join sebagai berikut

       SELECT A1, A2, ..., An
       FROM r1
       LEFT OUTER JOIN r2
       ON r1.join_key = r2.join_key

2.      Righ outer join
Right outer join mengembalikan semua nilai dari tabel kanani di tambah dengan nilai dari tabel kiri yang sesuai (atau NULL jika tidak ada nilai yang sesuai). Sintaks right outer join sebagai berikut :

       SELECT A1, A2, ..., An
       FROM r1
       RIGHT OUTER JOIN r2
       ON r1.join_key = r2.join_key
   
3.      Full outer join
Full outer join adalah kombinasi dari right dan left outer join. Sintaks full outer join sebagai berikut

      SELECT A1, A2, ..., An
      FROM r1
      FULL OUTER JOIN r2
      ON r1.join_key = r2.join_key

c.       Cross Join
Menggabungkan/output isi kedua table secara permutasi (Cartesian Products)
Dengan kata lain, cross join akan menghubungkan tiap-tiap kolom table A dengan masing-masing kolom di table B tanpa memperhatikan PK.


d.      Natural Join
Menggabungkan/output isi kedua table berdasarkan nama kolom yang sama tanpa suatu kondisi(qualifier). Menurut para pengamat, natural join sangat disarankan tidak digunakan.

1 komentar:

Unknown mengatakan...

:e:

:a: :b: :c: :d: :e: :f: :g: :h: :i: :j: :k: :l: :m: :n:

Posting Komentar