Database Management Systems Bab 4 – Bagian B Kalkulus Relasional (Chap

Slides:



Advertisements
Presentasi serupa
Aljabar Relasional Materi pertemuan.
Advertisements

BAHASA QUERY TERAPAN Sub Materi : Structured Query Language
PEMROSESAN FILE DAN KONSEP MANAJEMEN DATA
Database Management System
Bahasa Pada Model Data Relasional
Pengantar Basis Data Sumber :
Aljabar Relasional.
SQL: Queries II, Constraints & Triggers (Chap. 5 – Ramakrishnan)
Model & Aljabar Relasional
SQL: Queries Chapter 5.
Aljabar Relasional Materi pertemuan.
Aljabar Relasional.
SQL: Queries, Constraints & Triggers (Chap. 5 – Ramakrishnan)
Cakupan Graf (Lanjutan) Pertemuan 7.
Operator C++ Pertemuan 3.
Pertemuan Minggu Ke-3 DATABASE RELASIONAL.
Pertemuan Minggu Ke-5 KALKULUS RELASIONAL.
Aljabar Relasional Materi pertemuan 21.
Sesi V Aljabar & Kalkulus Relasional
SQL (Structured Query Language) Materi Pertemuan
Aljabar Relasional.
SQL (Structured Query Language)
BASIS DATA RELASIONAL Pertemuan ke 3 Basis Data Relasional.
Relational Calculus Basis Data Pertemuan 05.
1 Review Pertemuan Ke VII Aljabar relasional adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan operasi dimana masukkannya adalah satu.
Pertemuan 4 – Sistem Basis Data.  Pada model relasional, basis data akan “disebar” atau dipilah-pilah ke dalam berbagai tabel dua dimensi. Setiap tabel.
ALJABAR DAN KALKULUS RELASIONAL
ALJABAR DAN KALKULUS RELASIONAL
SQL (Structured Query Language)
Aljabar Relasional Materi pertemuan.
SQL (Structured Query Language)
Basis Data Bab VIII Bahasa Kueri Presented by Mulyono, S.Si, M.Kom
Model Data Relasional.
Pertemuan 2 Model Data, Relational Data Model, Database Schema, DDL
Pertemuan 3 Predicate Logic
Database Management Systems Bab 8 Overview Evaluasi Query (Chap
Aljabar Relasional (Relational Algebra)
SQL (Structured Query Language)
SQL (Structured Query Language)
ALJABAR RELASIONAL DAN KALKULUS RELASIONAL
Aljabar Relational (Relational Algebra) MEETING 6
SISTEM BASIS DATA STMIK BANI SALEH BEKASI Salim
Pseudocode – Tipe Data, Variabel, dan Operator
Model Relational DATABASE
SQL (Structured Query Language)
Normalisasi Data Base Bentuk Penyederhanaan Tabel dalam Basis Data – Langkah tepat untuk dalam merelasikan dalam penghubungan antar Entitas dalam penyederhanaan.
Presented by Team Basis Data
RELATIONAL MODEL (FORMAL QUERY LANGUAGE)
Management Office EXCEL , ACCESS
KALKULUS RELASIONAL BASIS DATA I/2009-GENAP
Aljabar Dan Kalkulus Relasional
SQL Part 1.
Predicate & quantifier
SISTEM BASIS DATA TERSEBAR
Aljabar Relational (Relational Algebra) MEETING 6
PEMROGRAMAN BASIS DATA
Aljabar Relational.
MODEL DATA RELASIONAL (1)
Microsof Acces 2007 adalah sebuah program aplikasi basis data komputer relasional yang ditujukan untuk kalangan rumahan dan perusahaan kecil hingga menengah.
Metode Pengujian Perangkat Lunak (White Box)
Aljabar Relasional (Relational Algebra)
MODEL RELASIONAL BASIS DATA I/2011-GANJIL
MODEL RELASIONAL BASIS DATA I/2011-GANJIL
Model Data Relasional.
SISTEM BASIS DATA TERSEBAR
Basis Data Bahasa Kueri Basis Data
Model dan Aljabar Relasional
ALJABAR RELASIONAL (LANJUTAN)
Basis Data Bahasa Kueri Basis Data
Pengantar Teknologi SIM 2 (pertemuan 6)
Transcript presentasi:

Database Management Systems Bab 4 – Bagian B Kalkulus Relasional (Chap Database Management Systems Bab 4 – Bagian B Kalkulus Relasional (Chap. 4 – Ramakrishnan)

Kalkulus Relasional Terdapat 2 jenis: Tuple relational calculus (TRC) dan Domain relational calculus (DRC). Kalkulus mempunyai variables, constants, comparison ops, logical connectives dan quantifiers. TRC: Variables meliputi tuples. DRC: Variables meliputi domain elements (= nilai-nilai field). TRC dan DRC keduanya merupakan subsets dari “first-order logic”. Suatu persamaan dalam kalkulus disebut formula. Suatu tuple jawaban pada dasarnya adalah sebuah pemberian (assignment) nilai constants ke beberapa variables yang menghasilkan formula dengan nilai evaluasi benar (true).

Tuple Relational Calculus (TRC) Sebuah tuple variable adalah variabel yang berlaku pada suatu skema relasi sebagai nilai Query mempunyai bentuk: dimana T adalah sebuah tuple variable dan p(T) menyatakan sebuah formula (query) yang menjelaskan T. Hasil dari query adalah satu set tuples t dimana evaluasi formula p(T) bernilai “true” untuk T = t. Contoh ilustratif: “Dapatkan semua sailors dengan rating > 7”

Syntax TRC Atomic formula: Formula: , atau R.a op S.b, atau R.a op constant, atau constant op R.a R dan S adalah tuple variables dan op adalah salah satu dari <, >, =, , ,  Formula: Berupa sebuah atomic formula, atau dimana p dan q adalah formula, atau , dimana X adalah sebuah tuple variable, atau , dimana X adalah sebuah tuple variable Quantifiers  dan digunakan untuk “mengikat (bind)” variabel R. Suatu variabel disebut “bebas (free)” dalam suatu formula atau subformula (formula dlm formula yang lebih besar) jika (sub)formula tidak berisikan sebuah “occurrence” dari quantifier yang mengikatnya

Semantik dari TRC Queries Sebuah query dievaluasikan pada suatu instance dari basis data. Asumsikan free variable dlm sebuah formula F akan diikat pada sebuah nilai tuple. Utk ini, F akan dievaluasi dengan nilai “true” jika memenuhi kondisi berikut: F adalah sebuah atomic formula R  Rel, dan sebuah tuple dlm instance dari relasi Rel diberikan ke R F adalah perbandingan R.a op S.b, atau R.a op constant, atau constant op R.a, dan tuples diberikan ke R dan S yang menghasilkan nilai perbandingan “true” F adalah dalam bentuk p (p = not “true”), atau p  q (baik p dan q = “true”), atau p  q (salah satu = “true”), atau p  q (q = “true” jika p = “true” F adalah dalam bentuk R(p(R)), dan terdapat beberapa pemberian tuples ke free variables dlm p(R), termasuk R, yang menyebabkan formula p(R) bernilai “true” F adalah dalam bentuk R(p(R)), dan terdapat beberapa pemberian tuples ke free variables dlm p(R) yang menyebabkan formula p(R) bernilai “true” apapun tuple yang diberikan ke R

Dapatkan nama dan age dari sailors yang mempunyai rating di atas 7 Dapatkan nama sailor, boat id, dan reservation date untuk setiap reservasi Dapatkan nama sailor yang melakukan reservasi boat dengan ID = 103

Dapatkan nama sailor yang melakukan reservasi red boat Dapatkan nama sailor yang melakukan reservasi paling sedikit 2 boats Dapatkan nama sailor yang melakukan reservasi semua boats

Domain Relational Calculus (DRC) Query mempunyai bentuk: Jawab meliputi semua tuples yang menjadikan formula bernilai true. Formula dapat didefinisikan secara rekursif, dimulai dengan atomic formulas sederhana (memperoleh tuples dari sejumlah relasi atau melakukan perbandingan dari beberapa nilai), dan membentuk formulai-formula yang lebih besar dengan menggunakan logical connectives.

DRC Formulas Atomic formula: Formula: , atau X op Y, atau X op constant op adalah salah satu dari <, >, =, , ,  Formula: Berupa sebuah atomic formula, atau dimana p dan q adalah formula, atau , dimana variable X adalah free dalam p(X), atau , dimana variable X adalah free dalam p(X)

Free & Bound Variables Penggunaan quantifiers X danX dalam sebuah formula ditujukan untuk mengikat (bind) X. Sebuah variabel yang not bound disebut free. Perhatikan kembali definisi sebuah query: Terdapat pembatasan: variabel-variabel x1, ..., xn yang muncul ke kiri dari `|’ harus hanya berupa “free variables” dalam formula p(...).

Dapatkan semua sailors yang mempunyai rating di atas 7 Kondisi menjamin bahwa domain variables I, N, T dan A diikat ke fields dari tuple Sailors yang sama. Term ke kiri dari `|’ (yang harus dibaca sedemikian rupa sehingga) menjelaskan bhw setiap tuple yang memenuhi T>7 ada dalam jawaban. Lakukan modifikasi pada query di atas utk menjawab: Dapatkan semua sailors yang berusia di atas 18 atau yang mempunyai rating di bawah 9, dan mempunyai nama ‘Joe’.

Dapatkan sailors dengan rating > 7 yang telah melakukan reserve boat nomor103 Dapat digunakan sebagai bentuk penyederhanaan dari Untuk cotoh di atas, perhatikan penggunaan  untuk memperoleh sebuah tuple dalam Reserves yang `digabung dengan’ tuple Sailors yang sedang dimanipulasi.

Dapatkan sailors dengan rating > 7 yang telah melakukan reserve red boat Perhatikan bagaimana penggunaan tanda kurung dpt mengendalikan scope dari setiap penyatuan quantifier (quantifier’s binding). Hal tsb kelihatan tidak praktis, tetapi dengan penyediaan “user-interface” yang baik, hal tsb akan menjadi sangat intuitif. (Contoh: MS Access, QBE)

Dapatkan sailors yang telah melakukan reserve semua boat Query tsb di atas akan lebih mudah utk dinyatakan jika dituliskan kembali menjadi: Dapatkan sailors sedemikian rupa sehingga untuk SETIAP boat yang ada dalam database TIDAK terdapat boat yang TIDAK di-reserved!

Dapatkan sailors yang telah melakukan reserve semua boat (Bentuk lain Notasi lebih sederhana, untuk query yang sama. (Lebih jelas !) Utk mendapatkan sailors yang telah melakukan reserve semua red boats: .....

Unsafe Queries, Expressive Power Dimungkinkan utk menulis calculus queries yang secara sintaktik benar, tetapi mempunyai jumlah jawaban yang tak berhingga ! Queries semacam ini disebut unsafe queries. Contoh: Setiap query yang dapat dinyatakan dalam relational algebra dijamin dapat dinyatakan dengan sebuah “safe query” dalam DRC/TRC. Demikian juga sebaliknya ! Relational Completeness: Query language (seperti SQL) yang dapat menyatakan setiap query yang dapat dituliskan dalam relational algebra/calculus.

Rangkuman Relational calculus merupakan bentuk query yang bersifat “non-operational”, dimana pengguna harus mendefinisikan queries dalam bentuk apa yang diinginkan dan bukan dalam bentuk bagaimana melakukannya. (Lebih menekankan aspek deklaratif) Relational algebra dan safe relational calculus sama-sama memiliki daya ekspresif yang mengarah pada terciptanya “relational completeness”