Aljabar Relasional
Tugas Skema Basis Data Relasional
oleh : DafaAryaNugraha_D1041191021
Model Data Relasional adalah suatu model basis data yang menggunakan tabel dua dimensi, yang terdiri atas baris dan kolom untuk menggambarkan sebuah berkas data. Model ini menunjukkan cara mengelola/mengorganisasikan data secara fisik dalam memory sekunder, yang akan berdampak pula pada bagaimana kita mengelompokkan data dan membentuk keseluruhan data yang terkait dalam sistem yang kita buat.
Istilah Dalam Model Basis Data Relasional
Relasi : Sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris.
-
Atribut : Kolom pada sebuah relasi (field)
Tupel : Baris pada sebuah relasi (record).
Domain : Kumpulan nilai yang valid untuk satu atau lebih atribut
Derajat (Degree) : Jumlah atribut dalam sebuah relasi (jumlah field)
Cardinality : Jumlah tupel dalam sebuah relasi (jumlah record)
Dalam sebuah basis data, untuk mencari satu data dari
keseluruhan data secara umum, dibutuhkan kunci untuk mempermudah pencarian dan
mempersingkat waktu yang digunakan untuk melakukan pencarian tanpa harus
melakukan penelusuran terhadap seluruh data. Kunci-kunci relasional dalam basis
data, terutama dalam model data relasional adalah sebagai berikut.
Super key : Satu atribut/kumpulan atribut yang secara unik mengidentifikasi sebuah tupel di dalam relasi (satu atau lebih field yang dapat dipilih untuk membedakan antara 1 record dengan record lainnya)
Candidate key : Atribut di dalam relasi yang biasanya mempunyai nilai unik (super key dengan jumlah field yang paling sedikit)
Primary key : Candidate key yang dipilih untuk mengidentifikasikan tupel secara unik dalam relasi
Alternate key : Candidate key yang tidak dipilih sebagai primary key
Foreign key : Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa
Relational Integrity Rules
Null : Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut.
Entity Integrity : Tidak ada satu komponen primary key yang bernilai null.
Referential Integrity : Suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut tunggal pada domain yang bersangkutan.
Bahasa Pada Model Data Relasional
Model data relasional menggunakan bahasa query, yaitu
pernyataan yang diajukan untuk mengambil informasi. Query terbagi dua, yaitu:
1. Bahasa Query Formal
Yaitu bahasa Query yang diterjemahkan menggunakan
bahasa atau simbol-simbol matematis. Bahasa Qery Formal terbagi menjadi dua
juga, yaitu:
Prosedural, yaitu bahasa query di mana pemakai harus memberi spesifikasi data yang dibutuhkan dan bagaimana cara mendapatkannya, misalnya aljabar relasional.
Non Prosedural, yaitu bahasa query dimana pemakai menjelaskan tupel yang diinginkan dengan menspesifikasikan predikat tupel yang diinginkan, misalnya kalkulus relasional. Kalkulus relasional terbagi dua, yaitu Kalkulus Relasional Tupel dan Kalkulus Relasional Domain.
Bahasa Query Komersial adalah bahasa query yang
dirancang oleh programmer sendiri sebagai suatu aplikasi yang user friendly
agar lebih mudah digunakan. Contoh dari bahasa query ini antara lain: QUEL, QBE
(Keduanya berbasis bahasa kalkulus relasional), lalu SQL yang menjadi bahasa
pemrograman dari aplikasi database MySQL, yang berbasis bahasa kalkulus
relasional dan aljabar relasional.
Aljabar Relasional
Aljabar relasional adalah sebuah bahasa query
prosedural yang terdiri dari sekumpulan operasi dimana masukkannya adalah satu
atau dua relasi dan keluarannya adalah sebuah relasi baru sebagai hasil dari
operasi tersebut. Operasi-operasi dasar dalam aljabar relasional antara lain :
1. Select
Operasi select berfungsi untuk menyeleksi tuple-tuple
yang memenuhi predikat yang diberikan dari sebuah tabel relasi. Simbol sigma
“σ” digunakan untuk menunjukkan operasi select. Predikat muncul sebagai
subscript dari σ dan kondisi yang diinginkan yang ditulis dalam predikat.
Argumen diberikan dalam tanda kurung yang mengikuti σ dan berisi tabel relasi
yang dimaksud.
2. Project
Operasi project berfungsi untuk memilih nilai
atribut-atribut tertentu saja dari sebuah tabel relasi. Simbol phi “Π”
digunakan untuk menunjukkan operasi project. Predikat muncul sebagai subscript
dari Π dan hanya nama atribut yang diinginkan yang ditulis dalam predikat.
Argumen diberikan dalam tanda kurung yang mengikuti Π dan berisi tabel relasi
yang dimaksud.
3. Union
Operasi union berfungsi untuk mendapatkan gabungan
nilai atribut dari sebuah tabel relasi dengan nilai atribut dari tabel relasi
lainnya. Simbol “∪”
digunakan untuk menunjukkan operasi union. Operasi union bernilai benar bila
terpenuhi 2 kondisi, yaitu : Derajat dari 2 tabel relasi yang dioperasikan
harus sama dan domain dari atribut yang dioperasikan juga harus sama.
4. Set Differences
Operasi set difference berfungsi untuk mendapatkan
nilai yang ada dalam sebuah tabel relasi, tapi tidak ada dalam tabel relasi
lainnya. Simbol “-“ digunakan untuk menunjukkan operasi set difference.
5. Cartesian Product
Operasi cartesian product berfungsi untuk
mengkombinasikan informasi yang ada dalam 2 tabel relasi dan menghasilkan
sebuah tabel relasi yang baru. Simbol “x“ digunakan untuk menunjukkan operasi
set difference.
Untuk operasi-operasi tambahannya adalah sebagai
berikut :
1. Set Intersection
Operasi set intersection berfungsi untuk mendapatkan
nilai yang ada dalam sebuah tabel relasi dan juga ada dalam tabel relasi
lainnya. Simbol “∩“ digunakan untuk menunjukkan operasi set intersection.
2. Natural Join
Operasi natural join memungkinkan kita untuk
menggabungkan operasi select dan cartesian product menjadi hanya 1 operasi
saja. Simbol “⋈“
digunakan untuk menunjukkan operasi natural join. Operasi natural join hanya
menghasilkan tupel yang mempunyai nilai yang sama pada 2 atribut yang bernama
sama pada 2 tabel relasi yang berbeda.
3. Division
Operasi division berfungsi untuk query yang memasukkan
frase “untuk semua/seluruh”. Simbol “÷“ digunakan untuk menunjukkan operasi
division.
4. Theta Join
Operasi theta join berfungsi jika kita ingin
mengkombinasikan tupel dari 2 tabel relasi dimana kondisi dari kombinasi
tersebut tidak hanya kesamaan nilai dari 2 atribut bernama sama, tetapi kondisi
yang diinginkan juga bisa menggunakan operator relasional (≤, <, =, >,
≥). Operasi theta join merupakan ekstensi dari natural join.
Comments
Post a Comment