Mahasiswa memahami fungsi-fungsi lain di dalam SQL Mahasiswa memahami tentang operasi agregasi Mahasiswa mampu mengaplikasikan operasi agregasi

dokumen-dokumen yang mirip
Basis Data. DDL & Aturan Referential

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9)

Strctured Query Language BASIS DATA

LAPORAN PRAKTIKUM BASIS DATA MODUL 3 CONDITIONAL SQL MIKA PURNAMASARI NASTADINA

Strctured Query Language BASIS DATA

BAB III MODEL DATA RELASIONAL DAN ALJABAR RELASIONAL

Sistem Basis Data. Pertemuan 13 SQL INSERT & SELECT TUJUAN

Pertemuan 10 Structure Query Language(SQL)

SQL Data Definition Language (DDL)

MENAMPILKAN DATA MENGGUNAKAN SQL SELECT

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL

S Q L. Sejarah SQL. Penulisan Perintah SQL. SQL (Structure Query Language)

Structured Query Language

B a s i s D a t a. Tatap MUka. SQL Query & Agregate Function. Arif Basofi PENS

Oracle Academic Initiative

BASIS DATA I/2011-GANJIL MODEL RELASIONAL. Oleh Team Teaching Database. 12 Oktober 2011 BASIS DATA I/2011-GANJIL 1

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

Basis Data 1. Dasar SQL Query. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL)

Oracle Academic Initiative

Untuk menampilkan data-data yang telah tersimpan dalam database diperlukan perintah SELECT, yang dapat dirumuskan sebagai berikut:

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

Contoh SQL Constraint

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

SQL DASAR BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

PERTEMUAN 5 PENGGUNAAN FUNGSI GROUP

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL

IMPLEMENTASI CONSTRAINT UNTUK MENJAMIN KONSISTENSI DAN INTEGRITAS DATA DALAM DATABASE

Pendahuluan. Tujuan MODUL

STRUCTURE QUERY LANGUAGE DDL & DML

PERTEMUAN 2 PEMILIHAN DAN PENGURUTAN DATA

Praktikum Basis Data 13 Structure Query Language 1


SQL (Structured Query Language)

MODUL 5. Advanced Query : Pemilihan dan Pengurutan Data PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

PERTEMUAN 11 CONSTRAINT. Tujuan Pembelajaran : Memahami definisi Constraint Dapat Membuat Constraint Dapat Melakukan pemeliharaan Constraint

System Technology Database 1. 2 Model Relational. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

Modul 3 : Query Penggabungan Tabel

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono

Untuk menjalankan Mysql secara konpensional jalankan Mysql.exe pada direktori Mysql\Bin. Akan tampak tampilan sebagai berikut:

BAB 3 MODEL RELASIONAL

PRAKTIKUM 5 SISTEM BASIS DATA JOIN

Microsoft Access 2007

MICROSOFT ACCESS. Database Relationship. Basis Data Relationship Database and Query - Teknik Informatika UNSIL Page 1

Basis Data I. Pertemuan Ke-4 & ke-5 (Model Relasional Part 1) Noor Ifada.

15-Jan DATABASE - MySQL. Database. Constraints. Tujuan: Memahami perintah-perintah dasar DDL dan DML

Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel

BAB 11 FUNGSI-FUNGSI SQL SERVER

Data Manipulation Language (DML)

Oracle Academic Initiative

BAB V. Basis Data Darmawan Satyananda 74

Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng

BAB III STRUCTURED QUERY LANGUAGE (SQL)

MODUL 3. View PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Pertemuan 4 Menampilkan/Mengambil Data Dari Database

Microsoft Access 2007

INTERNET PROGRAMMING DATABASE

@Tessy Badriyah, SKom. MT. PERTEMUAN 12 VIEW

Praktikum Basis Data (Database Server MySQL) Bekerja Dengan Tabel

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

Konsep Sistem Informasi B. BAB 2 - SQL Overview

DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc.

MODUL 1. Pembuatan tabel, pendefinisian constraint, export dan import PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Basis Data. Structured Query Language (SQL)

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini:

