Pemrograman
PL/SQL
Relasi Tabel Oracle 10G
03
Ilmu Komputer Sistem Informasi 1A4183CA Dian Wirawan, S.Kom, M.Kom
Abstract Kompetensi
Pengenalan terhadap relasi antar table Mahasiwa dapat mengetahui relasi table
dan mengerti teknik queri SQL di dan mengetahui proses queri dengan
Oracle Express Edition. SQL Oracle.
Relasi Antar Table Oracle 10G XE
1. Pendahuluan
Sebelum data dapat kita akses ada 3 hal yang harus di perhatikan, yaitu entitas ,
atribut dan relasi. Setelah kita mendeskripsikan hal – hal diatas maka kita dapat
mengakses data – data yang terdapat pada database. Dibawah penjelasan singkat
yang perlu diperhatikan untuk memulai mengakses data.
Relasi adalah hubungan antara tabel yang mempresentasikan hubungan antar objek
di dunia nyata. Relasi merupakan hubungan yang terjadi pada suatu tabel dengan
lainnya yang mempresentasikan hubungan antar objek di dunia nyata dan berfungsi
untuk mengatur mengatur operasi suatu database. Hubungan yang dapat dibentuk
dapat mencakup 3 macam hubungan, yaitu :
One-To-One (1-1)
Mempunyai pengertian "Setiap baris data pada tabel pertama dihubungkan hanya ke
satu baris data pada tabel ke dua". Contohnya : relasi antara tabel mahasiswa dan
tabel orang tua. Satu baris mahasiswa hanya berhubungan dengan satu baris orang
tua begitu juga sebaliknya.
One-To-Many (1-N)
Mempunyai pengertian "Setiap baris data dari tabel pertama dapat dihubungkan ke
satu baris atau lebih data pada tabel ke dua". Contohnya : relasi perwalian antara
tabel dosen dan tabel mahasiswa. Satu baris dosen atau satu dosen bisa
berhubungan dengan satu baris atau lebih mahasiswa.
2. Join
Join merupakan salah satu fitur SQL yang berguna menggabungkan tabel dengan
query-query yang mendapatkan kembali data. Join adalah salah satu dari beberapa
operasi paling penting yang dapat Anda lakukan dengan menggunakan statemen
SELECT. Dan sebagai bagian penting dalam mempelajari SQL, Anda perlu
memahami dengan baik join dan sintaks join.
Alasan utama digunakannya pemisahan data ke dalam banyak tabel memungkinkan
proses pemyimpanan menjadi lebih efesien, manipulasi lebih mudah dan skalabilitas
yang lebih besar.
Ketika kita memerlukan data dari beberapa tabel dalam database, dapat
menggunakan kondisi join. Data dari satu tabel dapat digabungkan dengan data dari
tabel lain berdasarkan nilai-nilai yang terdapat pada kolom-kolom yang
berhubungan, yang disebut kolom-kolom primary key dan foreign key.
Tipe-tipe Join
Equijoin
Non-equijoin
Outer join
3. Cartesian Product
Cartesian Product adalah hasil dari join yang tidak valid, sehingga menyebabkan
ditampilkannya seluruh kombinasi data dari tabel-tabel yang di-join-kan. Seluruh
baris dari tabel pertama di-join-kan dengan seluruh baris pada tabel kedua.
Contoh:
Employees
Salary
a. Equijoin
Kita dapat menampilkan data-data dari kedua tabel dengan men-join-kan foreign key
dari satu tabel dengan primary key dari tabel lainnya.
Contoh:
Contoh:
Menampilkan data karyawan yang memiliki nama akhir Wirawan dan departemen
tempat karyawan tersebut bekerja.
Menuliskan kolom dengan nama tabel dapat memakan waktu, terlebih jika nama
tabel cukup panjang.k Kita dapat mengatasi hal ini dengan menggunakan alias tabel
(memberikan nama lain kepada tabel dengan nama yang lebih pendek).
Contoh:
Perhatikan query tersebut diatas, yang dimaksud alias tabel adalah e dan d yang
masing-masing mewakili tabel karyawan dan departemen.
Non-equijoin adalah relasi antara dua atau lebih tabel dimana nilai dari kolom-kolom
yang dihubungkan tidak saling berhubungan secara langsung (tidak ada hubungan
primary key dan foreign key). Dalam non-equijoin digunakan operator selain equal
(=).
Contoh:
e. Outer Join
Sebuah query tidak akan menghasilkan data apapun apabila kondisi join tidak
terpenuhi. Sebagai contoh, Anda dapat mencoba menampilkan nama-nama
pelanggan dan sales representative dengan cara meng-equijoin-kan table Karyawan
dan Pelanggan. Pelanggan yang tidak memiliki sales representative tidak akan
ditampilkan karena kondisi join tidak terpenuhi.
Operator ini akan menampilkan hasil dari equijoin ditambah dengan hasil query yang
tidak memenuhi kondisi equijoin tersebut.
Sintaks:
Contoh:
f. Self Join
Contoh:
Perhatikan kasus diatas, karena manajer juga merupakan karyawan maka semua
data yang diperlukan berasal dari satu tabel yaitu Employee. Dengan menggunakan
alias tabel kita menciptakan seolah-olah terdapat dua tabel yaitu e (employees) dan
m (manager), yang keduanya berasal dari tabel yang sama yaitu Employee.
1. Tampilkan nama departemen dan nama belakang dari pegawai dalam satu
query.
2. Tampilkan nama belakang pegawai, kode dan nama departemen dimana
pegawai tersebut bekerja.
3. Tampilkan kode departemen, kode manager dan nama daerah tempat
departemen tersebut berada.
4. Tampilkan pegawai dengan nama belakang Chen, kode manager dan nama
departemen tempat ia bekerja.
5. Tampilkan nama belakang dan serta nama daerah tempat pegawai tersebut
bekerja, khusus untuk pegawai yang mendapatkan komisi.
6. Tampilkan nama pegawai, kode dan nama daerah tempat dimana pegawai
tersebut tinggal.
7. Tampilkan nama belakang karyawan, kode karyawan, dan Negara karyawan
urut berdasarkan kode karyawan.
8. Tampilkan nama belakang pegawai dan nama belakang atasan dari pegawai
tersebut serta alamatnya.
9. Tampilkan nama belakang pegawai, kode dan nama departemen tempat
pegawai tersebut bekerja.
10. Tampilkan nama belakang pegawai, nama departemen tempat pegawai
tersebut bekerja dan nama daerah tempat departemen tersebut berada.
11. Tampilkan nama belakang pegawai dan nama departemen tempat pegawai
tersebut bekerja khusus untuk pegawai dengan nama belakangnya Markle.
12. Tampilkan nama belakang pegawai, kode pegawai, nama belakang atasan
dari pegawai tersebut, serta kode dari atasan pegawai tersebut.