Basis Data Relasional
Pengertian
Basis data relasional merupakan jenis basis data yang paling sederhana dan juga perbaikan dari jenis basis data sebelumnya yaitu basis data Hierarki dan basis data Jaringan. Basis Data Relasional ini menggunakan struktur basis data dua dimensi yang terdiri atas baris dan kolom untuk memberikan gambaran sebuah berkas data.
Kelebihan
Beberapa kelebihan dari Basis Data Relasional adalah :
- Mudah Digunakan
- Basis Data Relasional relatif lebih mudah dibaca dan dipahami daripada basis data lain.
- Fleksibel
- Penggunaan yang fleksibel dimana setiap kebutuhan dapat diambil atau digunakan dengan operator-operator tertentu.
- Kemanan yang baik
- Memiliki tingkat keamanan yang baik karena adanya kendali keamanan dan authorisasi pada data-data yang sensitif pada suatu tabel.
- Tingkat presisi tinggi
- Ditekannya faktor ambiguitas dengan melakukan berbagai macam operasi aljabar dan kalkulus relasional pada saat memproses manipulasi relasi antar tabel.
- Dapat menggunakan bahasa pemrograman khusus query
- Basis Data Relasional memungkinkan penggunaan bahasa pemrograman khusus untuk query database sehingga membuat programmer dapat membuat suatu fingsi dengan lebih mudah.
- Kemandirian Data
- Data yang mandiri adalah data yang tidak terikat antara satu data dengan data lain yang memiliki tingkatan yang berbeda. Kemandirian ini sangat penting dicapai untuk manajemen basis data bertipe terpusat.
Kekurangan Basis Data Relasional
Beberapa kekurangan dari Basis Data Relasional adalah
- Penggunaan Penyimpanan yang relatif tinggi
- Data yang terpisah tapi terhubung satu dengan lainnya akan membutuhkan tempat penyimpanan yang lebih tinggi daripada data yang hanya tersimpan menjadi satu bagian.
- Kebutuhan Kemampuan Komputasi yang lebih tinggi
- Penggunaan database relasional akan membutuhkan tingkat komputasi yang tinggi karena pada setiap operasi akan dilakukan komputasi penggunaan aljabar dan kalkulus. Basis Data Relasional menyembunyikan kerumitan penggunaan aljabar dan kalkulus dari sisi pengguna.
- Ekstrasi Data Yang Relatif Lambat
- Hal ini disebabkan karena data yang ingin digunakan perlu di ekstrak dengan direlasikan dahulu dengan tabel data lainnya.
- Terisolasinya Data
- Sulitnya melakukan sharing informasi dikarenakan basis data yang kompleks dapat berubah menjadi sebuah pulau informasi yang akan mempersulit membagikan informasi antar sistem besar.
- Terbatasnya Struktur Basis Data
- Diperlukannya pengaturan berupa batasan panjang dari data yang jika terdapat kesalahan dimana panjang dari data lebih pendek dari spesifikasi data yang akan disimpan, maka data akan disimpan dan akan dipotong dengan panjang yang telah ditentukan.
Istilah Dalam Basis Data Relasional
Beberapa istilah yang digunakan dalam Basis Data Relasional yaitu :
- Relasi
- Merupakan sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris. Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.
- Atribut
- Merupakan kolom pada sebuah relasi. Setiap entitas pasti memiliki aribut yang mendeskripsikan karakter dari entitas tersebut.
- Tupel
- Merupakan baris pada sebuah relasi atau kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap. Satu record mewakilisatu data atau informasi tentang seseorang.
- Contoh : NIM, Nama Mahasiswa, Alamat, dll.
- Domain
- Merupakan kumpulan nilai yang valid untuk satu atau lebih atribut.
- Derajat (Degree)
- Merupakan jumlah atribut dalam sebuah relasi
- Caldinality
- Merupakan jumlah tupel dalam sebuah relasi
Kunci Dalam Basis Data Relasional
Dalam Basis data ini juga terdapat Relational Key yaitu attribut yang dapat mengidentifikasi sebuah tabel. Beberapa jenis relational key yaitu :
- Super key
- Merupakan satu atau kumpulan atribut yang mengidentifikasi sebuah baris
- Candidate key
- Merupakan atribut pada tabel yang merupakan data unik
- Primary key
- Merupakan candidate key terpilih untuk mengidentifikasi tupel secara unik
- Alternate key
- Merupakan candidate key yang tidak terpilih sebagai primary key
- Foreign key
- Merupakan penghubung dalam sebuah relasi dimana pada tabel yang satu hanyalah atribut biasa namun merupakan primary key pada tabel lain.
Relational Integrity Rules
Relational Integrity Rules merupakan peraturan dalam hubungan antar data suatu relasi. Terdapat beberapa aturan yang harus dipenuhi yaitu :
- Null
- Merupakan nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris(tuple) tersebut.
- Entity Integrity
- Berlaku jika tidak ada satu komponen primary key yang bernilai null
- Referential Integrity
- Suatu domain dapat dipakai sebagai kunci pimer bila merupakan atribut tunggal pada domain yang bersangkutan
Bahasa Pada Model Basis Data Relasional
Model Basis Data Relasional menggunakan bahasa query, yaitu pernyataan yang diajukan untuk mengambil informasi. Bahasa Query dibagi menjadi dua, yaitu :
- Bahasa Query Formal
- Yaitu bahasa query yang diterjemahkan menggunakan bahasa atau simbol-simbol matematis. Query Formal dibagi menjadi dua yaitu :
- Prosedural
- Bahasa Query dimana pengguna harus memberi spesifikasi data yang dibutuhkan dan bagaimana cara mendapatkannya. Misalnya Aljabar Relasional.
- Non Prosedural
- Bahasa Query dimana pengguna menjelaskan tupel yang diinginkan dengan menspesifikasikan predikat tupelnya.
- Bahasa Query Komersial
- Merupakan bahasa query yang dirancang oleh programmer sendiri sebagai suatu aplikasi yang user friendly agar lebih mudah digunakan. Contohnya SQL, QUEL, QBE, dll.
Aljabar Relasional
Pengertian
Aljabar relasional merupakan sekumpulan operasi yang digunakan untuk melakukan proses manipulasi data untuk mendapatkan informasi yang diperlukan dari basis data.
Menurut Wikipedia, Aljabar relasional adalah bagian dari ilmu komputer, cabang dari logika predikat tingkat pertama dan aljabar himpunan, yang menangani suatu set relasi hingga yang memiliki sifat ketertutupan dengan operator-operator tertentu. Operator ini bertindak dengan satu atau lebih relasi untuk menghasilkan suatu relasi (gabungan). Aljabar relasional mulai mendapat perhatian dengan diterbitkannya model relasional data oleh Edgar F. Codd pada tahun 1970 yang mengusulkan untuk menggunakan aljabar ini sebagai dasar dari bahasa kueri basis data.
Jenis-Jenis Operasi
- Operasi unary terdiri dari selection, projection, dll.
- Disebut operasi unary karena dapat digunakan hanya pada satu tabel.
- Operasi binary terdiri dari union, intersection, set difference, cartesian product, join dan division.
- Disebut operasi binary karena memerlukan sepasang tabel.
Perintah Dasar Operasi Aljabar Relasional
- Select
- Digunakan untuk menyeleksi tuple-tuple yang memenuhi predikat dengan menggunakan operator perbandingan (=,≠,>,≥ ,≤,<).
- Dilambangan dengan Sigma (σ).
- Dapat dikombinasikan menjadi predikat majemuk dengan menggungakan penghubung DAN (AND (∧)) dan ATAU (OR (∨)).
- Project
- Digunakan untuk memilih kolom dalam suatu tabel.
- Notasi: πA1,A2, …,An(t) dimana A1,A2, ….,An adalah nama atribut dan t adalah nama tabel.
- Union
- Digunakan untuk menghasilkan tabel baru yang elemen barisnya merupakan elemen dari r dan s, sehingga tidak ada duplikasi data.
- Notasi : r s= { x | x r , x r }
- Set Difference
- Operasi untuk mendapatkan tabel baru dari sebuah relasi dimana elemen barisnya terdapat di r tetapi tidak ada di s. r dan s pun harus memiliki jumlah atribut yang sama.
- Notasi : r-s = {x | x ϵ r dan x ϵ s}.
- Aljabar relasionalnya: π a(r) - π a(r).
- Cartesian Product
- Proses yang menghasilkan tabel hasil perkalian dua tabel.
Terdapat juga perintah tambahan seperti set intersection, natural join, division, dan theta join. Terdapat juga operasi-operasi lainnya yaitu :
- Rename
- Operasi untuk menyalin tabel lama ke dalam tabel baru.
- Notasi : ρ
- Aljabar relasionalnya : ρtb(σb=5(r)), maka akan terbentuk sebuah tabel baru dengan b=5.
- Set Intersection
- Operasi binary untuk membentuk sebuah relasi baru dengan tupel yang berasal dari kedua tabel yang dihubungkan.
- Notasi : r ⋂ s = r-(r-s) atau r ⋂ s = s-(s-r)
- Aljabar relasionalnya : πa(r) ⋂ πa(s).
- Division
- Operasi untuk menghasilkan suatu tabel dari dua buah tabel yang terdiri dari atribut dari tabel R yang tidak terdapat pada tabel S dengan tupel-tupel dari tabel R yang memiliki kesamaan dengan tupel-tupel yang ada pada tabel S secara keseluruhan dan tidak terdapat duplikasi data.
- Simbol : ÷
Optimasi Query
Optimasi Query merupakan sebuah prosedur untuk meningkatkan strategi evaluasi dari suatu query untuk membuat evaluasi tersebut menjadi lebih efektif. Optimasi ini mencakup beberapa teknik seperti transformasi query kedalam bentuk logika yang sama, memilih jalan akses yang optimal dan mengoptimumkan penyimpanan data.
Oprimasi Query ini bertujuan untuk menemukan jalan akses yang termurah dan efisien untuk meminimumkan total waktu, I/O, dan memory saat proses sebuah query.
Pendekatan-pendekatan Optimasi
Optimasi dapat menggunakan pendekatan Heuristic dan Cost-Based.
- Heuristik atau Rule Based
- Heuristik atau Rule Based merupakan optimasi yang mentransformasikan query sehingga meningkatkan kinerja eksekusi.
- Metode yang sering digunakan dalam pendekatan ini adalah Greedy Method yang menggunakan query tree untuk menganalisisnya.
- Cara Kerja Pendekatan Heuristic :
- Mereduksi jumlah baris dengan operasi selection.
- 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.
- Cost-Based
- Cost Based merupakan optimasi untuk memilih cost yang terendah. Merupakan cara untuk mengoptimalkan urutan join terbalik pada relasi-relasi R1 sampai Rn.
- Cost Based menggunakan statistik dalam basis data yang disimpan dalam kamus data yang berupa meta data (Darmanto. 2015)
Tugas Skema Basis Data Relasional
Link Google Drive :
Referensi
- Basis Data Relasional, Anggi Perwitasar, ST, MT
- https://dosenit.com/kuliah-it/database/database-relasional
- https://dosenit.com/kuliah-it/database/keuntungan-dan-kerugian-database-relasional
- http://aryanto-blogsku.blogspot.com/2013/01/istilah-istilah-dalam-model-relasional.html
- https://diahsulistiyanti.wordpress.com/2015/12/28/model-data-relasional
- https://databasewannabe.wordpress.com/2014/09/23/aljabar-relasional/
- https://id.wikipedia.org/wiki/Aljabar_relasional
- https://slideplayer.info/slide/12346765/
- http://fadhil-rajabian.blogspot.com/2014/04/optimasi-query.html
- https://core.ac.uk/download/pdf/267934653.pdf
Tidak ada komentar:
Posting Komentar