Aljabar Dan Kalkulus relasional !!HOT!!
Download File --->>> https://shurll.com/2t0wE6
Bahasa query formal basis data relasional adalah bahasa untuk meminta informasi dari basisdata. Sebelum basis data relasional, query terhadap basis data merupakan tugas yang sulit karena pemrogram harus mengetahui skema fisik internal dari basisdata.
Langkah-langkah dalam DBMS untuk pengolahan query adalah :1. DBMS melakukan parsing pada string query SQL, dan diterjemahkan kedalam ekspresi aljabar relasional yang dapat menuntun kedalam alogaritma sederhana yang tidak efisien.2. Lalu bagian optimizer akan mengkonversi akspresi aljabar relasional ini menjadi ekspresi lain yang ekivalen namun lebih efisien untuk dieksekusi.3. Query optimizer akan mempersiapkan rencana eksekusi yang kemudian ditransformasikan menjadi kode yang dapat dieksekusi pembangkit kode di DBMS.4. Karena ekspresi aljabar mempunyai semantik matematis yang presisi, maka sistem dapat memferifikasi ekivalensi ekspresi yang dioptimasi yang dihasilkan dari manipulasi ekspresi asal. Semantik ini juga memungkinkan perbandingan rencana-rencana evaluasi query yang berbeda.
KALKULUS RELASIONALPengguna mendeskripsikan informasi yang dikehendaki tanpa memberitahu prosedur spesifik untuk memperolah informasi. Pada model relasional, bahasa formal non prosedural adalah bahasa kalkulus, predikat relasional yang diekspresikan dengan menspesifikasikan predikan terhadap tupe atau domain yang harus dipenuhi. Kalkulus relasional dibagi menjadi 2 :
Pemakai mendiskripsikan informasi yang dikehendaki tanpa memberikan prosedur (deret operasi) spesifik untuk memperoleh informasi. Pada model relasional, bahasa formal non prosedural adalah bahasa kalkulus (predikat( relasional yaitu diekspresikan dengan menspesifikasikan predikat terhadap tuple atau domain yang harus dipenuhi. Kalkulus relasional dibagi menjadi 2 (dua) yaitu:
QBE masing-masing mewakili bahasa query prosedural dan non-prosedural. SQL dibangun dengan basis aljabar relasional yang dijelaskan bab sebelumnya. SQL memberikan bahasa query tingkat tinggi ( a high level query language ) dengan struktur sederhana dengan kosakata dan gramatika yang sederhana pula, seperti berikut :
Pada model relasional, bahasa formal non prosedural adalah bahasa kalkulus (predikat( relasional yaitu diekspresikan dengan menspesifikasikan predikat terhadap tuple atau domain yang harus dipenuhi. Kalkulus relasional dibagi menjadi 2 (dua) yaitu:
Kalkulus relasional tupel (tuple relational calculus).Kalkulus relasional domain (domain relational calculus).Kalkulus relasional tupel (tuple relational calculus).Kalkulus relasional domain (domain relational calculus).
Kalkulus relasional tupel adalah bahasa query yang non prosedural. Bahasa ini mendeskripsikan informasi yang diinginkan tanpa memberi prosedurnya secara detil untuk mendapatkan informasi tersebut.Kalkulus relasional tupel merupakan basis untuk bahasa query QUEL.
Tidak seperti Aljabar Relasional, Kalkulus Relasional adalah bahasa Deklaratif tingkat yang lebih tinggi. Dalam kebalikan dari aljabar relasional, kalkulus relasional menentukan hasil apa yang akan diperoleh.
Bahasa yang dipakai pada model relasional disebut dengan bahasa query. Bahasa Query adalah suatu bahasa yang menyediakan fasilitas bagi user untuk mengakses informasi dari basis data. Pada umumnya level bahasa ini lebih tinggi dari bahasa pemrograman standar. Bahasa query dapat dikategorikan sebagai prosedural & non-prosedural.
Dalam bahasa prosedural, user menginstruksikan ke sistem agar membentuk serangkaian operasi dalam basis data untuk mengeluarkan hasil yang diinginkan. Dalam bahasa non-prosedural, user mendeskripsikan informasi yang diinginkan tanpa memberikan prosedur detail untuk menghasilkan informasi tersebut. Aljabar relasional merupakan bahasa query prosedural, sedangkan kalkulus relasional tupel dan kalkulus relasional domain adalah non-prosedural.
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 adalah : select, project, union, set difference, dan cartesian product. Disamping operasi-operasi dasar terdapat beberapa operasi tambahan seperti set intersection, natural join, division dan theta join.
Istilah Normalisasi berasal dari E. F.Codd, salah seorang perintis teknologi basis data. Selain dipakai sebagai metodologi tersendiri untuk menciptakan struktur table 9 relasi dalam basis data (dengan tujuan untuk mengurangi kemubadziran data), normalisasi terkadang hanya dipakai sebagai perangkat verifikasi terhadap tabel-tabel yang dihasilkan oleh metodologi lain ( misalnya E-R). Normalisasi memberikan panduan yang sangat membantu bagi pengembang untuk mencegah penciptaan struktur tabel yang kurang fleksibel atau mengurangi kefleksibelan.Kroenke mendefinisikan normalisasi sebagai proses untuk mengubah suatu relasi yang memiliki masalah tertentu ke dalam dua buah relasi atau lebih yang tidak memiliki masalah tersebut. Masalah yang dimaksud oleh Kroenke ini sering disebut dengan istilah anomali. Normalisasi merupakan sebuah teknik dalam logikal desain sebuah basis data/ database, teknik pengelompokan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi). Normalisasi adalah suatu proses memperbaiki/membangun dengan model data relasional, dan secara umum lebih tepat dikoneksikan dengan model data logika. Proses normalisasi adalah proses pengelompokan data elemen menjadi tabel-tabel yang menunjukkan entity dan relasinya. Pada proses normalisasi dilakukan pengujian pada beberapa kondisi apakah ada kesulitan pada saat menambah/ menyisipkan, menghapus, mengubah dan mengakses pada suatu basis data. Bila terdapat kesulitan pada pengujian tersebut maka perlu dipecahkan relasi pada beberapa tabel lagi atau dengan kata lain perancangan basis data belum optimal.
Relational Algebra (aljabar relasional) merupakan kumpulan operasi terhadap relasi dimanasetiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang barudan termasuk kategori prosedural dan juga menyediakan seperangkat operator untukmemanipulasi data. Terdapat lima operasi dasar dalam aljabar relasional, yaitu:
ALJABAR RELASIONAL Pertanyaan Basis Data 2 Apa itu Aljabar? Apaitu Aljabar Relasional? Aljabar Relasional Basis Data 3BahasaQueryadalahbahasayangdikhususkanuntukmengajukanpertanyaanatauQuery,yangmelibatkandatadalam sebuahdatabase. Input dan output suatu query adalah relasi.Querydievaluasidenganmenggunakancontohinputrelasidan menghasilkancontoh output relasi. Aljabar Relasional Basis Data 4Merupakansalahsatudari2bahasaqueryformalyangterkait dengan modelrelasional. Memiliki operator operator dasar aljabar : -Selection-Projection -Operasi Himpunan (Union, Intersection,SetDifference,Cross Product) -Renaming -Join -Division OperasiSelection dan Projection Basis Data 5AljabarRelasionalmencakupoperatoruntukmemilih(selection)barisdarisaturelasi(o)danuntukmemproyeksikan(projection) kolom (t).Contoh : o Unit Price >= Rp. 5.000.000,- (Products) t ProductID, Product Name (Products) t Product ID, Product Name (o UnitPrice >= Rp. 5.000.000,- (Products)) t Country (Customers)Contoh Selection dan Projection Misalkan : T1 ABCD a1b1c1d1a2b1c2d1 a2b2c2d1 a3b2c3d3 Basis Data 6 T2 ABCD a1b1c1d1 a2b2c1d1a4b1c2d3 T3 AEF a1e1f1 a2e2f2 a3e1f3 a4e2f4 Contoh Selection danProjection (Lanjutan) o C > c1 (T1) T1 ABCD a1b1c1d1 a2b1c2d1a2b2c2d1 a3b2c3d3 Basis Data 7 t A (T1) ABCD a2b1c2d1 a2b2c2d1a3b2c3d3 AB a2b1 a2b2 a3b2 A a1 a2 a3 T2 ABCD a1b1c1d1 a2b2c1d1a4b1c2d3 T3 AEF a1e1f1 a2e2f2 a3e1f3 a4e2f4 t A, B (o C > c1(T1)) Soal Basis Data 8 Berikut adalah tabel Mahasiswa &Selesaikan soal di bawah: 1. o jk = P (Mahasiswa) 2. o tahun>2000 (Mahasiswa) 3. o kota = Jakarta (Mahasiswa) 4. t nama(Mahasiswa) 5. t kota (Mahasiswa) 6. t nama, kota (o tahun T3.A T3 (A)BCD(A)EF a2b2c1d1a1e1f1 a4b1c2d3a1e1f1 a4b1c2d3a2e2f2a4b1c2d3a3e1f3 Basis Data 20 (A)BCD(A)EF a1b1c1d1a1e1f1a1b1c1d1a2e2f2 a1b1c1d1a3e1f3 a1b1c1d1a4e2f4 a2b2c1d1a1e1f1a2b2c1d1a2e2f2 a2b2c1d1a3e1f3 a2b2c1d1a4e2f4 a4b1c2d3a1e1f1a4b1c2d3a2e2f2 a4b1c2d3a3e1f3 a4b1c2d3a4e2f4 Equijoin Basis Data 21SatukasuskhususyangbiasaterjadipadaoperasijoinRSadalahpadasaatconditionjoinhanyaterdiridariequalitydari bentukR.name1 = S.name1, yakni equality antara 2 field dalam R dan S.Operasi join seperti ini disebut Equijoin.SkemahasildariequijoinyangberisifieldR(dengannamadandomainyangsamasepertididalamR)diikutidenganfieldSyangtidakmunculdidalamconditionjoin.Jikahimpunanfielddalam relasi hasilitu memasukkan 2 field yang mewarisi nama dari R dan S, maka relasihasilnya tidak diberi nama. Natural Join Basis Data 22 Kasusselanjutnya dari operasi join RS adalah satu equijoin dimanaequalityditentukanpadasemuafieldyangmempunyainamasamadalamRdanS.Dalamkasusini,kitadapatmengabaikanconditionjoin,defaultnyaadalahconditionjoinyangmerupakankumpulan equalitypada semua field biasa. Kasus seperti ini disebut Natural Join,danpropertibagusnyaadalahhasilnyadijamintidakmemiliki2field dengannama sama. RS Contoh Equijoin & Natural Join T2T2.A = T3.A T3Basis Data 23 ABCDEF a1b1c1d1e1f1 a2b2c1d1e2f2 a4b1c2d3e2f4(A)BCD(A)EF a1b1c1d1a1e1f1 a1b1c1d1a2e2f2 a1b1c1d1a3e1f3a1b1c1d1a4e2f4 a2b2c1d1a1e1f1 a2b2c1d1a2e2f2 a2b2c1d1a3e1f3a2b2c1d1a4e2f4 a4b1c2d3a1e1f1 a4b1c2d3a2e2f2 a4b1c2d3a3e1f3a4b1c2d3a4e2f4 T2T3 Division Basis Data 24MisalkanuntuksetiapnilaixdidalamR,perhatikankumpulannilaiy yangmuncul dalam instan R dengan nilai x tersebut. Jika kumpulan iniberisi semua nilai y dalam S, maka nilai x adalah hasil dari R / S.Contoh Division t A, B (T1) AB a1b1 a2b1 a2b2 a3b2 Basis Data 25 Bb1 b2 t B (o B = b1 (T1)) B b1 t A, B (T1) / t B (T1) A a2 A a1 a2t B (T1) t A, B (T1) / t B (o B = b1 (T1)) Fungsi Aggregate ( ) SUM: menjumlah nilai dari suatu atribut AVERAGE : mencari rata-ratanilai dari suatu atribut MAXIMUM : mencari nilai paling besar darisuatu atrbiut MINIMUM : mencari nilai paling besar dari suatuatribut COUNT : menghitung jumlah recordPenggunaan Fungsi AggregateDapatkan setiap nomer department, jumlah pegawai dalam departmentdan gaji rata-rata mereka. 2b1af7f3a8