Relational Calculus Basis Data Pertemuan 05.

Slides:



Advertisements
Presentasi serupa
Aljabar Relasional Materi pertemuan.
Advertisements

BAHASA QUERY TERAPAN Sub Materi : Structured Query Language
Bahasa Pada Model Data Relasional
Latihan Kalkulus Predikat Part.2
Model & Aljabar Relasional
Aljabar Relasional.
Aljabar Relasional Materi pertemuan.
Aljabar Relasional.
SQL : Data Manipulation Pertemuan 07 s/d 08 Matakuliah: M0564 /Pengantar Sistem Basis Data Tahun : 2008.
REPRESENTASI PENGETAHUAN
Aljabar Relasional Pertemuan 22.
Representasi Pengetahuan (II)
Pertemuan Minggu Ke-5 KALKULUS RELASIONAL.
Aljabar Relasional Materi pertemuan 21.
PERTEMUAN 13 Sistem Basis Data Presented by :
SQL 2. Database TRANSACTION Tabel yang terlibat : Customer berisi data pelanggan (nama, alamat, dll) OderInfo berisi info pemesanan oleh pelanggan (tgl.
Logika Matematika Bab 3: Kalkulus Predikat
Modul 03 Relational Model
Sesi V Aljabar & Kalkulus Relasional
Entity-Relationship Modeling
Aljabar Relasional Materi pertemuan.
SQL (Structured Query Language) Materi Pertemuan
REPRESENTASI PENGETAHUAN
SQL: DML (2) Basis Data Pertemuan 07.
1 Review Pertemuan Ke VII Aljabar relasional adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan operasi dimana masukkannya adalah satu.
ALJABAR RELATIONAL.
ALJABAR DAN KALKULUS RELASIONAL
TOPIK 1 LOGIKA.
ALJABAR DAN KALKULUS RELASIONAL
Aljabar Relasional Materi pertemuan.
SQL (Structured Query Language)
1 Pertemuan > > Matakuliah: >/ > Tahun: > Versi: >
REPRESENTASI PENGETAHUAN
Pertemuan 3 Predicate Logic
DASAR LOGIKA MATEMATIKA
Aljabar Relasional (Relational Algebra)
SQL: DDL Basis Data 09.
SQL: DML Basis Data Pertemuan 06.
REPRESENTASI PENGETAHUAN
Database Management Systems Bab 4 – Bagian B Kalkulus Relasional (Chap
SQL (Structured Query Language)
ALJABAR RELASIONAL DAN KALKULUS RELASIONAL
Aljabar Relational (Relational Algebra) MEETING 6
REPRESENTASI PENGETAHUAN
SQL Data Manipulation IK203 Sistem Basis Data Pertemuan #12
Model Relational DATABASE
Presented by Team Basis Data
Reasoning : Propositional Logic
KALKULUS RELASIONAL BASIS DATA I/2009-GENAP
Aljabar Dan Kalkulus Relasional
Reasoning : Propositional Logic ( Predikat Calculus )
Aljabar Relasional.
SQL Part 1.
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
Predicate & quantifier
Metodologi - Perancangan Basis Data Logika
REPRESENTASI PENGETAHUAN dan Reasoning (Penalaran)
Aljabar Relational (Relational Algebra) MEETING 6
Aljabar Relational.
PERTEMUAN 4 Mengolah Data & Tabel.
Aljabar Relasional (Relational Algebra)
REPRESENTASI PENGETAHUAN
04 SQL: Query single table Mata Kuliah: Basis Data
08 Pemodelan Entitas-Relasi Mata Kuliah: Basis Data ILMU KOMPUTER
MODEL RELASIONAL BASIS DATA I/2011-GANJIL
MODEL RELASIONAL BASIS DATA I/2011-GANJIL
Basis Data Bahasa Kueri Basis Data
Model dan Aljabar Relasional
ALJABAR RELASIONAL (LANJUTAN)
Basis Data Bahasa Kueri Basis Data
Transcript presentasi:

Relational Calculus Basis Data Pertemuan 05

Pendahuluan Query kalkulus relasional lebih menspesifikasikan apa yang harus ditampilkan/diambil (retrieved) daripada bagaimana menampilkan/mengambilnya. Tidak ada deskripsi bagaimana meng-evaluasi suatu query. Nama kalkulus relasional diambil dari predicate calculus. Dalam first-order logic (atau predicate calculus), predicate merupakan fungsi berargumen yang bernilai benar. Ketika suatu nilai disubtitusikan untuk argumen tersebut, fungsi menghasilkan ekspresi, yang disebut proposition, yang dapat bernilai benar atau salah. kalkulus relasional berbentuk : tuple relational calculus dan domain relational calculus.

Contoh terdapat kalimat “john white is a member of staff “ dan “ john white earns more than ann beech “, kedua kalimat tersebut adalah proposisi. Kalimat pertama mempunyai fungsi “is a member of staff “ dengan argumen john white, begitupun kalimat kedua. Jika predikat berisi sebuah variable (mis, ‘x adalah jumlah staff’), maka harus ada range untuk x. Ketika disubtitusikan beberapa nilai dari range x ini, proposisi mungkin bernilai benar untuk suatu nilai, dan bernilai salah untuk lainnya.

Predikat Maka jika P adalah predikat, maka himpunan x untuk P dapat dituliskan sbb : { x | P (x) } predikat dapat digabungkan dengan Λ (AND), V (OR), dan ~ (NOT)

Tuple Relational Calculus Ditujukan untuk menampilkan tuple untuk predikat yang bernilai benar dengan menggunakan variabel tuple (tuple variables). variable Tuple adalah variable yang meliputi (ranges over) relasi bernama, contoh : variable yang hanya diperbolehkan yang merupakan tuple-tuple dari suatu relasi.

Tuple Relational Calculus(2) menetapkan range dari variable tuple S sebagai relasi Staff sbb : Staff(S) Untuk mengetahui himpunan dari semua tuple S dimana P(S) adalah benar : {S | P(S)}

Contoh: mencari detail dari semua staff yang berpenghasilan lebih dari £10,000 : {S | Staff(S)  S.salary > 10000} S.salary berarti nilai dari atribut salary diberikan untuk variabel tuple S. Untuk menampilkan atribut tertentu seperti salary, dapat ditulis : {S.salary | Staff(S)  S.salary > 10000}

quantifier Dapat menggunakan dua buah quantifier untuk mengetahui berapa banyak instances yang diperoleh dari suatu predikat, yaitu: Existential quantifier  (‘there exists’) Universal quantifier  (‘for all’)

Existential quantifier  (‘there exists’) akan bernilai benar jika sedikitnya terdapat 1 buah instance yang memenuhi syarat. Contoh : Staff(S)  (B)(Branch(B)  (B.branchNo= S.branchNo)  B.city = ‘London’) Berarti, terdapat tuple branch dengan branchNo yang sama dengan branchNo dari tuple Staff , S, dan berlokasi di London’.

Universal quantifier  (‘for all’) akan bernilai benar jika setiap instance memenuhi syarat. Contoh : (B) (B.city  ‘Paris’) Berarti, untuk semua tuple Branch, yang tidak beralamat di paris atau dapat ditulis : ~(B) (B.city = ‘Paris’) yang berarti ‘tidak ada branch dengan alamat paris’

Penerapan hukum De Morgan (X) (F(X))  ~ (X) (~(F(X))) (X) (F(X))  ~ (X) (~(F(X))) (X) (F1(X)  F2(X))  ~ (X) (~(F1(X)) V ~(F2(X))) (X) (F1(X)  F2(X))  ~ (X) (~(F1(X)) V ~(F2(X)))

Ekspresi dalam kalkulus tuple relasional { S1.a1, S2.a2,…,Sn.an | F (S1,S2,…Sm ) m >= n R(Si ), dimana Si adalah variable tuple dan R adalah relasi Si.a1  Sj.a2 ,dimana Si. dan Sj. merupakan variable tuple. a1 adalah atribut dari relasi pada range Si., a2 adalah atribut dari relasi pada range Sj. dan  operator pembanding. Si.a1  c dimana Si. adalah variable tuple. a1 adalah atribut dari relasi pada range Si., c adalah konstanta dari domain atribut a1 dan  operator pembanding.

Ketentuan Pembuatan Ekspresi ekspresi tersebut tersebut bersifat atomic jika F1 dan F2 adalah suatu ekspresi, maka conjunction F1F2; disjunction F1VF2; dan negasi, ~F1 juga ekspresi. jika F adalah ekspresi dengan variable bebas X, maka (X)(F) dan (X)(F) juga merupakan ekspresi.

Contoh Tampilkan nama seluruh manager yang memiliki penghasilan lebih dari £25,000. {S.fName, S.lName | Staff(S)  S.position = ‘Manager’  S.salary > 25000} Tampilkan staff yang mengatur property untuk disewakan dikota Glasgow. {S | Staff(S)  (P) (PropertyForRent(P)  (P.staffNo = S.staffNo)  P.city = ‘Glasgow’)}

Contoh Tampilkan nama staff yang tidak mengatur property apapun Or {S.fName, S.lName | Staff(S)  (~(P) (PropertyForRent(P)(S.staffNo = P.staffNo)))} Or {S.fName, S.lName | Staff(S)  ((P) (~PropertyForRent(P)  ~(S.staffNo = P.staffNo)))}

Contoh Tampilkan nama klien yang telah melihat property di Glasgow. {C.fName, C.lName | Client(C)  ((V)( P) (Viewing(V)  PropertyForRent(P)  (C.clientNo = V.clientNo)  (V.propertyNo=P.propertyNo)  P.city =‘Glasgow’))}

Ekspresi tak hingga Suatu ekspresi dapat menghasilkan himpunan tak hingga, contoh {S | ~Staff(S)} Untuk mengatasi hal tersebut, tambahkan batasan bahwa semua nilai yang dihasilkan harus merupakan nilai dalam domain ekspresi.

Domain Relational Calculus Menggunakan variable yang diambil dari domain pada suatu relasi. Bentuk umum ekspresi domain relational calculus : {d1, d2, . . . , dn | F(d1, d2, . . . , dn)} dimana F(d1, d2, . . . , dn) merupakan formula yang disusun dari atom-atom dan d1, d2, . . . , dn merepresentasikan domain variables.

Contoh Tampilkan nama seluruh manager dengan penghasilan lebih dari £25,000. {fN, lN | (sN, posn, sex, DOB, sal, bN) (Staff (sN, fN, lN, posn, sex, DOB, sal, bN)  posn = ‘Manager’  sal > 25000)} Tampilkan staff yang mengatur property untuk disewakan di Glasgow {sN, fN, lN, posn, sex, DOB, sal, bN |sN1,cty)(Staff(sN,fN,lN,posn,sex,DOB,sal,bN)  PropertyForRent(pN, st, cty, pc, typ, rms, rnt, oN, sN1, bN1) (sN=sN1) cty=‘Glasgow’)}

Contoh Tampilkan nama staff yang tidak mengatur property apapun {fN, lN | (sN)(Staff(sN,fN,lN,posn,sex,DOB,sal,bN)  (~(sN1)(PropertyForRent(pN, st, cty, pc, typ, rms, rnt, oN, sN1, bN1)  (sN=sN1))))} Tampilkan nama klien yang telah melihat property di Glasgow. {fN, lN | ($cN, cN1, pN, pN1, cty)(Client(cN, fN, lN,tel, pT, mR)  Viewing(cN1, pN1, dt, cmt)  PropertyForRent(pN, st, cty, pc, typ, rms, rnt,oN, sN, bN)  (cN = cN1)  (pN = pN1) cty = ‘Glasgow’)}

Catatan Ketika dibatasi untuk menyimpan ekspresi, domain relational calculus ekuivalen dengan tuple relational calculus terbatas untuk menyimpan ekspresi, dimana ekuivalen dengan relational algebra. Yang berarti, setiap ekspresi aljabar relasional terdapat ekuivalensinya dalam ekspresi kalkulus relasional, dan sebaliknya.