SQL Part 3 Latar Belakang Desain Tabel Normalisasi Aljabar relasional

Slides:



Advertisements
Presentasi serupa
Aljabar Relasional Materi pertemuan.
Advertisements

SQL  SQL adalah bahasa query baku untuk DBMS  SQL diambil sebagai bakuan sejak tahun 1992  Awalnya diterapkan pada DBMS besar seperti Oracle dan Informix,
SQL – DML.
DESAIN & KONFIGURASI DATABASE
SQL.
Pengantar Desain Basis Data Part 2
MATA KULIAH : “LOGIKA DAN ALGORITMA”
SQL (Structured Query Language)
PERINTAH SQL.
BAHASA QUERY TERAPAN Sub Materi : Structured Query Language
Bahasa Pada Model Data Relasional
1 Penulisan Statements SELECT SQL Dasar. 1-2 Tujuan Setelah mengikuti sesi ini, diharapkan mampu : Mendaftar kemampuan statement SELECT SQL Mengeksekusi.
SQL Basis Data.
Model Relasional Part-3. 2 Review Pertemuan 5 ► Tahap implementasi basis data merupakan upaya untuk membangun basis data fisik yang ditempatkan dalam.
Model Relasional Part-1
Sistem Basis Data.
SQL: Queries II, Constraints & Triggers (Chap. 5 – Ramakrishnan)
DML Lanjutan Pertemuan Minggu Ke-10.
Model & Aljabar Relasional
SQL.
Aljabar Relasional Materi pertemuan.
PRAKTIKUM BASIS DATA (4) TEKNIK INFORMATIKA UNIVERSITAS MERCU BUANA
Internet Programming MySQL
Aljabar Relasional Pertemuan 22.
Pertemuan 2 DDL.
SQL 2. Database TRANSACTION Tabel yang terlibat : Customer berisi data pelanggan (nama, alamat, dll) OderInfo berisi info pemesanan oleh pelanggan (tgl.
SQL.
Data Definition Language dan Data Manipulation Language
SQL (Structured Query Language) Materi Pertemuan
Bab 4 Data Manipulation Language dan Entity Relational Diagram
P E R T E M U A N 12 SISTEM BASIS DATA.
Data Types Data Definition Language Referential Constraint SQL Query
SQL (Structure Query Language)
SQL-Aggregate dengan Fungsi GROUP, HAVING dan subQuery
SQL: DML (2) Basis Data Pertemuan 07.
BAHASA QUERY TERAPAN OLEH : HARSITI, ST.
1 Review Pertemuan Ke VII Aljabar relasional adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan operasi dimana masukkannya adalah satu.
MANAJEMEN BASIS DATA Pertemuan 8 SUBQUERY.
STRUCTURED QUERY LANGUAGE (SQL)
Aljabar Relasional Materi pertemuan.
Data Manipulation Language
Data Manipulation Language Presented by : Herianto.
SQL (Structured Query Language)
04/10/2017 Bab IV SQL Structured Query Language stmik kharisma, presented by wahyudi
Pertemuan 6 Aljabar Relational (2) Betha Nurina Sari,M.Kom.
Modul SBD-2 …….. SQL Server
Pertemuan ke-sekian Structure Query Language (SQL) Lanjut
SQL (Structured Query Language)
Structure Query Language (SQL)
SQL.
Review Database Materi 1
SQL (Structure Query Language)
Query.
SQL (Structured Query Language)
EXIT KD 3.4 “ Fungsi-Fungsi Agregasi “. MATERI Disusun Oleh :
Stucture Query Language
SQL OVERVIEW.
SQL (Structured Query Language)
SQL Data Manipulation IK203 Sistem Basis Data Pertemuan #12
SQL (2) (Structure Query Language)
Review BD 1.
SQL Part 1.
Aplikasi Database Dosen : Sarwo, Skom,.Mkom Url :
Aljabar Relational.
Stucture Query Language
SQL(SELECT QUERY LANGUAGE)
Basis Data Bab 3 Structured Query Language (SQL).
Stucture Query Language
DATA MANIPULATION LANGUAGE
BAHASA BASIS DATA Data Manipulation Languange
Transcript presentasi:

SQL Part 3 Latar Belakang Desain Tabel Normalisasi Aljabar relasional Perintah DML (Create Tabel, Drop,…) Perintah DDL( insert, Update, join, agregasi, …) Perintah View

Review Pertemuan Ke-X Operasi operasi himpunan pada SQL-92 meliputi : union, intersect, dan except. Union identik dengan U, intersect identik dengan ∩ dan except identik dengan – pada aljabar relasional. Operasi union secara otomatis akan menghilangkan duplikasi, tidak seperti klausa select.

FUNGSI-FUNGSI AGREGASI - Average : avg - Minimum : min - Maximum : max - Total : sum - Count : count

FUNGSI-FUNGSI AGREGASI Fungsi-fungsi di atas telah tersedia. Input untuk avg dan sum haruslah bertipe numerik. Untuk operator lainnya dapat non-numerik. Contoh : untuk mendapatkan rata-rata saldo rekening pada cabang Perryridge

FUNGSI-FUNGSI AGREGASI Query-nya dapat ditulis : Select avg(balance) From account where branch-name = “Perryridge”

FUNGSI-FUNGSI AGREGASI Jika fungsi agregasi iningn diterapkan pada kelompok himpunan tuple, maka digunakan klausa group by. Nama atribut/kel. Atribut dalam klausa group by digunakan untuk membentuk grup/kelompok. Artinya tuple-tuple yang mempunyai nilai yang sama pada semua atribut dalam klausa group-by dimasukkan dalam satu grup/kelompok.

FUNGSI-FUNGSI AGREGASI Contoh : Select branch-name, avg(balance) From account Group by branch-name Jika suatu fungsi diterapkan pada grup/kelompok yang dibentuk oleh group by maka digunakan klausa having setelah group by.

FUNGSI-FUNGSI AGREGASI Contoh : ingin ditampilkan nama cabang yang mempunyai rata-rata saldo lebih dari 1200. Query-nya : Select branch-name, avg(balance) From account Group by branch-name having avg (balance)>1200

COUNT Fungsi agregrasi count sering digunakan untuk menghitung jumlah tuple dalam suatu relasi. Notasi fungsi ini dalam SQL adalah count (*). Jadi untuk menentukan jumlah tuple dalam relasi customer, ditulis : Select count(*) from customer

SUBQUERI TERSARANG (NESTED SUBQUERYS) Biasanya digunakan untuk melalukuan test keanggotaan himpunan, perbandingan himpunan dan kardinalitas himpunan.

Keanggotaan Himpunan Digunakan in dan not in untuk melakukan test keanggotaan himpunan. Contoh : untuk mendapatkan semua customer yang mempunyai pinjaman dan rekening pada bank. Pertama : menemukan semua pemegang reeking dengan query : (select customer-name from depositor)

Keanggotaan Himpunan Kedua : mencari semua customer yang merupakan peminjam dan yang muncul dalam daftar pemegang rekening. Maka dilakukan dengan “menyarangkan” subquery di atas dalam sebuah select luar (outer select), menjadi : Select distinct customer-name from borrower Where customer-name in (select customer-name from depositor)

Perbandingan Himpunan Perhatikan query berikut : “Temukan semua nama cabang bank yang mempunyai asset lebih besar dari bank-bank yang mempunyai minimal satu cabang berlokasi di Brooklyn”. Query-nya ditulis : Select branch-name from branch where assets > all (select assets from branch where branch-city = “Brooklyn”)

MODIFIKASI BASIS DATA Meliputi menambah, menghapus dan mengubah informasi menggunakan SQL.

Penghapusan (Deletion) Yang dapat dihapus (delete) hanyalah tuple bukan nilai pada suatu atribut tertentu. Dalam SQL, deletion diekspresikan dengan Delete from r where p Dimana p menunjukkan predikat dan r adalah relasi.

Penghapusan (Deletion) Contoh : - Hapus semua rekening Smith, ditulis : Delete from depositor where costomer-name = “Smith” - Hapus semua pinjaman dengan jumlah pinjaman antara $1300 dan $1500 Delete from loan where amount between 1300 and 1500 - Hapus semua rekening pada setiap cabang yang berlokasi di Perryridge Delete from account where branch-name in (select branch-name from branch where branch-city = “Perryridge”)

Penyisipan (Insertion) Untuk menambahkan satu tuple dalam relasi digunakan statement insert. Contoh : Insert into account values (“Perryridge”,”A-9732”,1200) Query ini identik dengan Insert into account (branch-name, account-number,balance) Values (“Perryridge”,”A-9732”,1200)

Penyisipan (Insertion) Insert juga dapat dilakukan untuk suatu hasil dari query yang lain. Contoh : Insert into account select branch-name, loan-number, 200 From loan where branch-name = “Perryridge”

Update Dalam situasi tertentu, diinginkan untuk mengganti nilai dalam sebuah tuple tanpa harus mengganti semua nilai dalam tuple tersebut. Untuk tujuan ini dapat digunakan statement update. Contoh : - untuk menaikkan saldo para nasabah sebesar 5% ditulis query sebagai berikut : Update account set balance = balance * 1.05

Update untuk menaikkan saldo nasabah sebesar 6% bagi nasabah yang saldonya lebih dari $10000, ditulis query sebagai berikut : Update account set balance = balance *1.06 Where balance >10000

Summary Fungsi-fungsi agregasi meliputi Average : avg, Minimum : min, Maximum : max, Total : sum, Count : count Modifikasi basis data Meliputi menambah, menghapus dan mengubah informasi menggunakan SQL.

SOAL LATIHAN 1. Diketahui schema basis data berikut : Emp(eid: integer, ename: string, age: integer, salary: real) Works(eid: integer, did: integer, pct time: integer) Dept(did: integer, budget: real, managerid: integer) Tuliskan query SQL berikut: 1. Print the names and ages of each employee who works in both the Hardware department and the Software department. 2. For each department with more than 20 full-time-equivalent employees (i.e., where the part-time and full-time employees add up to at least that many full-time employees), print the did together with the number of employees that work in that department. 3. Print the name of each employee whose salary exceeds the budget of all of the departments that he or she works in. 4. Find the managerids of managers who manage only departments with budgets greater than $1,000,000.

REFERENSI Referensi Wajib: Raghu Ramakhrisnan, Johannes Gehrke , “Database Management System” 6th Edition, Mc Graw Hill,2006 (chapter : 5) Referensi Tambahan/dianjurkan: David M.Kroenke, Database Concepts 4th Edition, Prentice Hall 2004