Model Relasional
Basis Data Relasional menggunakan tabel dua dimensi yang terdiri atas baris dan kolom untuk memberi gambaran sebuah berkas data. Basis data terdiri dari kumpulan dari satu atau lebih relasi, masing-masing relasi merupakan tabel yang terdiri dari baris dan kolom.
Keuntungan Basis Data Relasional
1. Bentuknya sederhana
2. Mudah untuk melakukan berbagai operasi data
Istilah dalam Basis Data Relasional
• Relasi
kontruksi utama merepresentasikan data dalam model relasional adalah relasi. Relasi pertama kali didefinisikan menggunakan teori himpunan. Cara mudah untuk mendefinisikan sebuah relasi adalah sebagai sebuah tabel dimana data-datanya disimpan dalam baris tabel. Relasi terdiri dari skema relasi dan contoh relasi.
sebuah relasi harus representasi logik yaitu :
1. tidak terdapat duplikasi baris
2. urutan baris tidak diperhatikan
3. setiap kolom dalam satu relasi mempunyai sebuah nama yang unik
• Atribut : merupakan kolom pada sebuah relasi.
• Tupel : baris pada sebuah relasi
• Domain : kumpulan nilai yang valid untuk satu atau lebih atribut
• Derajat : jumlah atribut dalam sebuah relasi
• Cardinality : jumlah tupel dalam sebuah relasi
Relational Keys
- Super Key
Adalah sebuah atau sekumpulan atribut yang secara unik mengidentifikasi sebuah tupel dalam tabel relasi.
- Candidate Key
Adalah super key yang himpunan bagian yang sebenarnya tidak ada yang menjadi super key juga.
- Primary Key
Adalah candidate key yang dipilih sebagai pengidentifikasi unik untuk sebuah tabel relasi.
- Alternate Key
Adalah candidate key yang tidak dipilih sebagai primary key.
- Foreign Key
Adalah atribut dengan domain yang sama menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa
Relational Integrity Rule
1. Null
Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut.
2. Entity Integrity
Tidak ada satu komponen primary key yang bernilai null
3. Referential Integrity
Suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut domain yang bersangkutan
Bahasa Pada Basis Data Relasional
• Bahasa Formal
bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis
- Aljabar relasional
Adalah sekumpulan operasi dimana masukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah relasi baru sebagai hasil dari operasi tersebut. Perintah dasar dari operasi aljabar rasional adalah
- select : operasi yang digunakan untuk memilih tupel-tupel yang memenuhi suatu predikat menggunakan operator perbandingan
- project : operasi yang digunakan untuk memilih kolom dalam suatu tabel
- union : menghasilkan suatu tabel baru sehingga tidak ada duplikasi data
- intersection : operasi binary yang digunakan untuk membentuk sebuah relasi baru dengan tupel yang berasal dari kedua tabel yang dihubungkan
- set difference : operasi untuk mendapatkan tabel baru dari sebuah relasi dimana elemen barisnya terdapat di r tetapi tidak di ada di s. r dan s harus memiliki jumlah atribut yang sama
- rename : operasi untuk menyalin tabel lama ke tabel yang baru
selain itu ada beberapa tambahan operasi seperti
- cartesian product : proses yang menghasilkan tabel hasil perkalian dua tabel
- natural join : berfungsi untuk menggabungkan operasi selection dan cartesian product menjadi hanya 1 operasi saja.
- theta join : berfungsi untuk mengkombinasikan tupel dari 2 tabel relasi dimana kondisi dari kombinasi tersebut tidak hanya nilai dari 2 atribut bernama sama, tetapi kondisi yang diinginkan juga bisa menggunakan operator relasional (≤, <, =, >, ≥)
- division : operasi yang berfungsi untuk query yang memasukkan frase "untuk semua/seluruh".
- Kalkulus relasional
Dalam kalkulus relasional tidak ada penjabaran bagaimana mengevaluasi querinya, hanya menspesifikkan apa yang harus ditampilakan bukan bagaimana menampilkan. Memungkinkan user menggambarkan apa yang mereka inginkan, tidak pada pada bagaimana cara melakukan komputasi terhadap apa yang mereka inginkan tersebut. (tidak bersifat operasional, tapi bersifat deklaratif).
1. Kalkulus relasional berdasarkan tupel
Dalam kalkulus relasional tupel digunakan variabel dari tupelnya .variabel dari suatu tupel adalah daerah yang terdefinisi sebagai nama dari suatu relasi.
2. Kalkulus relasional berdasarkan domain
Simbol yang muncul pada formula terdiri dari : konstan (elemen-elemen domain D), variabel (elemen-elemen dari himpunan berhingga V yang dihubungkan dengan domain D), nama relasi (tabel) dan atribut (berdasarkan skema basis data), operator perbandingan (=, ≠, >, >=, <, <=), penghubung logika (Λ ( dan / konjugsi), (V atau/disjungsi), ⌐ (not/negasi), ada/beberapa( ), dan semua ( )).
• Bahasa Komersial
bahasa query yang dirancang sendiri oleh programmer menjadi suatu program aplikasi agar pemakai lebih mudah mengunakannya.
Optimasi Query
Optimasi query merupakan proses untuk menganalisa query dan menentukan sumber-sumber apa saja yang digunakan oleh query tersebut dan apakah pengguna tersebut di kurangi tanpa merubah output. Ada 3 aspek yang mempengaruhi optimasi query, yaitu:
1. Search Space
2. Cost Model
3. Search Strategy
Tujuan optimasi query adalah meminimumkan waktu proses, I/O, penggunaan memory dan meminimumkan total waktu pada proses query. Ada 2 cara pendekatan optimasi query, yaitu :
1. Heuristik atau Rule-Based
Optimasi untuk jenis ini mentransformasikan query yang akan meningkatkan kinerja eksekusi yaitu :
• Mereduksi jumlah baris dengan melakukan operasi selction
• Mereduksi jumlah atribut dengan melakukan operasi projection
• Mengkonversi query dengan banyak join menjadi query dengan banyak subquery
• Melakukan operasi selection dan join yang paling kecil keluarnya sebelum operasi lain
2. Cost-Based
Optimasi untuk jenis ini dipergunakan dari beberapa alternatif untuk dipilih menadi salah satu cost yang terendah. Selain itu teknik ini juga mengoptimalkan urutan join terbalik pda relasi-relasi R1 sampai Rn. Pada teknik ini juga dipergunakan untuk mendapatkan pohon left-deep join agar menghasilkan relasi pada node sebelah kanan.
Tugas membuat skema basis data relasional :
https://drive.google.com/file/d/1tYTvW--Z4-HAlBTcILvHXtt_9APKg0gm/view?usp=sharing
source :
http://endysasa.blogspot.com/2012/06/kalkulus-relasional.html
Tidak ada komentar:
Posting Komentar