S Q L STRUCTURED QUERY LANGUAGE DEFINITION MANIPULATION C O N T R O L D M L SELECT INSERT UPDATE DELETE


JAWABAN UAS BASDAT. 1. Analisis Table CV Ayo Baca dan CDM & PDM. Table yang digunakan sebagai berikut

Structured Query Language

MODUL PRAKTIKUM SISTEM BASIS DATA MENGGUNAKAN MICROSOFT SQL SERVER

STRUCTURE QUERY LANGUAGE (SQL)

DAFTAR ISI. DAFTAR ISI... 1 PRAKATA Pengenalan dan Lingkungan Kerja MySQL Tujuan... 4 Dasar Teori... 4 Praktik... 5

Syntax Syntax SQL. Untuk lebih jelasnya dapat dilihat sebagai berikut : 1. DDL (Definition Data Language) a. CREATE

Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle.

BAB 5 MANIPULASI DATA

MODUL 3 PENGELOMPOKAN, PENGURUTAN, KRITERIA DATA, AGREGASI

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

Praktikum Basis Data 2017 TE UM

3 rd DML : Selection(3)

Arsitektur Basis Data Oracle

Contoh SQL Constraint

Perangkat Lunak Pengembangan Web

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

Praktikum Basis Data 14 Structure Query Language 2

Oracle Academic Initiative

PERTEMUAN 4 Model Data Relational

PERINTAH SQL DAN INTERKONEKSI PHP-MySQL

Sistem Basis Data 1. Pertemuan 5 dan 6 Aljabar Relasional dan SQL Rogayah, ST.,MMSI Untuk 3DB01 dan 3DB04

PRAKTIKUM 4 MENGURUTKAN DAN MENYARING DATA 24 Hasilnya akan sama dengan : SELECT KodeBuku, Judul FROM Buku ORDER BY Judul; Karena secara default data

MODUL II SQL A. TUJUAN

Latihan : Sebutkan record berapa saja yang akan ditampilkan berdasarkan perintah berikut :

MODUL 4 INTERNET PROGRAMMING DATABASE

MODUL II. Instalasi OracleXE Dan SQL

Pengenalan Structured Query Language

Data Manipulation Language (DML) merupakan bahasa basis data yang berguna untuk melakukan modifikasi dan pengambilan data pada suatu basis data

Perkenalan SQL. Ada empat macam tipe database yaitu hirarki, jaringan, relasional, dan objek.

STRUCTURE QUERY LANGUAGE

Transkripsi:

Mahasiswa memahami fungsi-fungsi lain di dalam SQL Mahasiswa memahami tentang operasi agregasi Mahasiswa mampu mengaplikasikan operasi agregasi 2

Review Klausa Where Filter Perbandingan Like IN dan NOT IN Order By Fungsi Agregate Group By Having JOIN

5

Integrity constraint merupakan cara deklaratif untuk mendefinisikan rule pada kolom suatu table. 6

1. NOT NULL constraints constraint ini digunakan untuk aturan yang berhubungan dengan apakah suatu kolom boleh null atau tidak 2. UNIQUE key constraint constraint ini digunakan untuk aturan yang berhubungan dengan nilai kolom yang bersifat unique. 3. PRIMERY KEY constraint constraint ini untuk aturan yang berhubungan dengan pengidentifikasian primary key. 7

4. FOREIGN KEY constraint untuk rule yang berhubungan dengan referential integrity. Constraint ini disebut dengan referential integrity constraint 5. CHECK constraints untuk integrity rules yang bersifat complex 8

Digunakan untuk: menjaga konsistensi barisbaris data antara 2 buah tabel Berkaitan dengan insert, update dan delete data Child Tabel Tabel mahasiswa berelasi dengan tabel dosen Karenanya, referential integrity constraintnya harus diperhatikan dan dijaga Parent Tabel 9

