310 likes | 740 Views
Aljabar Relasional. Bahasa Query Relasional. Bahasa Query : memungkinkan untuk manipulasi dan pemanggilan data dari suatu basis data . Model Relasional mendukung kesederhanaan , dengan kemampuannya untuk melakukan bahasa Query . Bahasa Query tidak sama dengan bahasa pemrograman
E N D
Bahasa Query Relasional • BahasaQuery : memungkinkanuntukmanipulasidanpemanggilan data darisuatubasis data. • Model Relasionalmendukungkesederhanaan, dengankemampuannyauntukmelakukanbahasa Query. • BahasaQuery tidaksamadenganbahasapemrograman • BahasaQuery tidakdimaksudkanuntukdigunakanpadaproseskalkulasi yang kompleks. • BahasaQuery bisadilakukandenganmudah, mempunyaiakses yang efisienterhadaphimpunan data yang besar.
Relasi Formal dariBahasa Query • Terdapat dua macam bentuk bahasa Query : • AljabarRelasional: lebihbersifatoperasional, sangatbergunauntukmerepresentasikaneksekusiperencanaan. • KalkulusRelasional : Memungkinkan user menggambarkanapa yang merekainginkan, tidakpadabagaimanacaramelakukankomputasiterhadapapayang merekainginkantersebut. (tidakbersifatoperasional, tapibersifatdeklaratif). • MemahamiAljabardanKalkulusRelasionaladalahkuncidalammemahamiSQL (Structured Query Language).
AljabarRelasional • Operasidasar : • Selection: Memilih sub himpunanbarisdarisuaturelasi. • Simbol : (σ) • Projection: Menghapuskolom yang tidakdikehendakidarirelasi. • Simbol : (∏) • Cross-product: Memungkinkan kita untuk mengkombinasikan dua relasi. • Simbol : (×) • Set-difference: Mendapatkantupel yang terdapatdalamrelasisatu, tapitidak terdapat dalam relasi dua. • Simbol: (−) • Union: Mendapatkantupel yang terdapatdalamrelasisatu dan relasidua. • Simbol : (U) • Operasitambahan : • Intersection, join, division, renaming.
Union () • r s
Intersection () • r s
Set difference ( - ) • r – s =
Cross product (X) • r x s =
Komposisi cross product • Contoh: σA=C(r x s)
OperasiAljabarRelasional • Untuk mengimplementasikan kedalam operasi aljabar relasional, berikut ini diberikan contoh relasi : • Pelaut(pid:integer,pnama:string,rating:integer,umur:real) • Kapal(kid:integer,knama:string,kwarna:string) • Jadwal(pid:integer,kid:integer,hari:date)
Projection • Menghapusatribut yang tidakdikehendakidarirelasi. • Simbol : (∏) • Misal terdapat relasi berikut : • Jikadiinputkan query : • Maka table relasi yang dihasilkandari query diatasadalah :
Projection • Jika, diberikanquery : Maka table relasi yang dihasilkandari query diatasadalah : Dari hasiltersebut, dapatdilihatbahwaoperasiprojection, dapatmengeleminasiduplikat (field yang bernilaisama).
Selection • Memilihkolompadarelasi, sesuaidengankondisi yang sudahditentukan. • Simbol : (σ) • Untukcontohrelasisepertipada table sebelumnya, jikadiberikan query : • maka table relasi yang dihasilkan :
Selection • Dan jikadiberikan query berikut : • maka table relasi yang dihasilkan :
Union, Intersection, Set-Difference • Semuaoperasiinimembutuhkanduarelasi, syarat yang harusdipenuhiadalah : • Mempunyaijumlah field yang sama • Field yang berkorespondensimemilikitipe yang sama. • Untukdua table sebagaiberikut : Pelaut Pelautk
Union, Intersection, Set-Difference • Union pelaut U pelautk • Intersection pelautпpelautk
Union, Intersection, Set-Difference • Set-Difference : Pelaut - Pelautk
Cross-Product • Contohdipakaiduarelasiberikutuntuk operator cross-product makatiapkolomtabelpelautdipasangkandengantiapkolomtabeljadwal. Pelaut X jadwal
Rename • Skemahasilmemilikisatu field per field daripelautdankapal. Akan terjadi konflik jika kedua relasi memiliki nama field yang sama seperti padacontohdiatas. Ρ(C(1 → idpelaut, 5 → pidjadwal))