Anda di halaman 1dari 5

9.

2 Relasi n – ary dan aplikasinya

1. Relasi n – ary

Relasi n – ary ( dibaca : ener) adalah relasi yang lebih umum yang menghubungkan lebih dari
dua buah himpunan.

Misalnya :

A1,A2,A3, … , An merupakan sebuah himpunan. Relasi n – ary pada himpunan ini adalah himpunan
bagian (subset) dari A1 x A2 x … x An

Dimana himpunan A1, A2, … , An disebut domain(daerah asal) relasi atau dengan notasi R ⊆ A1 ×
A2 × ... × An.

N disebut derajat.

CONTOH 1 :

Misalkan R adalah hubungan pada N × N × N yang terdiri dari tiga kali lipat (a, b, c) di mana a,
b, dan c adalah bilangan bulat

dengan a < b < c. Kemudian (1, 2, 3) ∈ R, tetapi (2, 4, 3) / ∈ R. Tingkat hubungan ini adalah 3.
Domainnya

semua sama dengan himpunan bilangan asli.

CONTOH 2 :

Misalkan MAHASISWA adalah relasi yang terdiri dari 5 – tupel

NIM= {1804111010001, 1804111010002, 1804111010003, 1804111010004, 1804111010005,


1804111010006}

Nama= {Fina, Yulita, Wika, Ari, Mukhlis, Firdaus}

MK= {Matematika Diskrit,Daskom,Logika Digital, Organisasi Komputer}

Nilai= {A,B, C, D,E}


Relasi MAHASISWA terdiri dari 5-tupel (NIM, Nama, MK, Nilai): MHS ⊆ NIM × Nama × MK
× Nilai.

2. Basis Data dan Relasi


Waktu yang diperlukan untuk memanipulasi informasi dalam database tergantung pada
bagaimana informasi ini disimpan. Operasi menambah dan menghapus catatan, memperbarui
catatan, mencari catatan, dan menggabungkan catatan dari database yang tumpang tindih
dilakukan jutaan kali setiap hari dalam database besar. Karena pentingnya operasi ini, berbagai
metode untuk mewakili basis data telah dikembangkan. Pada pembahasan kali ini akan membahas
salah satu metode model data relasional, berdasarkan konsep relasi.

Database terdiri dari catatan, yang merupakan n-tupel, terdiri dari bidang. Field adalah entri
dari n-tuple. Misalnya, database catatan siswa dapat terdiri dari bidang yang berisi nama, jumlah
siswa, jurusan, dan nilai rata-rata siswa. Model data relasional mewakili database catatan sebagai
relasi n-ary. Dengan demikian, catatan siswa yang direpresentasikan sebagai 4-tupel formulir
(Student_name, ID_number, Major, IPK). Database sampel dari enam catatan tersebut adalah :

(Ackermann, 231455, Ilmu Komputer, 3.88)


(Adams, 888323, Fisika, 3.45)
(Chou, 102147, Ilmu Komputer, 3.49) (Goodfriend, 453876, Matematika, 3.45) (Rao, 678543,
Matematika, 3.90) (Stevens, 786576, Psikologi, 2.99).

Relasi yang digunakan untuk merepresentasikan basis data juga disebut tabel, karena relasi ini
sering ditampilkan sebagai tabel. Setiap kolom tabel sesuai dengan atribut dari database. Misalnya,
database siswa yang sama ditampilkan pada Tabel 1. Atribut dari database ini adalah Nama Siswa,
Nomor ID, Jurusan, dan IPK.

Domain relasi n-ary disebut kunci primer ketika nilai n-tuple dari domain ini menentukan n-
tuple. Yaitu, domain adalah kunci utama ketika tidak ada dua n-tupel dalam relasi yang memiliki
nilai yang sama dari domain ini. Catatan sering ditambahkan atau dihapus dari basis data. Karena
itu, properti yang domain adalah kunci utama bergantung pada waktu. Akibatnya, kunci utama
harus dipilih yang tetap menjadi satu setiap kali database diubah. Kumpulan n-tuple saat ini dalam
suatu relasi disebut ekstensi relasi. Bagian yang lebih permanen dari suatu basis data, termasuk
nama dan atribut dari basis data, disebut kehebatannya. Saat memilih kunci utama, tujuannya
adalah untuk memilih kunci yang dapat berfungsi sebagai kunci utama untuk semua ekstensi yang
mungkin dari database. Untuk melakukan ini, perlu memeriksa intensi dari database untuk
memahami set kemungkinan n-tuple yang dapat terjadi dalam ekstensi.