Aturan untuk Update berlaku pada proses modifikasi di parent table Cascade Pembaruan sebuah baris data diikuti dengan pembaruan baris data pada child table yang terelasikan. Restrict mencegah proses pembaruan data jika terdapat baris data di child table yang terelasikan. Ignore mengabaikan referensi. Boleh memperbarui data pada parent, tapi tidak memperbarui data yang berelasi pada child table. 10

Aturan untuk Insert Restrict Tidak boleh menambah data pada child table, jika nilai yang dimasukkan pada kolom yang berelasi tidak terdapat pada parent tabelnya. Ignore mengabaikan referensi. Boleh menambah data pada child, walaupun nilai yang dimasukkan pada kolom yang berelasi tidak terdapat pada parent tabel. 11

12

13

14

15

Dependent relationship dari entitas A terhadap entitas B didefinisikan dengan A sebagian atau seluruhnya diidentifikasi dengan identifier B. 16

CDM PDM 17

Syntax pembuatan tabel [aturan n ] berisi aturan untuk field/kolom ybs, bersifat opsional. Biasanya berupa: NOT NULL DEFAULT<nilai> [aturantabel] berisi aturan-aturan yang berlaku untuk tabel tersebut. Jika aturan lebih dari satu, maka dibatasi oleh tanda koma. Aturan tabel biasanya: primary key (<DaftarKolomKey>) foreign key (<daftarkolomforeignkey>) references <namatabel> (<daftarkolom>) [ON DELETE <aturandelete>] [ON UPDATE <aturanupdate>]) [AturanTabel] bisa diberi nama. Jika diberi nama, maka syntaxnya sbb: CONSTRAINT <namaaturan> <AturanTabel> 19 BASIS DATA TEKNIK INFORMATIKA - ITS

Contoh: Pembuatan tabel Mahasiswa dan set nrp menjadi primary key, nilai default pada jeniskel= L, nipdosen mereferensi ke tabel dosen field nip CREATE TABLE Mahasiswa( NRP CHAR(10) not null, NIP CHAR(18) not null, MHSNAMA VARCHAR2(20), MHSALAMAT VARCHAR2(50), MHSJENISKEL CHAR(1) DEFAULT L, constraint PK_MAHASISWA primary key (NRP), constraint FK_MHS_DSN foreign key (NIP) REFERENCES Dosen(NIP) ); BASIS DATA TEKNIK INFORMATIKA - ITS 20

Contoh CREATE TABLE Mahasiswa (nrp CHAR(10), nama CHAR(20), nip CHAR(10), PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES Dosen ON DELETE CASCADE ON UPDATE CASCADE ) BASIS DATA TEKNIK INFORMATIKA - ITS 21

SELECT [DISTINCT] select_list FROM table_source [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_expression [ASC DESC] ]

Klausa ini biasanya digunakan untuk: 1.Filter (penyaringan) data. 2.Merelasikan/menghubungkan query yang disusun lebih dari satu tabel. o Penerapannya adalah dengan memasukkan suatu ekspresi kondisi setelah klausa WHERE: WHERE <kondisi> o Jika <kondisi> lebih dari satu, maka bisa ditambahkan dengan AND atau OR (sesuai dengan kebutuhan).

Jika kita mengambil informasi dari lebih dari sebuah tabel, maka kita perlu menambahkan kondisi untuk relasi antara kedua tabel tersebut. Pada dasarnya mirip dengan filter, tapi Pada dasarnya mirip dengan filter, tapi fungsinya digunakan untuk merelasikan antara tabel-tabel yang diambil informasinya

