• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
44
0
0

Teks penuh

(1)
(2)

 Mahasiswa memahami fungsi-fungsi lain di

dalam SQL

 Mahasiswa memahami tentang operasi

agregasi

Mahasiswa mampu mengaplikasikan operasi

 Mahasiswa mampu mengaplikasikan operasi

agregasi

(3)

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

(4)
(5)
(6)

 Integrity constraint merupakan cara

deklaratif untuk mendefinisikan rule pada kolom suatu table.

(7)

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 2. UNIQUE key constraint  constraint ini

digunakan untuk aturan yang berhubungan dengan nilai kolom yang bersifat unique.

3. PRIMERY KEY constraint  constraint ini

(8)

4. FOREIGN KEY constraint  untuk rule yang berhubungan dengan referential integrity. Constraint ini disebut dengan referential integrity constraint

5. CHECK constraints untuk integrity rules 5. CHECK constraints untuk integrity rules

yang bersifat complex

(9)

 Digunakan untuk: menjaga konsistensi

baris-baris data antara 2 buah tabel

 Berkaitan dengan insert, update dan delete

data

Child Tabel

Tabel mahasiswa berelasi

Child Tabel

Tabel mahasiswa berelasi

dengan tabel dosen

Karenanya, referential

integrity constraintnya harus diperhatikan dan dijaga

(10)

Aturan untuk Update  berlaku pada proses

modifikasi di parent table

Cascade  Pembaruan sebuah baris data diikuti

dengan pembaruan baris data pada child table yang 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.

(11)

Aturan untuk Insert

 Restrict  Tidak boleh menambah data pada

child table, jika nilai yang dimasukkan pada

kolom yang berelasi tidak terdapat pada parent 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

(12)
(13)
(14)
(15)
(16)

 Dependent relationship dari entitas A

terhadap entitas B didefinisikan dengan A sebagian atau seluruhnya diidentifikasi dengan identifier B.

(17)
(18)
(19)

[aturan ] berisi aturan untuk field/kolom ybs, bersifat opsional. Biasanya

Syntax pembuatan tabel

[aturann] 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>)

(20)

Contoh: Pembuatan tabel Mahasiswa dan set nrp menjadi primary key, nilai default pada jeniskel=”L”, nipdosen mereferensi ke tabel dosen field nip

BASIS DATA TEKNIK INFORMATIKA - ITS 20 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)

(21)

CREATE TABLE Mahasiswa (nrp CHAR(10), nama CHAR(20), nip CHAR(10), Contoh nip CHAR(10), PRIMARY KEY (nrp), FOREIGN KEY (nip) REFERENCES Dosen ON DELETE CASCADE ON UPDATE CASCADE )

(22)
(23)

SELECT [DISTINCT] select_list

FROM table_source

[WHERE search_condition]

[GROUP BY group_by_expression] [HAVING search_condition]

[ORDER BY order_expression [ASC | DESC] ] [ORDER BY order_expression [ASC | DESC] ]

(24)

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).

(25)

 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

(26)

FK_PENYEWAA_MELAKUKAN_ANGGOTA FK_PENYEWAA_T ERDIRI_D_PENYEWAA Anggota No_anggota Nama_Anggota Alamat_anggota CHAR(5) VARCHAR(50) VARCHAR(100) <pk> Penyewaan Kode_Sewa No_anggota Tgl_Sewa CHAR(5) CHAR(5) DAT E <pk> <fk> Penyewaan_detail Kode_Sewa KodeVCD biaya_sewa tgl_harusKembali tgl_pengembalian denda CHAR(5) CHAR(5) CURRENCY DAT E DAT E CURRENCY <pk,fk1> <pk,fk2> Menampilkan Judul_VCD, Kategori_VCD, tgl_harusKembali FK_PENYEWAA_BERISI_VCD VCD KodeVCD Judul_VCD Kategori_VCD biaya_sewa CHAR(5) VARCHAR(50) CHAR(2) CURRENCY <pk>

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

(27)

 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

Penyewaan_detail.tgl_harusKembali FROM VCD, Penyewaan_detail

WHERE VCD.KodeVCD=Penyewaan_detail.KodeVCD

(28)

Contoh

Menampilkan KodeVCD,Judul_VCD, tgl_harusKembali untuk VCD dengan kategori “kartun” diurutkan

berdasarkan JudulVCD

SELECT V.KodeVCD, V.Judul_VCD, P.tgl_harusKembali 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

(29)

Where untuk filter atau pencarian data di dalam SQL Server bisa dalam beberapa bentuk ekspresi, yakni:

 operasi pembandingan  operasi pendekatan polaoperasi pendekatan pola

(30)

Operasi:

= < <= >= > <> is = < <= >= > <> is

Khusus untuk pembanding IS, nilai yang diisikan

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

(31)

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 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

(32)

Operasi ini, hanya untuk pembandingan nilai

bertipe string

Digunakan untuk mengenali string-string yang

memiliki pola tertentu.

