SQL Antar Tabel

15
Relasi Antar Tabel Andri Suryadi, M.Kom

description

sql antar tabel

Transcript of SQL Antar Tabel

Page 1: SQL Antar Tabel

Relasi Antar TabelAndri Suryadi, M.Kom

Page 2: SQL Antar Tabel

Mendefiniskan Relasi • Contoh kasus

Page 3: SQL Antar Tabel

Tabel yang dihasilkanTabel MAHASISWANama Field Tipe

NIM TEXT (PK)

NAMA TEXT

KODE_JUR TEXT (FK)

Tabel ORGANISASINama Field Tipe

KODE_ORG TEXT (PK)

NAMA_ORG TEXT

Tabel JURUSANNama Field Tipe

KODE_JUR TEXT (PK)

NAMA_JUR TEXT

KODE_FAK TEXT (FK)

Tabel FAKULTASNama Field Tipe

KODE_FAK TEXT (PK)

NAMA_FAK TEXT

Tabel MHS_ORGNama Field Tipe

ID AUTONUMBER (PK)

NIM TEXT

KODE_ORG TEXT

TGL_GABUNG DATE

Page 4: SQL Antar Tabel

Buat Database Access• Database

Page 5: SQL Antar Tabel

Relationship

Page 6: SQL Antar Tabel

Relasikan tabel• Cara :

• Add Semua tabel yang ada• Drag atribut yang akan direlasikan• Ceklist Enforce Referential integrity dan

Cascade update Related field

Page 7: SQL Antar Tabel

Hasil relasi

Page 8: SQL Antar Tabel

Isi Data

Page 9: SQL Antar Tabel

SQL: Join Antar Table

• SQL dapat kita gunakan untuk menggabungkan beberapa tabel.

• Misalnya kita akan menampilkan nim, nama mahasiswa, beserta nama jurusannya (bukan kode jurusan)

select MAHASISWA.NIM, MAHASISWA.NAMA,

JURUSAN.NAMA_JURfrom

MAHASISWA ,JURUSAN

whereMAHASISWA.KODE_JUR = JURUSAN.KODE_JUR

Page 10: SQL Antar Tabel

SQL: Join Antar Table

• Bentuk lain

select M.NIM, M.NAMA, J.NAMA_JUR

fromMAHASISWA M,JURUSAN J

whereM.KODE_JUR = J.KODE_JUR

Page 11: SQL Antar Tabel

SQL: Join Antar Table

• Bagaimana jika selain kode jurusan kita juga ingin menampilkan nama fakultas, dan hanya mahasiswa dari fakultas MIPA saja yang akan ditampilkan?

select M.NIM, M.NAMA, J.NAMA_JUR, F.NAMA_FAK

fromMAHASISWA M,JURUSAN J,FAKULTAS F

whereM.KODE_JUR = J.KODE_JUR andJ.KODE_FAK = F.KODE_FAK and

F.KODE_FAK = ‘F01

Page 12: SQL Antar Tabel

Nilai NULL dan Outer Join

• NULL adalah nilai kosong pada field. Secara default, field yang dibuat pada Access dapat berisi NULL, kecuali untuk primary key.

• Pada relasi antar tabel, nilai NULL pada foreign dapat menyebabkan query menghasilkan hasil yang salah. Contoh: Suatu saat anda lupa mengisi field KODE_JUR pada tabel MAHASISWA bagi mahasiswa bernama ‘Asep’.

• SQL :SELECT m.NIM, m.NAMA FROM MAHASISWA m,

JURUSAN j WHERE m.KODE_JUR = j.KODE_JUR

Page 13: SQL Antar Tabel

Nilai NULL dan Outer Join

• Hasilnya tidak semua mahasiswa tampil karena kode jurusan untuk Asep tidak terisi

• Solusi?1. Oleh karena itu, untuk field yang

merupakan foreign key, sangat dianjurkan mengeset property required menjadi “YES”.

2. Outer JoinSELECT NIM,NAMA, NAMA_JUR FROM MAHASISWA LEFT JOIN JURUSAN ON MAHASISWA.KODE_JUR = JURUSAN.KODE_JUR

Page 14: SQL Antar Tabel

Nilai NULL dan Outer Join

• Ada dua jenis outer join pada Access, left join dan righ join. Left join berarti semua record pada bagian kiri (MAHASISWA) akan ditampilkan seluruhnya terlepas apakah memiliki pasangan atau tidak pada bagian kanannya (JURUSAN). Right join adalah sebaliknya.

Page 15: SQL Antar Tabel

Latihan• Dari ERD yang telah dibuat tentukan:a. Seluruh mahasiswa beserta jurusan dan

fakultasnyab. Seluruh mahasiswa yang mengikuti

organisasi pencak silatc. Menampilkan mahasiswa yang ada di

jurusan komputerd. Menampilkan jumlah mahasiswa yang

ada dijurusan komputer