No_anggota Nama_Anggota Alamat_anggota Anggota CHAR(5) VARCHAR(50) VARCHAR(100) Menampilkan Judul_VCD, Kategori_VCD, tgl_haruskembali Kode_Sewa No_anggota FK_PENYEWAA_MELAKUKAN_ANGGOTA <pk> Tgl_Sewa Penyewaan CHAR(5) CHAR(5) DATE <pk> <fk> FK_PENYEWAA_TERDIRI_D_PENYEWAA KodeVCD Judul_VCD Kategori_VCD biaya_sewa VCD CHAR(5) FK_PENYEWAA_BERISI_VCD <pk> VARCHAR(50) CHAR(2) CURRENCY Kode_Sewa KodeVCD biaya_sewa tgl_haruskembali tgl_pengembalian denda Penyewaan_detail CHAR(5) CHAR(5) CURRENCY DATE DATE CURRENCY <pk,fk1> <pk,fk2> Judul_VCD dan KategoriVCD bisa diambil dari tabel VCD, tetapi tgl_haruskembali tidak ada pada tabel VCD sehingga haris diambil dari tabel Penyewaan_detail. Kedua tabel tersebut berelasi pada Kode_VCD. Sehingga querynya: SELECT Judul_VCD, Kategori_VCD, tgl_haruskembali FROM VCD, Penyewaan_detail WHERE VCD.KodeVCD=Penyewaan_detail.KodeVCD

Jika ada nama field yang sama dari tabel yang disertakan, maka sebelum nama field, berikan nama tabel diikuti sebuah titik (.) Misal untuk query sebelumnya dengan ditambah menampilkan KodeVCD: SELECT VCD.KodeVCD, VCD.Judul_VCD, VCD.Kategori_VCD, Penyewaan_detail.tgl_harusKembali FROM VCD, Penyewaan_detail WHERE VCD.KodeVCD=Penyewaan_detail.KodeVCD Atau untuk mempersingkat query menggunakan alias SELECT V.KodeVCD, V.Judul_VCD, V.Kategori_VCD, P.tgl_harusKembali FROM VCD V, Penyewaan_detail P WHERE V.KodeVCD=P.KodeVCD

Contoh Menampilkan KodeVCD,Judul_VCD, tgl_haruskembali untuk VCD dengan kategori kartun diurutkan berdasarkan JudulVCD SELECT V.KodeVCD, V.Judul_VCD, P.tgl_harusKembali FROM VCD V, Penyewaan_detail P WHERE V.KodeVCD=P.KodeVCD AND V.Kategori_VCD= kartun ORDER BY V.Judul_VCD

Where untuk filter atau pencarian data di dalam SQL Server bisa dalam beberapa bentuk ekspresi, yakni: operasi pembandingan operasi pendekatan pola operasi pembandingan dengan sekumpulan nilai

Operasi: = < <= >= > <> is Khusus untuk pembanding IS, nilai yang diisikan adalah null, yakni sebuah nilai yang belum berisi nilai. nilai null tidak sama dengan nilai 0 pada tipe numerik ataupun string kosong pada tipe string Basis Data Jurusan Teknik Informatika ITS

Contoh menampilkan pegawai yang berjenis kelamin laki-laki: SELECT * FROM Employee WHERE Sex= M menampilkan Pegawai yang tahun kelahirannya lebih dari 1965 SELECT * FROM Employee WHERE year(bdate) > 1965 menampilkan Pegawai wanita yang lahir di bulan Juli: SELECT * FROM Employee WHERE Sex= F AND month(bdate)=6 menampilkan idkoleksi yang belum dikembalikan (TglKembali belum terisi) SELECT * FROM Peminjaman WHERE TglKembali IS NULL Basis Data Jurusan Teknik Informatika ITS

Operasi ini, hanya untuk pembandingan nilai bertipe string Digunakan untuk mengenali string-string yang memiliki pola tertentu. Di dalam operasi ini, digunakan simbol-simbol berikut: simbol % (Oracle) atau *(ms. Access) artinya mewakili 0 s/d tak terhingga dari sembarang karakter simbol _ artinya mewakili 1 sembarang karakter Basis Data Jurusan Teknik Informatika ITS

Contoh Menampilkan pegawai yang tinggal di Houston SELECT * FROM Employee WHERE Address LIKE %houston&" menampilkan Pegawai yang huruf ketiga namanya adalah m : SELECT SSN, Fname FROM Employee WHERE FName LIKE d%"? dan _ mewakili satu karakter? : access _ : oracle Basis Data Jurusan Teknik Informatika ITS

