Soal-Jawab UTS 2010
Soal-Jawab UTS 2010
Soal-Jawabinimerupakanjawabandarisayadenganmengambil ref daribukuperahu(Database System Concept)danBuku Database management system untukmasalahAljabar Relational. 3. Untuk B-Tree danB+Treebanyaksekalipersepsidankadangjikaberbedareferensimakabedajugaaturannya, untuksoal-jawabinisayagunakan ref dari slide bukuperahusilahkanlihat slide yang sudah di share(Slides of Database System Concept) 4. Sebaiknya Temen2 mencobadulubarumelihatJawaban yang sayabuat Alip S
10
16 21 27 32 33 43
10
16 17 21 25
32 33 38 43 55
10 11
16 17 21 27 32 33 43 55
10 11
16 17 21 25
27
32 33 38 43
55
Ket :
2. Perhatikan dua buah tabel Customer dan Account. Tabel Customer terdiri dari kolom Customer_No, Customer_Name. Tabel Account terdiridarikolomAccount_No, Customer_No, Cabang, Saldo. a) Tuliskan query SQL untuk menampilkan data Account_No, Saldo, dan Nama Customer yang saldo accountnya di atas 100 juta untuk account-account yang berasal dari cabang Bandung b) Terjemahkan query SQL di atas kedalam ekspresi aljabar relasional; gunakan operasi-operasi seleksi (), projeksi (), dan join (X). c) Tuliskan ekspresi aljabar relasional yang ekivalen dengan jawaban 2b, yang mendahulukan operasi seleksi dan proyeksi seawal mungkin. Jawaban :
customer customer_no customer_name
account account_no customer_no cabang saldo
a. Select account_no, saldo, customer_name From customer Join account On customer.customer_no = account.customer_no Where saldo> 100000000 and cabang=Bandung; b.
account_no, saldo,
customer_name(
saldo>100000000cabang=Bandung(customercustomer.customer_no
= account.customer_noaccount))
c.
saldo>100000000
Setelah insert 15
30 15* 30* 80*
30* 60*
Setelah Insert 45
45 30 15* 30* 65 45* 60* 65* 80*
Setelah Insert 50
45 30 15* 30* 40* 45* 50 50* 60* 65 70 65* 70* 80*
2. Diketahui tabel Employees dengan struktur sbb : NIP Number 9 Nama Varchar2 50 Alamat Varchar2 50 Job_Id Char 5 Department_Id Number 2 Salary Number 8,2 Average row size = 125 Bytes Number of Rows = 500 rows ======================================== Diketahui struktur Departments sbb : Department_Id Number 2 Department_Name Varchar2 30 Location_Id Char 4 Average row size = 30 Bytes Number of Rows = 90 rows Database block size = 2KB (1KB = 1024 B) Jikaterdapat query sbb : SELECT Nip, Nama, Department_id FROM Employees, departments WHERE department_Id =(SELECT department_Id FROM departments WHERE department_Name = IT); a) Buatlah query yang ekivalen dengan query di atas dengan menggunakan JOIN b) Jika asumsi teknik Join yang digunakan adalah Nested Loop Join, berapakah cost I/O untuk query Join tersebut! c) Buatlah aljabar relasional sesuai query join di atas d) Buatlah execution tree dari aljabar relasional tersebut.
Jawab : a. Select nip, nama, department_id From employees Join department On employees.department_id=department.department_id Where department_name=IT; b. Cost I/O = Nemployees * Bdepartment + Bemployees Block Transfer dan Nemployees + Bemployees Seek Nemployees = 500 rows Bdepartment = (90 rows * 30 Bytes)/2048 Bytes/block = 2 Block Bemployees = (500 rows * 125 Bytes)/2048 Bytes/block = 31 Block Cost I/O = 500 * 2 + 31 Block Transfer dan 500 + 31 Seek = 1031 Block Transfer dan 531 Seek c.
department_name>IT
employees.department_id = department.department_id
employees
department