Di dalam operasi ini, digunakan simbol-simbol

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

(33)

Contoh

 Menampilkan pegawai yang tinggal di Houston

SELECT * FROM Employee

WHERE Address LIKE “%houston&"

 menampilkan Pegawai yang huruf ketiga namanya adalah

 menampilkan Pegawai yang huruf ketiga namanya adalah “m”:

SELECT SSN, Fname FROM Employee WHERE FName LIKE “__d%"

“?” dan “_” mewakili satu karakter

(34)

Ekspresi ini digunakan untuk membandingkan

dengan sebuah kumpulan nilai

Kumpulan nilai bisa berupa:

nilai-nilai yang diisikan

nilai-nilai yang diisikan

query tunggal

query yg hasilnya hanya terdapat sebuah kolom

saja

(35)

Nilai-nilai yang diisikan, maksudnya kita sendiri yang

mengisikan nilai-nilai tersebut di dalam query kita. Contoh

 Menampilkan pegawai yang terlibat dalam proyek 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

(36)

Query tunggal, yakni nilai-nilai yang digunakan sebagai

pembanding diambil dari sebuah query tunggal yang hasilnya hanya satu kolom saja

Contoh Contoh

 Menampilkan data pegawai yang tidak pernah terlibat dalam

 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)

(37)

 Query yang melibatkan fungsi penghitungan.

 Fungsi-fungsi tersebut yakni:

- COUNT(*)  mendapatkan jumlah baris

- SUM(kolom)  mendapatkan hasil penjumlahan kolom - SUM(kolom)  mendapatkan hasil penjumlahan kolom - MAX(kolom)  mendapatkan nilai tertinggi

- MIN(kolom)  mendapatkan nilai terendah - AVG(kolom)  mendapatkan nilai rata-rata

(38)

SELECT AVG (V.Biaya_Sewa) FROM VCD V

WHERE V.Kategori_VCD=“kartun”

SELECT COUNT (*) FROM VCD V

Tampilkan rata-rata harga sewa VCD koleksi kartun

Tampilkan jumlah VCD

(39)

target-list terdiri dari: (a) attribute names, dan (b) “terms”

berisikan operasi-operasi aggregasi (misal, MIN (S.age)).

SELECT [DISTINCT] target-list

FROM relation-list

WHERE qualification

GROUP BY grouping-list

[HAVING group-qualification]

Sintaks:

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

(40)

 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

kolom-kolom yang dipilih pada setelah klausa SELECT yg selain fungsi AGGREGATE

(41)

 Query ini ilegal! (Mengapa?)

SELECT V.Kategori_VCD, AVG

(V.Harga_Sewa)

FROM VCD V

SELECT V.Kategori_VCD, AVG (V.Harga_Sewa) FROM VCD V

(42)

Jika untuk filter query biasa kita menggunakan

klause where, maka klausa having digunakan

untuk filter fungsi-fungsi aggregate.

Contoh

Contoh

 Menampilkan departemen yang jumlah pegawainya

 Menampilkan departemen yang jumlah pegawainya

lebih dari 2.

SELECT DNO, COUNT(*)as [Jumlah Pegawai] FROM Employee

(43)

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)

besar ke kecil, dari Z ke A)

Contoh: Tampilkan gaji pegawai urut dari

yang terbesar

SELECT SSN, FName, Salary FROM Employee

(44)

select NAMA,EXTRACT (YEAR FROM TO_DATE(TGL_LHR,'DD-MON-RR')) AS TAHUN

FROM MAHASISWA ORDER BY TAHUN ASC

Referensi

Dokumen terkait

Perlu dilakukan penelitian efek ergogenik teofilin, sekaligus untuk mengetahui bagaimana efektivitas- nya dalam menunda kelelahan otot dibandingkan dengan

surat keterangan dari pimpinan redaksi bahwa telah dimuatnya pernyataan pada surat kabar lokal

Jika alat dan bahan lengkap tetapi kurang sesuai dengan gambar rancangan yang Rancangan :.. § Gambar Rancangan § Alur kerja dan

NPV pada soal diatas adalah -22809, NPV (-22809) &lt; 0 yang artinya proyek tersebut ditolak karena investasi yang dilakukan akan mengakibatkan kerugian bagi

Pak Budi ingin agar peserta didik kelas XI IPA 2 melakukan sebuah penyelidikan yang bertujuan untuk mengetahui apakah terdapat gangguan dan kelainan pada organ ginjal jika

Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu  Grafik Sd1 sampai Sd30 Desember 2015.. Data Bulan Maret-Desember 2015 BPAA Sumedang. Datum

gerak benda pada permukaan yang berbeda-beda 8. Menjelaskan berbagai cara memperkecil atau memperbesar gaya gesekan 9.. Kisi-Kisi Soal Untuk Uji Validitas dan Realibilitas

Penerapan model pembelajaran problem based learning (PBL) untuk meningkatkan hasil belajar siswa kelas X-3 pada mata pelajaran sosiologi SMA Negeri Kebakkramat