Ekspresi ini digunakan untuk membandingkan dengan sebuah kumpulan nilai Kumpulan nilai bisa berupa: nilai-nilai yang diisikan query tunggal query yg hasilnya hanya terdapat sebuah kolom saja Basis Data Jurusan Teknik Informatika ITS

Nilai-nilai yang diisikan, maksudnya kita sendiri yang mengisikan nilai-nilai tersebut di dalam query kita. Contoh Menampilkan pegawai yang terlibat dalam proyek selain nomer 3 dan 10 SELECT W.ESSN, E.Fname, W.PNO FROM Employee AS E, Works_on AS W WHERE W.PNO NOT IN (3,10) and W.ESSN=E.SSN; Basis Data Jurusan Teknik Informatika ITS

Query tunggal, yakni nilai-nilai yang digunakan sebagai pembanding diambil dari sebuah query tunggal yang hasilnya hanya satu kolom saja Contoh Menampilkan data pegawai yang tidak pernah terlibat dalam proyek SELECT SSN, Fname FROM Employee WHERE SSN NOT IN (Select distinct ESSN From Works_On) menampilkan koleksi yang sedang dipinjam: SELECT * FROM koleksi WHERE idkoleksi IN (SELECT idkoleksi FROM Peminjaman WHERE TglKembali is NULL) Basis Data Jurusan Teknik Informatika ITS

Query yang melibatkan fungsi penghitungan. Fungsi-fungsi tersebut yakni: - COUNT(*) mendapatkan jumlah baris - SUM(kolom) mendapatkan hasil penjumlahan kolom - MAX(kolom) mendapatkan nilai tertinggi - MIN(kolom) mendapatkan nilai terendah - AVG(kolom) mendapatkan nilai rata-rata Basis Data Jurusan Teknik Informatika ITS

Tampilkan rata-rata harga sewa VCD koleksi kartun SELECT AVG (V.Biaya_Sewa) FROM VCD V WHERE V.Kategori_VCD= kartun Tampilkan jumlah VCD SELECT COUNT (*) FROM VCD V

Sintaks: SELECT FROM relation-list WHERE qualification GROUP BY grouping-list [HAVING group-qualification] [DISTINCT] target-list target-list terdiri dari: (a) attribute names, dan (b) terms berisikan operasi-operasi aggregasi (misal, MIN (S.age)). term adalah atribut yang mengandung fungsi agregasi. attribute name yang dituliskan dalam target-list harus juga menjadi subset dari grouping-list. Klausa HAVING digunakan untuk menuliskan spesifikasi terhadapa GROUP 39

Digunakan untuk pengelompokan dari fungsi-fungsi aggregate Yang penting untuk diperhatikan, kolom-kolom yang disertakan setelah GROUP BY harus sama dengan kolom-kolom yang dipilih pada setelah klausa SELECT yg selain fungsi AGGREGATE

SELECT V.Kategori_VCD, AVG (V.Harga_Sewa) FROM VCD V Query ini ilegal! (Mengapa?) SELECT V.Kategori_VCD, AVG (V.Harga_Sewa) FROM VCD V GROUP BY V.Kategori_VCD

Jika untuk filter query biasa kita menggunakan klause where, maka klausa having digunakan untuk filter fungsi-fungsi aggregate. Contoh Menampilkan departemen yang jumlah pegawainya Menampilkan departemen yang jumlah pegawainya lebih dari 2. SELECT DNO, COUNT(*)as [Jumlah Pegawai] FROM Employee GROUP BY DNO HAVING COUNT(*)> 2

Perintah order by digunakan untuk mengurutkan data Order by Asc (ascending) : pengurutan dari kecil ke besar, dari A ke Z Order by Desc (Descending): pengurutan dari besar ke kecil, dari Z ke A) Contoh: Tampilkan gaji pegawai urut dari yang terbesar SELECT SSN, FName, Salary FROM Employee ORDER BY salary DESC;

Contoh: select NAMA,EXTRACT (YEAR FROM TO_DATE(TGL_LHR,'DD-MON- RR')) AS TAHUN FROM MAHASISWA ORDER BY TAHUN ASC