3. Operasi Pada Relasi n – ary

Ada berbagai operasi pada relasi n-ary yang dapat digunakan untuk membentuk relasi n-ary
baru. Secara bersamaan, operasi ini dapat menjawab pertanyaan pada database yang meminta
semua n-tuple yang memenuhi kondisi tertentu.

Operasi paling dasar pada relasi n-ary adalah menentukan semua n-tuple dalam relasi n-ary
yang memenuhi kondisi tertentu. Sebagai contoh, kita mungkin ingin menemukan semua catatan
dari semua jurusan ilmu komputer dalam database catatan siswa. Untuk melakukan tugas-tugas
seperti itu dibutuhkan operator seleksi.

Definisi 2;

Biarkan R menjadi relasi n-ary dan C kondisi yang elemen-elemen dalam R dapat dipenuhi.
Kemudian operator seleksi sC memetakan relasi n-ary R ke relasi n-ary semua n-tuple dari R yang
memenuhi kondisi C

Example:

Untuk menemukan catatan jurusan ilmu komputer dalam relasi n-ary R yang ditunjukkan pada
Tabel 1, menggunakan operator sC1, di mana C1 adalah kondisi Jurusan = "Ilmu Komputer"
Hasilnya ada dua (Ackermann, 231455 , Ilmu Komputer, 3.88) dan (Chou, 102147, Ilmu
Komputer, 3.49). Selanjutnya, untuk menemukan catatan siswa yang memiliki nilai rata-rata di
atas 3,5 dalam database, digunakan operator sC2, di mana C2 adalah kondisi IPK> 3,5. Hasilnya
ada dua (Ackermann, 231455, Ilmu Komputer, 3,88) dan (Rao, 678543, Matematika, 3,90).
Terakhir, untuk menemukan catatan jurusan ilmu komputer yang memiliki IPK di atas 3,5,
digunakan operator sC3, di mana C3 adalah kondisi (Jurusan = "Ilmu Komputer" ∧ IPK> 3,5).
Hasilnya hanya ada satu (Ackermann, 231455, Ilmu Komputer, 3,88).

Definisi 3;

Proyeksi Pi1i2, ..., im di mana i1 <i2 <··· <im, memetakan n-tuple (a1, a2, ..., an) ke m-tuple (ai1, ai2,
..., aim), di mana m ≤ n.

Example;

Apa hasil ketika P1,3 diterapkan pada (2, 3, 0, 4), (Jane Doe, 234111001, Geografi, 3.14), dan (a1,
a2, a3, a4)?

Solusi: P1,3 mendapatkan hasil menjadi (2, 0), (Jane

4. SQL

Bahasa query database SQL (kependekan dari Structured Query Language) dapat digunakan untuk
membawa operasi yang telah di jelaskan pada bab ini. Contoh 12 menggambarkan bagaimana perintah
SQL terkait dengan operasi pada n-ary relations.

LATIHAN 12

Di bab ini akan digambarkan bagaimana SQL digunakan untuk mengekspresikan kueri dengan
menunjukkan bagaimana SQL dapat digunakan untuk membuat kueri tentang penerbangan dengan
menggunakan Tabel 8. Pernyataan SQL adalah :

SELECT Departure_time
FROM Flights
WHERE Destination=’Detroit’
digunakan untuk menemukan proyeksi P5 (pada atribut Departure_time) dari pemilihan 5-tupel di
database penerbangan yang memenuhi ketentuan: Tujuan = 'Detroit'. Outputnya adalah a daftar yang
berisi waktu penerbangan yang memiliki Detroit sebagai tujuan mereka, yaitu, 08:10, 08:47 dan 09:44.
SQL menggunakan klausa FROM untuk mengidentifikasi relasi n-ary yang diterapkan oleh query WHERE
klausa untuk menentukan kondisi operasi pemilihan, dan klausa SELECT ketentukan operasi proyeksi
yang akan diterapkan.

LATIHAN 13

SELECT Professor, Time


FROM Teaching_assignments, Class_schedule
WHERE Department=’Mathematics

digunakan untuk menemukan proyeksi P1,5 dari 5-tupel dalam basis data (ditunjukkan pada Tabel 7),
yang adalah gabungan J2 dari database Teaching_assignments dan Class_schedule di Tabel 5 dan 6,
masing-masing, yang memenuhi syarat: Departemen = Matematika. Outputnya akan terdiri dari single 2-
tuple (Rosen, 3:00 hal). Klausa SQL FROM digunakan di sini untuk menemukan gabungan dari dua
database berbeda.

Anda mungkin juga menyukai