200 likes | 637 Views
BASIS DATA I/2009-GENAP. KALKULUS RELASIONAL. Oleh Satrio Agung Wicaksono, S.Kom., M.Kom. KALKULUS RELASIONAL. Definisi. Merupakan alternatif untuk aljabar relasional . Memungkinkan kita menggambarkan himpunan jawaban tanpa menyatakan secara eksplisit bagaimana jawaban tersebut dihitung .
E N D
BASIS DATA I/2009-GENAP KALKULUS RELASIONAL Oleh Satrio Agung Wicaksono, S.Kom., M.Kom BASIS DATA I/2009-GENAP
KALKULUS RELASIONAL Definisi • Merupakanalternatifuntukaljabarrelasional. • Memungkinkankitamenggambarkanhimpunanjawabantanpamenyatakansecaraeksplisitbagaimanajawabantersebutdihitung. • Memilikipengaruh yang besarpadadesainbahasa query komersialseperti SQL. • Varian kalkulus yang disajikansecaradetildisebutTuple Relational Calculus (TRC) dimanapada TRC mengambilinstan (tuple) sebagainilainya. BASIS DATA I/2009-GENAP
KALKULUS RELASIONAL Tuple Relasional Calculus • Variabel Tuple merupakanvariabel yang nilainyadiambildari tuple skemarelasitertentu, sehingganilai yang ditentukanuntuksatuvariabel tuple tertentu, punyajumlahdantipe field yang sama. • Bentuk tuple dari query kalkulusrelasional : { T | p ( T ) } dimanaTadalahsebuahvariabel tuple danp(T)adalahsebuah formula yang menggambarkan T. • Hasildari query adalahhimpunandarisemua tuple tdimana formula p(T) mengevaluasitruedenganT = t. • Penulisan formula p(T) adalahintidari TRC danpadadasarnyamerupakansatu subset sederhanadariFirst – Order Logic. BASIS DATA I/2009-GENAP
KALKULUS RELASIONAL Syntax TRC Calculus • Reladalahnamarelasi. • RdanSadalahvariabel tuple. • aadalahatributdari R. • badalahatributdari S. • opadalah operator padahimpunan { <, >, =, , , } • Atomic formulaadalahsalahsatudari formula berikut : -R Rel -R.a op S.b -R.a op constant, atauconstant op R.a BASIS DATA I/2009-GENAP
KALKULUS RELASIONAL Syntax TRC Calculus, Cont’d… Formula didefinisikansecararekursifuntukmenjadisalahsatudaridaftarberikutini, dimana p dan q adalah formula dan p(R) menggambarkan formula dimanavariabel R muncul : • Semua atomic formula • p, p q, p q, ataup q • R ( p ( R ) ), dimana R adalahvariabel tuple • R ( p ( R ) ), dimana R adalahvariebel tuple BASIS DATA I/2009-GENAP
KALKULUS RELASIONAL Semantik TRC Query Setiapvariabelbebaspadasebuah formula F terikatpadanilai tuple. Untukpenetapan tuple tertentukevariabel, denganmemperhatikancontoh database, F dievaluasike true jikasalahsatuhalberikutterpenuhi : • F adalahformula atomic R Rel, dan R adalah tuple di dalam instance relation Rel. • F adalahkomparasiR.a op S.b, R.a op constant, atauconstant op R.a, dan tuple yang ditentukanuntuk R dan S mempunyainilai – nilai field R.adanS.b yang menghasilkankomparasi true. • F adalah form pdanpbukantrue, atau form p q, danbaik p dan q adalahtrue, ataup qdansalahsatunyaadalahtrue, atau form p qdan q adalahtruekapansaja p adalahtrue. BASIS DATA I/2009-GENAP
KALKULUS RELASIONAL Semantik TRC Query, cont’d… • F adalah form R(p(R)), danadabeberapa tuple untukvariabelbebaspadap(R), termasukvariabel R yang membuat formula p(R)menjaditrue. • F adalah form R(p(R)), danadabeberapa tuple untukvariabelbebaspadap(R) yang membuat formula p(R)truetidakpeduli tuple apa yang ditentukanuntuk R. BASIS DATA I/2009-GENAP
KALKULUS RELASIONAL Contoh Skema Customers( CustomerID, ContactName, Genre, Address, City, Region, Country, ZIP, Phone ) Products ( ProductID, ProductName, UnitPrice, UnitInStock, UnitOnOrder ) Orders ( OrderID, CustomerID, OrderDate ) Order Detail ( OrderID, ProductID, UnitPrice, Quantity, Discount ) BASIS DATA I/2009-GENAP
KALKULUS RELASIONAL Contoh TRC Query • Carinamabarang yang stoknyamasihada. { A | P Products (A.ProductName = P.ProductName P.UnitInStock> 0) } • Carinamabarangdanharga per unit untukbarang yang stoknyamasihada. { A | P Products (A.ProductName = P.ProductName A.UnitPrice= P.UnitPrice P.UnitInStock > 0) } BASIS DATA I/2009-GENAP
KALKULUS RELASIONAL Contoh TRC Query, Cont’d… • Carinamapelanggan yang pernahmemesanbarangpadatanggal “xx / xx / xxxx” { A | C Customers O Orders (C.CustomerID=O.CustomerID A.ContactName = C.ContactNameO.OrderDate= ‘xx / xx / xxxx’) } • Carinamapelanggan yang pernahmemesanbarangdengankodebarang = “xxx”. { A | C Customers O Orders D (Order Detail) (C.CustomerID = O.CustomerID O.OrderID = D.OrderID A.ContactName = C.ContactName D.ProductID = ‘xxx’) } BASIS DATA I/2009-GENAP
KALKULUS RELASIONAL Contoh TRC Query, Cont’d… Carinegara yang pernahmemesanbarang yang berdiskondanjumlahbarang yang dipesandiatas 10 unit. { A | C Customers O Orders D (Order Detail) (C.CustomerID = O.CustomerID O.OrderID = D.OrderID A.Country = C.Country D.Discount > 0 D.Quantity > 10) } BASIS DATA I/2009-GENAP
KALKULUS RELASIONAL Contoh TRC Query, Cont’d… Carinamabarangdansisastok yang adauntukbarang yang tidakmemilikidiskonatauhargabarang / unitnyadibawahRp. 50.000,-. { A | P Products O (Order Detail) (P.ProductID = O.ProductID A.ProductName = P.ProductName A.UnitInStock = P.UnitInStock (O.Discount = 0 O.UnitPrice < Rp. 50.000,-)) } BASIS DATA I/2009-GENAP
P E N U T U P Terima kasih BASIS DATA I/2009-GENAP